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

参考资料

原文地址:https://www.cnblogs.com/fenggwsx/p/14252467.html