FFmpeg命令行工具系列四---video参数

一、概述

        上一章简单介绍了一些通用的参数,这一章将重点讲解ffmpeg.exe工具的video相关的参数,video高级参数部分不会在此做讲解,可以参考官方文档:http://ffmpeg.org/ffmpeg.html#Main-options

二、主要内容

注:无特别说明,例子中的视频文件均和ffmpeg.exe在同一目录中。

-vframes number (output)
设置输出的视频帧个数,等同于-frames:v。例如:

ffmpeg  -i 1.3gp -vframes 100 -y out.mp4


-r[:stream_specifier] fps (input/output,per-stream)
设置帧率,单位Hz。
作为输入参数时,忽略任何存储在文件中的时间戳,而是生成恒定帧率对应的时间戳。例如:一个1:30的视频,原来的帧率的25fps,现在将其提高到60,由于帧率加快了,画面也随之变快,原来1:30的视频就会变成可能只有15秒就播完了。所以原来的时间戳将被忽略掉。
作为输出参数时,则会复制或者丢弃一些帧以达到恒定的帧率。如果大于原来的帧率,就会复制一些帧;如果小于则会丢弃一些帧,可能会导致画面卡顿。例如:

ffmpeg  -i 1.3gp -r 10 -y out.mp4


-s[:stream_specifier] size (input/output,per-stream)
设置帧大小
作为输入参数时,这类似于video_size这个私有参数。当帧大小没有存储在文件中或者帧大小是可以配置的时候,这个参数被demuxers接受。例如:raw格式的video或者video抓取器。
作为输出参数时,将scale过滤器插入到对应的过滤器序列的最后。请直接使用scale过滤器在开始或者其它地方插入这个参数。

ffmpeg -i 1.3gp -s 480*320  -y out.mp4

-aspect[:stream_specifier] aspect (output,per-stream)
设置视频的纵横比。
纵横比可以为浮点数,或者比例形式。例如:4:3,16:9,1.3333和1.7777.
如果和-vcodec copy一起使用,将会影响容器级别中存储的纵横比,而不是编码帧中的纵横比。

ffmpeg -i 1.3gp -aspect 16:9  -y out.mp4

-vn (output)
禁止视频录制


-vcodec codec (output)
设置编码解码器,等同于-codec:v。更多的编码解码器及参数请参考官方文档。

ffmpeg -i 1.3gp -vcodec libx264  -y out.mp4

-vf filtergraph (output)
创建过滤器序列,并过滤流。等同于-filter:v。更多的过滤器及参数请参考官方文档。

ffmpeg -i 1.3gp -vf scale  -y out.mp4

你可能感兴趣的:(FFmpeg)