cnblogs/dcrenl/ffmpeg参数使用说明2.html

551 lines
18 KiB
HTML
Raw Permalink Normal View History

2024-09-24 12:43:01 +08:00
<div id="sina_keyword_ad_area2" class="articalContent ">
<p ALIGN="left"><b>附录一(ffmpeg参数说明)</B></P>
<p ALIGN="left">&nbsp;<wbr></P>
<table BORDER="1" CELLSPACING="1" CELLPADDING="0" WIDTH="700">
<tbody>
<tr>
<td>
<p ALIGN="center"><b>【参数】</B></P>
</TD>
<td>
<p ALIGN="center"><b>【说明】</B></P>
</TD>
<td>
<p ALIGN="center"><b>【示例】</B></P>
</TD>
</TR>
<tr>
<td>
<p ALIGN="left">-i "路径"</P>
</TD>
<td>
<p ALIGN="left">指定需要转换的文件路径</P>
</TD>
<td>
<p ALIGN="left">-i "C:\nba.wmv"</P>
</TD>
</TR>
<tr>
<td>
<p ALIGN="left">-y</P>
</TD>
<td>
<p ALIGN="left">覆盖输出文件即如果nba.xxx文件已经存在的话直接覆盖</P>
</TD>
<td>
<p ALIGN="left">&nbsp;<wbr></P>
</TD>
</TR>
<tr>
<td COLSPAN="3">
<p ALIGN="left"><b>&nbsp;<wbr>&nbsp;<wbr></B>
<b>控制画面参数</B></P>
</TD>
</TR>
<tr>
<td>
<p ALIGN="left">-bitexac</P>
</TD>
<td>
<p ALIGN="left">使用标准比特率</P>
</TD>
<td>
<p ALIGN="left">&nbsp;<wbr></P>
</TD>
</TR>
<tr>
<td>
<p ALIGN="left">-vcodec xvid</P>
</TD>
<td>
<p ALIGN="left">使用xvid压缩</P>
</TD>
<td>
<p ALIGN="left">&nbsp;<wbr></P>
</TD>
</TR>
<tr>
<td>
<p ALIGN="left">-s &lt;宽高比&gt;</P>
</TD>
<td>
<p ALIGN="left">指定分辨率大小</P>
</TD>
<td>
<p ALIGN="left">-s 320*240</P>
</TD>
</TR>
<tr>
<td>
<p ALIGN="left">-r &lt;数值&gt;</P>
</TD>
<td>
<p ALIGN="left">帧速率(非标准数值会导致音画不同步【标准值为15或29.97】)</P>
</TD>
<td>
<p ALIGN="left">-r 15</P>
</TD>
</TR>
<tr>
<td>
<p ALIGN="left">-b &lt;比特率&gt;</P>
</TD>
<td>
<p ALIGN="left">指定压缩比特率</P>
</TD>
<td>
<p ALIGN="left">-b 1500</P>
</TD>
</TR>
<tr>
<td>
<p ALIGN="left">-qmin &lt;数值&gt;</P>
</TD>
<td>
<p ALIGN="left">设定最小质量</P>
</TD>
<td>
<p ALIGN="left">-qmin 10</P>
</TD>
</TR>
<tr>
<td>
<p ALIGN="left">-qmax &lt;数值&gt;</P>
</TD>
<td>
<p ALIGN="left">与-qmin相反可以与-qmin同时使用</P>
</TD>
<td>
<p ALIGN="left">-qmax 30</P>
</TD>
</TR>
<tr>
<td>
<p ALIGN="left">-sameq</P>
</TD>
<td>
<p ALIGN="left">使用与源视频相同的质量</P>
</TD>
<td>
<p ALIGN="left">&nbsp;<wbr></P>
</TD>
</TR>
<tr>
<td COLSPAN="3">
<p ALIGN="left"><b>控制声音参数</B></P>
</TD>
</TR>
<tr>
<td>
<p ALIGN="left">-acodec aac</P>
</TD>
<td>
<p ALIGN="left">设定声音编码</P>
</TD>
<td>
<p ALIGN="left">&nbsp;<wbr></P>
</TD>
</TR>
<tr>
<td>
<p ALIGN="left">-ac &lt;数值&gt;</P>
</TD>
<td>
<p ALIGN="left">设定声道数1为单声道2为立体声</P>
</TD>
<td>
<p ALIGN="left">-ac 2</P>
</TD>
</TR>
<tr>
<td>
<p ALIGN="left">-ar &lt;采样率&gt;</P>
</TD>
<td>
<p ALIGN="left">设定声音采样率(80001102522050)</P>
</TD>
<td>
<p ALIGN="left">-ar 22050</P>
</TD>
</TR>
<tr>
<td>
<p ALIGN="left">-ab &lt;比特率&gt;</P>
</TD>
<td>
<p ALIGN="left">设定声音比特率(-ac设为立体声时要以一半比特率来设置比如192kbps的就设成96)</P>
</TD>
<td>
<p ALIGN="left">-ab 96</P>
</TD>
</TR>
<tr>
<td>
<p ALIGN="left">-vol &lt;百分比&gt;</P>
</TD>
<td>
<p ALIGN="left">设定音量大小比如设定200就会比原来的音量大2倍</P>
</TD>
<td>
<p ALIGN="left">-vol 200</P>
</TD>
</TR>
</TBODY>
</TABLE>
ffmpeg.exe -i F:\闪客之家\闪客之歌.mp3 -ab 56 -ar 22050 -b 500 -r 15 -s
320x240 f:\11.flv<br />
ffmpeg -i F:\01.wmv -ab 56 -ar 22050 -b 500 -r 15 -s 320x240
f:\test.flv<br />
使用-ss参数 作用time_off set the start time
offset可以从指定时间点开始转换任务。如:<br />
转换文件格式的同时抓缩微图:<br />
ffmpeg -i "test.avi" -y -f image2 -ss 8 -t 0.001 -s 350x240
'test.jpg'<br />
对已有flv抓图<br />
ffmpeg -i "test.flv" -y -f image2 -ss 8 -t 0.001 -s 350x240
'test.jpg'<br />
-ss后跟的时间单位为秒<br />
Ffmpeg转换命令<br />
ffmpeg -y -i test.mpeg -bitexact -vcodec h263 -b 128 -r 15 -s
176x144 -acodec aac -ac 2 -ar 22500<br />
-ab 24 -f 3gp test.3gp<br />
或者<br />
ffmpeg -y -i test.mpeg -ac 1 -acodec amr_nb -ar 8000 -s 176x144 -b
128 -r 15 test.3gp<br />
ffmpeg参数设定解说<br />
-bitexact 使用标准比特率<br />
-vcodec xvid 使用xvid压缩<br />
-s 320x240 指定分辨率<br />
-r 29.97 桢速率可以改确认非标准桢率会导致音画不同步所以只能设定为15或者29.97<br />
画面部分,选其一<br />
-b &lt;比特率&gt;
指定压缩比特率似乎ffmpeg是自动VBR的指定了就大概是平均比特率比如7681500这样的<br />
就是原来默认项目中有的<br />
-qscale &lt;数值&gt;
&lt;数值&gt;质量为基础的VBR取值0.01-255约小质量越好<br />
-qmin &lt;数值&gt;
设定最小质量,与-qmax设定最大质量共用比如-qmin 10 -qmax 31<br />
-sameq 使用和源同样的质量<br />
声音部分<br />
-acodec aac 设定声音编码<br />
-ac &lt;数值&gt;
设定声道数1就是单声道2就是立体声转换单声道的TVrip可以用1节省一半容量高品质<br />
的DVDrip就可以用2<br />
-ar &lt;采样率&gt; 设定声音采样率PSP只认24000<br />
-ab &lt;比特率&gt;
设定声音比特率,前面-ac设为立体声时要以一半比特率来设置比如192kbps的就设成96转换<br />
君默认比特率都较小要听到较高品质声音的话建议设到160kbps80以上<br />
-vol &lt;百分比&gt;
设定音量某些DVDrip的AC3轨音量极小转换时可以用这个提高音量比如200就是原来的2倍<br />
这样要得到一个高画质音质低容量的MP4的话首先画面最好不要用固定比特率而用VBR参数让程序自己去<br />
判断,而音质参数可以在原来的基础上提升一点,听起来要舒服很多,也不会太大(看情况调整<br />
<br />
例 子ffmpeg -y -i "1.avi" -title "Test" -vcodec xvid -s 368x208 -r
29.97 -b 1500 -acodec aac -ac 2 -ar 24000 -ab 128 -vol 200 -f psp
-muxvb 768 "1.***"<br />
解释以上命令可以在Dos命令行中输入也可以创建到批处理文件中运行。不过前提是要在ffmpeg所在的目录中执行转换君所在目录下面的cores子目录<br />
参数:<br />
-y覆盖输出文件即如果1.***文件已经存在的话,不经提示就覆盖掉了)<br />
-i "1.avi"输入文件是和ffmpeg在同一目录下的1.avi文件可以自己加路径改名字<br />
-title "Test"在PSP中显示的影片的标题<br />
-vcodec xvid使用XVID编码压缩视频不能改的<br />
-s 368x208输出的分辨率为368x208注意片源一定要是16:9的不然会变形<br />
-r 29.97(帧数,一般就用这个吧)<br />
-b 1500视频数据流量用-b xxxx的指令则使用固定码率数字随便改1500以上没效果还可以用动态码率如-qscale
4和-qscale 64的质量比6高<br />
-acodec aac音频编码用AAC<br />
-ac 2声道数1或2<br />
-ar 24000声音的采样频率好像PSP只能支持24000Hz<br />
-ab 128音频数据流量一般选择32、64、96、128<br />
-vol 200200%的音量,自己改)<br />
-f psp输出psp专用格式<br />
-muxvb 768好像是给PSP机器识别的码率一般选择384、512和768我改成1500PSP就说文件损坏了<br />
"1.***"(输出文件名,也可以加路径改文件名)<br />
<br />
机器强劲的话,可以多开几个批处理文件,让它们并行处理。<br />
E:\ffmpeg.exe -i I:\1.wmv -b 360 -r 25 -s 320x240 -hq -deinterlace
-ab 56 -ar 22050 -ac 1 D:\2.flv<br />
===========================================<br />
ffmpeg.exe -i F:\闪客之家\闪客之歌.mp3 -ab 56 -ar 22050 -b 500 -r 15 -s
320x240 f:\11.flv ffmpeg -i F:\01.wmv -ab 56 -ar 22050 -b 500 -r 15
-s 320x240 f:\test.flv 使用-ss参数 作用time_off set the start time
offset可以从指定时间点开始转换任务。如:<br />
转换文件格式的同时抓缩微图:<br />
ffmpeg -i "test.avi" -y -f image2 -ss 8 -t 0.001 -s 350x240
'test.jpg'<br />
对已有flv抓图<br />
ffmpeg -i "test.flv" -y -f image2 -ss 8 -t 0.001 -s 350x240
'test.jpg'<br />
-ss后跟的时间单位为秒 Ffmpeg转换命令<br />
ffmpeg -y -i test.mpeg -bitexact -vcodec h263 -b 128 -r 15 -s
176x144 -acodec aac -ac 2 -ar 22500 -ab 24 -f 3gp test.3gp<br />
或者<br />
ffmpeg -y -i test.mpeg -ac 1 -acodec amr_nb -ar 8000 -s 176x144 -b
128 -r 15 test.3gp ffmpeg参数设定解说<br />
-bitexact 使用标准比特率<br />
-vcodec xvid 使用xvid压缩<br />
-s 320x240 指定分辨率<br />
-r 29.97 桢速率可以改确认非标准桢率会导致音画不同步所以只能设定为15或者29.97<br />
<br />
<br />
画面部分,选其一<br />
-b &lt;比特率&gt;
指定压缩比特率似乎ffmpeg是自动VBR的指定了就大概是平均比特率比如7681500这样的就是原来默认项目中有的<br />
-qscale &lt;数值&gt;
&lt;数值&gt;质量为基础的VBR取值0.01-255约小质量越好<br />
-qmin &lt;数值&gt;
设定最小质量,与-qmax设定最大质量共用比如-qmin 10 -qmax 31<br />
-sameq 使用和源同样的质量 声音部分<br />
-acodec aac 设定声音编码<br />
-ac &lt;数值&gt;
设定声道数1就是单声道2就是立体声转换单声道的TVrip可以用1节省一半容量高品质的DVDrip就可以用2<br />
-ar &lt;采样率&gt; 设定声音采样率PSP只认24000<br />
-ab &lt;比特率&gt;
设定声音比特率,前面-ac设为立体声时要以一半比特率来设置比如192kbps的就设成96转换君默认比特率都较小要听到较高品质声音的话建议设到160kbps80以上<br />
-vol &lt;百分比&gt;
设定音量某些DVDrip的AC3轨音量极小转换时可以用这个提高音量比如200就是原来的2倍
这样要得到一个高画质音质低容量的MP4的话首先画面最好不要用固定比特率而用VBR参数让程序自己去判断而音质参数可以在原来的基础上提升一
点,听起来要舒服很多,也不会太大(看情况调整 例子ffmpeg -y -i "1.avi" -title "Test"
-vcodec xvid -s 368x208 -r 29.97 -b 1500 -acodec aac -ac 2 -ar
24000 -ab 128 -vol 200 -f psp -muxvb 768 "1.***"<br />
<br />
解释以上命令可以在Dos命令行中输入也可以创建到批处理文件中运行。不过前提是要在ffmpeg所在的目录中执行转换君所在目录下面的cores子目录<br />
参数:<br />
-y覆盖输出文件即如果1.***文件已经存在的话,不经提示就覆盖掉了)<br />
-i "1.avi"输入文件是和ffmpeg在同一目录下的1.avi文件可以自己加路径改名字<br />
-title "Test"在PSP中显示的影片的标题<br />
-vcodec xvid使用XVID编码压缩视频不能改的<br />
-s 368x208输出的分辨率为368x208注意片源一定要是16:9的不然会变形<br />
-r 29.97(帧数,一般就用这个吧)<br />
-b 1500视频数据流量用-b xxxx的指令则使用固定码率数字随便改1500以上没效果还可以用动态码率如-qscale
4和-qscale 64的质量比6高<br />
-acodec aac音频编码用AAC<br />
-ac 2声道数1或2<br />
-ar 24000声音的采样频率好像PSP只能支持24000Hz<br />
-ab 128音频数据流量一般选择32、64、96、128<br />
-vol 200200%的音量,自己改)<br />
-f psp输出psp专用格式<br />
-muxvb 768好像是给PSP机器识别的码率一般选择384、512和768我改成1500PSP就说文件损坏了<br />
"1.***"(输出文件名,也可以加路径改文件名)<br />
<br />
P.S. 版主机器强劲的话,可以多开几个批处理文件,让它们并行处理。 E:\ffmpeg.exe -i I:\1.wmv -b 360
-r 25 -s 320x240 -hq -deinterlace -ab 56 -ar 22050 -ac 1
D:\2.flv<br />
<br />
<br />
<br />
Ffmpeg使用语法<br />
<br />
ffmpeg [[options][`-i' input_file]]... {[options]
output_file}...<br />
<br />
如果没有输入文件,那么视音频捕捉就会起作用。<br />
<br />
作为通用的规则,选项一般用于下一个特定的文件。如果你给 -b
64选项改选会设置下一个视频速率。对于原始输入文件格式选项可能是需要的。<br />
<br />
缺省情况下ffmpeg试图尽可能的无损转换采用与输入同样的音频视频参数来输出。<br />
<br />
3选项<br />
<br />
a) 通用选项<br />
<br />
-L license<br />
<br />
-h 帮助<br />
<br />
-fromats 显示可用的格式,编解码的,协议的。。。<br />
<br />
-f fmt 强迫采用格式fmt<br />
<br />
-I filename 输入文件<br />
<br />
-y 覆盖输出文件<br />
<br />
-t duration 设置纪录时间 hh:mm:ss[.xxx]格式的记录时间也支持<br />
<br />
-ss position 搜索到指定的时间 [-]hh:mm:ss[.xxx]的格式也支持<br />
<br />
-title string 设置标题<br />
<br />
-author string 设置作者<br />
<br />
-copyright string 设置版权<br />
<br />
-comment string 设置评论<br />
<br />
-target type 设置目标文件类型(vcd,svcd,dvd)
所有的格式选项(比特率,编解码以及缓冲区大小)自动设置,只需要输入如下的就可以了:<br />
ffmpeg -i myfile.avi -target vcd /tmp/vcd.mpg<br />
<br />
-hq 激活高质量设置<br />
<br />
-itsoffset offset
设置以秒为基准的时间偏移,该选项影响所有后面的输入文件。该偏移被加到输入文件的时戳,定义一个正偏移意味着相应的流被延迟了
offset秒。 [-]hh:mm:ss[.xxx]的格式也支持<br />
<br />
b) 视频选项<br />
<br />
-b bitrate 设置比特率缺省200kb/s<br />
<br />
-r fps 设置帧频 缺省25<br />
<br />
-s size 设置帧大小 格式为WXH 缺省160X128.下面的简写也可以直接使用:<br />
Sqcif 128X96 qcif 176X144 cif 252X288 4cif 704X576<br />
<br />
-aspect aspect 设置横纵比 4:3 16:9 或 1.3333 1.7777<br />
<br />
-croptop size 设置顶部切除带大小 像素单位<br />
<br />
-cropbottom size -cropleft size -cropright size<br />
<br />
-padtop size 设置顶部补齐的大小 像素单位<br />
<br />
-padbottom size -padleft size -padright size -padcolor color
设置补齐条颜色(hex,6个16进制的数红:绿:兰排列,比如 000000代表黑色)<br />
<br />
-vn 不做视频记录<br />
<br />
-bt tolerance 设置视频码率容忍度kbit/s<br />
<br />
-maxrate bitrate设置最大视频码率容忍度<br />
<br />
-minrate bitreate 设置最小视频码率容忍度<br />
<br />
-bufsize size 设置码率控制缓冲区大小<br />
<br />
-vcodec codec 强制使用codec编解码方式。 如果用copy表示原始编解码数据必须被拷贝。<br />
<br />
-sameq 使用同样视频质量作为源VBR<br />
<br />
-pass n 选择处理遍数1或者2。两遍编码非常有用。第一遍生成统计信息第二遍生成精确的请求的码率<br />
<br />
-passlogfile file 选择两遍的纪录文件名为file<br />
<br />
<br />
c)高级视频选项<br />
<br />
-g gop_size 设置图像组大小<br />
<br />
-intra 仅适用帧内编码<br />
<br />
-qscale q 使用固定的视频量化标度(VBR)<br />
<br />
-qmin q 最小视频量化标度(VBR)<br />
<br />
-qmax q 最大视频量化标度(VBR)<br />
<br />
-qdiff q 量化标度间最大偏差 (VBR)<br />
<br />
-qblur blur 视频量化标度柔化(VBR)<br />
<br />
-qcomp compression 视频量化标度压缩(VBR)<br />
<br />
-rc_init_cplx complexity 一遍编码的初始复杂度<br />
<br />
-b_qfactor factor 在p和b帧间的qp因子<br />
<br />
-i_qfactor factor 在p和i帧间的qp因子<br />
<br />
-b_qoffset offset 在p和b帧间的qp偏差<br />
<br />
-i_qoffset offset 在p和i帧间的qp偏差<br />
<br />
-rc_eq equation 设置码率控制方程 默认tex^qComp<br />
<br />
-rc_override override 特定间隔下的速率控制重载<br />
<br />
-me method 设置运动估计的方法 可用方法有 zero phods log x1 epzs(缺省) full<br />
<br />
-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<br />
<br />
-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<br />
<br />
-er n 设置错误残留为n 1 FF_ER_CAREFULL 缺省 2 FF_ER_COMPLIANT 3
FF_ER_AGGRESSIVE 4 FF_ER_VERY_AGGRESSIVE<br />
<br />
-ec bit_mask 设置错误掩蔽为bit_mask,该值为如下值的位掩码 1 FF_EC_GUESS_MVS
(default=enabled) 2 FF_EC_DEBLOCK (default=enabled)<br />
<br />
-bf frames 使用frames B 帧支持mpeg1,mpeg2,mpeg4<br />
<br />
-mbd mode 宏块决策 0 FF_MB_DECISION_SIMPLE 使用mb_cmp 1
FF_MB_DECISION_BITS 2 FF_MB_DECISION_RD<br />
<br />
-4mv 使用4个运动矢量 仅用于mpeg4<br />
<br />
-part 使用数据划分 仅用于mpeg4<br />
<br />
-bug param 绕过没有被自动监测到编码器的问题<br />
<br />
-strict strictness 跟标准的严格性<br />
<br />
-aic 使能高级帧内编码 h263+<br />
<br />
-umv 使能无限运动矢量 h263+<br />
<br />
-deinterlace 不采用交织方法<br />
<br />
-interlace 强迫交织法编码
仅对mpeg2和mpeg4有效。当你的输入是交织的并且你想要保持交织以最小图像损失的时候采用该选项。可选的方法是不交织但是损失更大<br />
<br />
-psnr 计算压缩帧的psnr<br />
<br />
-vstats 输出视频编码统计到vstats_hhmmss.log<br />
<br />
-vhook module 插入视频处理模块 module 包括了模块名和参数,用空格分开<br />
<br />
D)音频选项<br />
<br />
-ab bitrate 设置音频码率<br />
<br />
-ar freq 设置音频采样率<br />
<br />
-ac channels 设置通道 缺省为1<br />
<br />
-an 不使能音频纪录<br />
<br />
-acodec codec 使用codec编解码<br />
<br />
E)音频/视频捕获选项<br />
<br />
-vd device 设置视频捕获设备。比如/dev/video0<br />
<br />
-vc channel 设置视频捕获通道 DV1394专用<br />
<br />
-tvstd standard 设置电视标准 NTSC PAL(SECAM)<br />
<br />
-dv1394 设置DV1394捕获<br />
<br />
-av device 设置音频设备 比如/dev/dsp<br />
<br />
<br />
F)高级选项<br />
<br />
-map file:stream 设置输入流映射<br />
<br />
-debug 打印特定调试信息<br />
<br />
-benchmark 为基准测试加入时间<br />
<br />
-hex 倾倒每一个输入包<br />
<br />
-bitexact 仅使用位精确算法 用于编解码测试<br />
<br />
-ps size 设置包大小以bits为单位<br />
<br />
-re 以本地帧频读数据,主要用于模拟捕获设备<br />
<br />
-loop 循环输入流。只工作于图像流用于ffserver测试
</div>