FFmepg常用命令选项
1.常用选项
以一个例子来说明:
首先可以看到这个视频的封装格式为MPEG-4,视频格式为AVC,音频格式为AAC。
ffmpeg-ss 10 -i test.mp4 -t 10 -vcodec copy -acodec copy -f flv -y test.flv
简单分析一下这句命令中的参数
- -ss:表示定位输入文件到 position 指定的位置。在这里是从视频的第10s开始,注意,-ss必须在-i之前。
- -i:指定要输入的文件。
- -t:限制输入/输出的的时间。如果是在 -i 前面,就是限定从输入中读取多少时间的数据;如果是用于限定输出文件,则表示写入多少时间数据后就停止。在这里就是录制10s后结束。
- -vcodec:特定的文件选择编/解码模式,对于输出文件就是编码器,对于输入或者某个流就是解码器。后面参数为视频的编解码格式。这里使用copy相当于采用原来的视频格式
- -acodec:同vcodec
- -f:指定输入/输出文件的封装格式。这里采用flv的封装格式。
- -y:默认自动覆盖输出文件,而不再询问确认。
生成的flv视频文件信息如下图:
2.视频选项
还是以上面的视频文件为例子
ffmpeg -i test.mp4 -vcodec libx264 -vframes 150 -s 1280x720 -aspect "16:9" -f flv -y test01.flv
- -vcodec:后面参数libx264,代表将视频格式转换为h264的格式
- -vframes:设置输出文件的帧数。这里参数为150,视频文件fps为15,录制出来的视频文件大概10s左右
- -s:设置帧的尺寸。这里选择1280x720 。
- -aspect:指定视频的纵横比。这里选择16:9,常见的还有4:3.
- -vn:禁止输出视频。
生成的视频文件信息如下图:
这里音频格式变为MP3是因为flv默认的音频格式为MP3。
3.音频选项
还是以上面的视频文件为例子
ffmpeg -i test.mp4 -vn -aframes 200 -acodec libmp3lame -ac 2 -ar 44100 -y test02.mp3
- -aframes:设置音频帧的输出。
- -acodec:这里参数采用libmp3lame,代表音频格式采用MP3的格式。
- -ac:设置音频通道数。这里设置音频通道为2个。
- -ar:设置采样率。这里设置采样率为44.1Khz。
- -an:禁止输出音频。
生成的音频文件信息如下图: