使用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 
 |