ffmpeg是一个非常快的音视频转换器,还可以抓取实时的音频/视频流。它可以在任意的采样率之间进行转换和调整,并同时使用高质量的多相位滤波器。
ffmpeg从输入“文件”(其可以是常规文件,管道,网络流,录制装置等),由指定任意数量的读取-i选项,并写入到任意数量的输出“文件”,只需指定一个输出的文件名。任何一个命令行中不能被解释为选项的内容都被认为是一个输出文件名。
每个输入或输出文件可以在原则上,包含任意数量的不同类型(视频/音频/字幕/附件/数据)的流。输出文件中允许流的数量和类型是由输出格式容器限制决定的。输入流和输出流直接的映射可以自动完成也可以用-map选项给定(见流选择章节)。
引用输入文件的选项时,则必须使用他们的索引(从0开始)。例如:第一输入文件是0 ,第二个是1等。类似地,一个文件中的流也通过其索引指定。例如2:3指的是在第三个输入文件中的第四数据流。参见流章节。
作为一般规则,选项作用于下一个指定的文件。因此,命令的顺序是重要,你可以在命令行上多次相同的选项。每次选项的出现都将作用于下一个输入或输出文件。这条规则若有例外将会提前声明(例如冗余级别)。
不要混合输入和输出文件。首先指定所有输入文件,那么所有的输出文件。也不要混用属于不同的文件的选项。所有选项仅适用于下一个输入或输出文件,之后选项将被重置。
设置输出文件以64千比特/秒的视频比特率:
ffmpeg -i input.avi -b:V 64K -bufsize 64K output.avi
要强制输出文件为24 fps的帧速率:
ffmpeg -i input.avi -r 24 output.avi
要强制输入文件的帧频(仅对原始格式有效),以1 FPS读入文件,以每秒24帧的帧速率输出:
ffmpeg -r 1 -i input.m2v -r 24 output.avi
对于原始输入文件,format 选项可能需要指定。