ffmepg命令行参数
ffmpeg使用
有些选项在每个流中都必须指定,例如比特率bitrate或编解码codec。指定流的字符串一般都会有各参数名称和参数,如编解码"-codec:a:1 ac3"表明第二个流为音频流,使用ac3编码。有的选项可匹配多个流,如"-b:a 128k"指定音频比特率bitrate为128k。空的流选项适用于所有的流,如"-codec copy" 或"-codec: copy"将复制所有流且无需重新编码。流选项的形式可能为stream_index,如"-threads:1 4"将设置线程数为4的流为第二个流。stream_type[:stream_index],type的选项:'v'表示视频,'a'表示音频,'s'表示字幕,'d'表示数据,'t'为附件。p:program_id[:stream_index] ,如果给出stream_index,然后用ID 为program_id 的程序匹配流stream_index,否则匹配所有流。
从文件生成直播流:ffmpeg -i mv.mp4 -f flv udp://localhost:1234
示例:将输出视频比特率设为64kbit/s
ffmpeg -i input.avi -b 64k output.avi
示例:将输出视频帧率强制设置为24fps
ffmpeg -i input.avi -r 24 output.avi
ffmpeg 模拟udp流
ffmpeg -re -i /var/www/10.flv -vcodec mpeg4 -f mpegts udp://localhost:1234
接收流
ffmpeg -y -i udp://localhost:1234 v.yuv (-f rawvideo -pix_fmt uyvy422)
参数:
-i --- 输入,可以为文件或流地址
-f ---视频格式
-version ---版本号-L -h
-formats 显示所有可用的格式,D为解码,E为编码
-codecs ---显示可用的编解码,V:video,A:audio,S:subtitle codec
-bsfs ---显示可用的比特流过滤器bitstream filters
-protocols ---显示支持的协议
-pix_fmts ---显示可用的像素格式pixel formats
-sample_fmts ---显示可用的样本格式
-loglevel | -v loglevel ---设置log级别:quiet、panic、fatal、error、warning、info、verbose、debug,默认为stderr
-f fmt ---强制转换格式
-y ---如输出文件已存在则覆盖原有文件
-t ---时长,传输/捕获视频的时长,以秒为单位,也支持"hh:mm:ss[.xxx]"
-fs ---设置文件大小限制file size
-ss ---位置,查找给定的时间点,以秒为单位,也支持"hh:mm:ss[.xxx]"
-itsoffset ---偏移量,设置输入时间的偏移量,以秒为单位,也支持"hh:mm:ss[.xxx]"
-timestamp time,时间戳,格式:now|([(YYYY-MM-DD|YYYYMMDD)[T|t| ]]((HH[:MM[:SS[.m...]]])|(HH[MM[SS[.m...]]]))[Z|z]),加z表示使用本地时间。
-metadata key=value,设置属性,如设置输出文件的title:ffmpeg -i in.avi -metadata title="my title" out.flv
-v number,设置日志verbosity级别
-target type,目标文件的type:("vcd", "svcd", "dvd", "dv", "dv50", "pal-vcd", "ntsc-svcd", ... ),如:ffmpeg -i myfile.avi -target vcd /tmp/vcd.mpg || ffmpeg -i myfile.avi -target vcd -bf 2 /tmp/vcd.mpg
-dframes number,
-scodec codec,强制对subtitle进行编码
-newsubtitle ,添加新的subtitle
-slang code,Set the ISO 639 language code (3 letters) of the current subtitle
stream.
视频选项
-b
bitrate 设置比特率,缺省200kb/s
-r
fps 设置帧频缺省25
-s
size 设置帧大小格式为WXH
缺省160X128.下面的简写也可以直接使用:
Sqcif
128X96 qcif 176X144 cif 352X288 4cif 704X576 16cif 1408x1152 qqvga
160x120 qvga 320x240 vag 640x480 svga 800x600 xga 1024x768
uxga 1600x1200 qxga2048x1536
-aspect
aspect 设置横纵比4:3
16:9 或1.3333
1.7777
-croptop
size 设置顶部切除带大小像素单位
-cropbottom
size -cropleft size -cropright size
-padtop
size 设置顶部补齐的大小像素单位
-padbottom
size -padleft size -padright size -padcolor color
设置补齐条颜色(hex,6个16进制的数,红:绿:兰排列,比如000000代表黑色)
-vn
不做视频记录disable video recording
-bt
tolerance 设置视频码率容忍度kbit/s
-maxrate
bitrate设置最大视频码率容忍度
-minrate
bitreate 设置最小视频码率容忍度
-bufsize
size 设置码率控制缓冲区大小
-vcodec
codec 强制使用codec编解码方式。如果用copy表示原始编解码数据必须被拷贝。
-sameq
使用同样视频质量作为源(VBR)same
quantizer
-pass
n 选择处理遍数(1或者2)。两遍编码非常有用。第一遍生成统计信息,第二遍生成精确的请求的码率
-passlogfile
file 选择两遍的纪录文件名为file
-newvideo
,添加新的视频流到当前输出流
高级视频选项
-pix_fmt
format,使用‘list’查看可用像素格式项
-g
gop_size 设置图像组大小
-intra
仅适用帧内编码
-qscale
q 使用固定的视频量化标度(VBR)
-qmin
q 最小视频量化标度(VBR)
-qmax
q 最大视频量化标度(VBR)
-qdiff
q 量化标度间最大偏差(VBR)
-qblur
blur 视频量化标度柔化(VBR)
-qcomp
compression 视频量化标度压缩(VBR)
-rc_init_cplx
complexity 一遍编码的初始复杂度
-b_qfactor
factor 在p和b帧间的qp因子
-i_qfactor
factor 在p和i帧间的qp因子
-b_qoffset
offset 在p和b帧间的qp偏差
-i_qoffset
offset 在p和i帧间的qp偏差
-rc_eq
equation 设置码率控制方程默认tex^qComp
-rc_override
override 特定间隔下的速率控制重载
-me
method 设置运动估计的方法可用方法有zero
phods log x1 epzs(缺省)
full
-dct_algo
algo 设置dct的算法可用的有0
FF_DCT_AUTO 缺省的DCT
1 FF_DCT_FASTINT 2 FF_DCT_INT 3 FF_DCT_MMX 4 FF_DCT_MLIB 5
FF_DCT_ALTIVEC
-idct_algo
algo 设置idct算法。可用的有0
FF_IDCT_AUTO 缺省的IDCT
1 FF_IDCT_INT 2 FF_IDCT_SIMPLE 3 FF_IDCT_SIMPLEMMX 4
FF_IDCT_LIBMPEG2MMX
5 FF_IDCT_PS2 6 FF_IDCT_MLIB 7 FF_IDCT_ARM 8 FF_IDCT_ALTIVEC 9
FF_IDCT_SH4 10 FF_IDCT_SIMPLEARM
-er
n 设置错误残留为n
1 FF_ER_CAREFULL 缺省2
FF_ER_COMPLIANT 3 FF_ER_AGGRESSIVE 4 FF_ER_VERY_AGGRESSIVE
-ec
bit_mask 设置错误掩蔽为bit_mask,该值为如下值的位掩码1
FF_EC_GUESS_MVS (default=enabled) 2 FF_EC_DEBLOCK (default=enabled)
-bf
frames 使用frames
B 帧,支持mpeg1,mpeg2,mpeg4
-mbd
mode 宏块决策0
FF_MB_DECISION_SIMPLE 使用mb_cmp
1 FF_MB_DECISION_BITS 2 FF_MB_DECISION_RD
-4mv
使用4个运动矢量仅用于mpeg4
-part
使用数据划分仅用于mpeg4
-bug
param 绕过没有被自动监测到编码器的问题
-strict
strictness 跟标准的严格性
-aic
使能高级帧内编码h263+
-umv
使能无限运动矢量h263+
-deinterlace
不采用交织方法
-interlace
强迫交织法编码仅对mpeg2和mpeg4有效。当你的输入是交织的并且你想要保持交织以最小图像损失的时候采用该选项。可选的方法是
不交织,但是损失更大
-psnr
计算压缩帧的psnr
-vstats
输出视频编码统计到vstats_hhmmss.log
-vhook
module 插入视频处理模块module
包括了模块名和参数,用空格分开
音频选项
-ab
bitrate 设置音频码率
-ar
freq 设置音频采样率
-ac
channels 设置通道缺省为1
-an
不使能音频纪录
-acodec
codec 使用codec编解码
音频/视频捕获选项
-vd
device 设置视频捕获设备。比如/dev/video0
-vc
channel 设置视频捕获通道DV1394专用
-tvstd
standard 设置电视标准NTSC
PAL(SECAM)
-dv1394
设置DV1394捕获
-av
device 设置音频设备比如/dev/dsp
高级选项
-map
file:stream 设置输入流映射
-debug
打印特定调试信息
-benchmark
为基准测试加入时间
-hex
倾倒每一个输入包
-bitexact
仅使用位精确算法用于编解码测试
-ps
size 设置包大小,以bits为单位
-re
以本地帧频读数据,主要用于模拟捕获设备
-loop
循环输入流。只工作于图像流,用于ffserver测试
-title
string 设置标题
-author
string 设置作者
-copyright
string 设置版权
-comment
string 设置评论
-hq
激活高质量设置
ffmepg命令行参数的更多相关文章
- python处理命令行参数
直接从命令行执行py文件的时候如果带有参数,如何获取这些参数,如何解析? http://blog.chinaunix.net/uid-20786165-id-3182268.html sys.argv ...
- .NET Core采用的全新配置系统[5]: 聊聊默认支持的各种配置源[内存变量,环境变量和命令行参数]
较之传统通过App.config和Web.config这两个XML文件承载的配置系统,.NET Core采用的这个全新的配置模型的最大一个优势就是针对多种不同配置源的支持.我们可以将内存变量.命令行参 ...
- Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数.n 是一个数字,表示第几个参数.例如,第一个参数是$1,第二个参数是$2. $# 传递给脚本或函数的参数个数. $* 传 ...
- powershell脚本,命令行参数传值,并绑定变量的例子
这是小技巧文章,所以文章不长.但原创唯一,非常重要.我搜了下,还真没有人发 powershell怎样 [命令行 参数 绑定],所以我决定写成博客. 搜索关键字如下: powershell 命令行 参数 ...
- VS2013 带命令行参数的调试问题 解决方案
int main(int argc,char* argv[]) argc是命令行总的参数个数,argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数命令行后面跟的用户输入的参数 比如: ...
- 使用getopt()处理命令行参数
假设有一程序 testopt,其命令行选项参数有: -i 选项 -l 选项 -r 选项 -n <值> 带关联值的选项 则处理 ...
- 7z命令行参数中的路径
最近在自动化的过程中用到了7z命令行工具,发现其参数中的路径挺有意思的,在此总结一下.本文中所有demo使用的7z版本为:15.14 x64. 压缩某个文件夹 下面的命令会把g:\temp\目录和目录 ...
- [转]Python 命令行参数和getopt模块详解
FROM : http://www.tuicool.com/articles/jaqQvq 有时候我们需要写一些脚本处理一些任务,这时候往往需要提供一些命令行参数,根据不同参数进行不同的处理,在Pyt ...
- 你可能不知道的Google Chrome命令行参数
概述: 关于Google Chrome命令行参数(英文叫Google Chrome Command line switches),是Chrome为了实现实验性功能.方便调试. ...
随机推荐
- su认证失败??? su root 输入命令后显示 "su:Authentication failure"
原因:安装的时候没有给root设置密码 解决办法如下:
- sdut-2725-The Urge to Merge-状压DP
把数组竖起来,从上往下走. 如果当前位置是竖着乘的,那么第一个点标记为1.否则标记为0. 样例最终的状态为: 0 0 1 0 1 0 1 0 0 0 0 0 #include<iostream& ...
- web项目学习之spring-security
转自<http://liukai.iteye.com/blog/982088> spring security功能点总结: 1. 登录控制 2. 权限控制(用户菜单的显示,功能点访问控制) ...
- c# 字符串转化成声音 分类: C# 2014-09-24 12:20 316人阅读 评论(0) 收藏
说明: (1)支持Window 7系统,但是xp系统智能朗读英文和数字: (2)添加引用 Interop.SpeechLib.dll; (3)使用时调用StringToVoice(str)即可. us ...
- 【设计模式 - 11】之享元模式(FlyWeight)
1 模式简介 当系统中存在大量对象时,非常容易造成内存溢出.为了解决这个问题,我们把这些对象中共有的部分抽象出来,如果有相同的业务请求,则直接返回在内存中已有的对象,避免重新创建,这就是享元 ...
- iOS开发总结-搜索功能实现--使用SKTag
TagsTableViewController.h 文件 #import <UIKit/UIKit.h> #import "personSearch.h" @inter ...
- PHP本地环境搭配——WAMP不能启动, 一直处于红色图标或者橙色图标的解决办法
WAMP不能启动, 一直处于红色图标(正常启动为绿色吧) 考虑是端口的问题,我找到wamp文件夹中的wamp\bin\apache\apache2.2.22\conf路径下的httpd.conf文件, ...
- 程序猿接私活经验总结,来自csdn论坛语录
下面为网上摘录,以做笔记: 但是到网上看看,似乎接私活也有非常多不easy,技术问题本身是个因素,还有非常多有技术的人接私活时被骗,或者是合作到最后以失败告终,所以想请有经验的大侠们出来指点一下,接私 ...
- jQuery支持mobile的全屏水平横向翻页效果
这是一款支持移动手机mobile设备的jQuery全屏水平横向翻页效果插件. 该翻页插件能够使页面在水平方向上左右全屏翻动,它支持手机触摸屏,支持使用鼠标滚动页面. 整个页面过渡平滑,效果很不错. 在 ...
- docker 镜像中包含数据库环境和运行环境
需求: 一个镜像中要包含数据库环境和运行环境 Apache 环境 + mariadb 已经在拉取了Apache的运行环境 - 拉取代码 git https://github.com/timhaak/d ...