ffmpeg的一些基本操作
格式转换
ffmpeg -i input.flv -f mp4 output.mp4
参数说明:
-i
: 被处理的多媒体文件
-f
: 转换的目标格式
提取视频
ffmpeg -i input.mp4 -an -vcodec copy output.mp4
参数说明:
-an
: 该参数不许需要指定值,意义为不需要音频数据
-vcodec
: 视频编解码处理方式
提取音频
ffmpeg -i input.mp4 -acodec copy -vn output.acc
ffmpeg -i input.mp4 -vn output.mp3
参数说明:
-vn
: 该参数不许需要指定值,意义为不需要视频数据
-acodec
: 音频编解码处理方式
视频剪切
下面的指令将截取出一个从第 15 秒开始持续 15 秒的视频片段:
ffmpeg -ss 00:00:15 -t 00:00:15 -i input.mp4 -c copy output.mp4
-ss
: 表示开始切割的时间
-t
: 表示要切多少
达成相同效果,也可以用 -ss
和 -to
选项, 从第 15 秒截取到第 30 秒:
ffmpeg -ss 00:00:15 -to 00:00:30 -i input.mp4 -c copy output.mp4
参数说明:
-to
: 表示结束切割的时间
但是值得注意的是,ffmpeg 为了加速,会使用关键帧技术, 所以有时剪切出来的结果在起止时间上未必准确。 通常来说,把 -ss
选项放在 -i
之前,会使用关键帧技术,速度会较快; 把 -ss
选项放在 -i
之后,则不使用关键帧技术,速度会较慢,下面的指令将不使用关键帧技术剪切视频:
ffmpeg -i input.mp4 -ss 00:00:15 -to 00:00:30 -c copy output.mp4