使用ffmpeg的avfilter实现文件中音频截断与视频截断
作者: bbs.chinaffmpeg.com 孙悟空
需求: 一个文件,将该文件中的视频部分截取10秒,音频截取20秒,生成为一个文件那么这个时候通过ffmpeg原有的功能实现起来相对困难一些,所以首先想到的是使用filter来实现
filter部分分为音频filter,视频filter,字幕filter
所以,分析需求后,可以考虑使用音频filter即af,视频filter即vf
在avfilter中,音频视频截断可以通过start_pts与end_pts来进行截断,总的来说,使用trim相关功能既可
命令行大概格式为
音频部分:
[Bash shell] 纯文本查看 复制代码 af atrim=start:end
视频部分:
[Bash shell] 纯文本查看 复制代码 vf trim=start:end
既可
整条命令为
[Bash shell] 纯文本查看 复制代码 ffmpeg -ss 0 -i ~/Movies/yedian.avi -strict -2 -vf trim=0:10 -af atrim=0:20 b.mp4
对应的输出如下:
bbs.chinaffmpeg.com
然后使用mplayer播放一下既可感受到效果,图中的效果即播放视频播放了10秒,但是音频还在继续的播放着
参考文档:
http://www.ffmpeg.org/ffmpeg-filters.html#trim
http://www.ffmpeg.org/ffmpeg-filters.html#atrim
|