2007年5月23日星期三

FFmpeg命令详解

写了编译指南,顺便就把命令详解也写上吧。
先占座,等我想起来再写。
想起来了,开始写:
===============华丽的分隔线===============
FFmpeg的命令格式是这样的:
ffmpeg [[infile options][`-i' infile]]... {[outfile options] outfile}...
infile options 代表输入文件的参数,outfile options 代表输出文件的参数,FFmpeg参数过多,所以只介绍一些常用参数,不求完整,但求详细。
===============华丽的分隔线===============
一般设置:
-f fmt 强制使用多媒体文件格式 fmt;
-i filename 以 filename 作为输入文件;
-y 自动覆盖同名文件;
-t duration 设置记录时间为 duration 秒,除了默认以秒为单位,还支持 hh:mm:ss[.xxx] 格式作为输入;
-ss position 搜索到指定的时间 position ,格式同-t ;
-title string 设置标题;
-author string 设置作者。
视频设置:
-b bitrate 设置比特率为 bitrate ,例如 512k ;
-bt tolerance 设置视频码率误差容忍度为 tolerance bits/s ,例如为 2000 代表误差不超过 2000 bit/s ,但是就我的使用经验,即使指定了误差,整个编码过程照样如同天马行空一般;
-r fps 设置帧频,例如 24 代表每秒 24 帧;
-s size 设置分辨率,格式为 WxH ,例如 720x480 ,缺省为160X128 ,也可以直接使用下面的简写:
sqcif 128X96 、qcif 176X144 、cif 252X288 、4cif 704X576 ;
-aspect aspect 设置横纵比为 aspect ,可以是 4:3 16:9 或 1.3333 1.7777 ;
-vn 不使用视频;
-vcodec codec 强制使用指定视频 codec 编解码。
音频设置:
-ab bitrate 设置音频码率为 bitrate ,例如 128k ;
-ar freq 设置音频采样率为 freq ,例如 44100Hz ;
-ac channels 设置声道数为 channels ,例如 1 就是单声道,2 就是双通道立体声;
-an 不使用音频;
-acodec codec 强制使用指定音频 codec 编解码。
利用上面的参数解释,将一段DVD中的vob文件转换为avi文件,可以使用以下命令:
ffmpeg -i snatch_1.vob -f avi -vcodec mpeg4 -b 800k -acodec mp3 -ab 128k snatch.avi
===============华丽的分隔线===============
以上参数已经可以应付一般的多媒体文件编码,比如转换PSP可用的mp4文件。
FFmpeg可以从http://ffdshow.faireal.net/mirror/下载,有空准备给它写个界面,就不用每次都输入长长的命令行了。

没有评论: