使用ffmpeg的avfilter实现文件中音频截断与视频截断

1090阅读 0评论2013-12-25 hych007
分类:LINUX

需求: 一个文件,将该文件中的视频部分截取10秒,音频截取20秒,生成为一个文件

那么这个时候通过ffmpeg原有的功能实现起来相对困难一些,所以首先想到的是使用filter来实现

filter部分分为音频filter,视频filter,字幕filter

所以,分析需求后,可以考虑使用音频filter即af,视频filter即vf

在avfilter中,音频视频截断可以通过start_pts与end_pts来进行截断,总的来说,使用trim相关功能既可

命令行大概格式为

音频部分:

点击(此处)折叠或打开

  1. af atrim=start:end
视频部分:

点击(此处)折叠或打开

  1. vf trim=start:end
既可

整条命令为

点击(此处)折叠或打开

  1. ffmpeg -ss 0 -i ~/Movies/yedian.avi -strict -2 -vf trim=0:10 -af atrim=0:20 b.mp4

对应的输出如下:


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


参考文档:


上一篇:flv文件的onMetaData部分解析
下一篇:编译ffmpeg无法生成ffplay的问题解决