需求: 一个文件,将该文件中的视频部分截取10秒,音频截取20秒,生成为一个文件
那么这个时候通过ffmpeg原有的功能实现起来相对困难一些,所以首先想到的是使用filter来实现
filter部分分为音频filter,视频filter,字幕filter
所以,分析需求后,可以考虑使用音频filter即af,视频filter即vf
在avfilter中,音频视频截断可以通过start_pts与end_pts来进行截断,总的来说,使用trim相关功能既可
命令行大概格式为
音频部分:
点击(此处)折叠或打开
- af atrim=start:end
点击(此处)折叠或打开
- vf trim=start:end
整条命令为
点击(此处)折叠或打开
- ffmpeg -ss 0 -i ~/Movies/yedian.avi -strict -2 -vf trim=0:10 -af atrim=0:20 b.mp4
对应的输出如下:

然后使用mplayer播放一下既可感受到效果,图中的效果即播放视频播放了10秒,但是音频还在继续的播放着

参考文档: