ffmpeg细节整理记录
ffmpeg细节整理记录
1、-vcodec、-code:v、-c:v
ffmpeg的官方文档 -vcodec 是 -code:v 别名。
-vcodec codec (output) Set the video codec. This is an alias for -codec:v.
也就是说-vcodec
和-codec:v
等价。但是并没有说和-c:v
等价啊。看一下-codec:v
的文档
-c[:stream_specifier] codec (input/output,per-stream) -codec[:stream_specifier] codec (input/output,per-stream) For example ffmpeg -i INPUT -map 0 -c:v libx264 -c:a copy OUTPUT encodes all video streams with libx264 and copies all audio streams.
-codec 和 -c 是等价的。所以 -vcodec 和 -code:v 是等价的。
文档说明 -codec 可以为指定的流设置编码器,具体通过stream_specifier
来指定。
2、调整视频分辨率
1、用-s参数设置视频分辨率,参数值 wxh,w 宽度单位是像素,h 高度单位是像素
ffmpeg -i input_file -s 320x240 output_file
2、预定义的视频尺寸,下面两条命令有相同效果
ffmpeg -i input.avi -s 640x480 output.avi ffmpeg -i input.avi -s vga output.avi
Scale filter调整分辨率
Scale filter的优点是可以使用一些额外的参数:Scale=width:height[:interl={1|-1}]
下面两条命令有相同效果 (-1保持看高比,也可为 -1:1080)
ffmpeg -i input.mpg -s 320x240 output.mp4 ffmpeg -i input.mpg -vf scale=320:240 output.mp4
ffmpeg -i input.mpg -vf scale=1080:-1 output.mp4
-vf是调用video filter,此处用scale filter来改变分辨率进行转码。
对输入视频成比例缩放,改变为源视频一半大小
ffmpeg -i input.mpg -vf scale=iw/2:ih/2 output.mp4
改变为原视频的90%大小:
ffmpeg -i input.mpg -vf scale=iw*0.9:ih*0.9 output.mp4
注:scale只能接受偶数,否则height not divisible by 2。