17.编解码器的选项预设
选项:option
当我们使用某个编解码器时,可能会需要对该编解码器指定很多个选项。为了简化输入,我们可以将这些选项保存在预设文件中,此时选项的文本格式会更加合理易读(一个选项占一行,以kay=value的形式组织),便于组织,而且预设文件可在将来多次使用。
预设文件介绍
预设文件是一个文本文件,其中可以包含特定编解码器的多个选项。每个选项以 key = value 对的形式存在,且一行中 # 符号后的字符表示注释。
一个最简单的预设文件可以仅包含一个选项, mpeg2.ffpreset 就是如此:
vcodec=mpeg2video
此时,如果想要使用 mpeg2video 编解码器来编码输出,我们可以使用命令:
ffmpeg -i input -fpre mpeg2.ffpreset -q 1 MPEG2_video.mpg
下面的命令将输入文件编码为 flv (flash video:即可用flash插件播放的视频格式)文件输出,以便在网页中使用:
ffmpeg -i input.avi -vcodec flv -f flv -r 29.97 -vf scale=320:240 -aspect 4:3 -b:v 300k -g 160 -cmp dct -subcmp dct -mbd 2 -flags +aic+mo0+mv4 -trellis 1 -ac 1 -ar 22050 -b:a 56k output.flv
这个命令非常长,而且在命令行中想要略作修改也不容易,极易写错,因此我们可以将与 flv 编解码器相关的选项保存到一个预设文件 flv.ffpreset 中,这个文件中将包含 flv 编解码器要使用到的诸多选项(这个预设文件没有使用注释):
此时,使用该预设文件的效果和上述相同:
ffmpeg -i input.avi -f flv -r 29.97 -vf scale=320:240 -aspect 4:3 -cmp dct -subcmp dct -fpre flv.ffpreset output.flv
预设文件示例
FFmpeg 文档提供了一些常见的预设文件,其描述如下: