FFmpeg 抽取视频中的一段(视频转换)

来自:http://www.oschina.net/code/snippet_105637_22309

ffmpeg.exe
 -i IMG_1137.MOV  -f mpegts -ar 48000 -ab 64k -s 1280x720 -vcodec 
libx264 -x264opts keyint=15:min-keyint=10 -r 25 demo1.mp4
 
在网上找了个视频,其中有部分内容是需要的,能不能从整个文件中抽取一部分呢?或抽取一部分内容的音频列?在查阅了资料后发现 FFmpeg 很容易实现这些功能。
 
ffmpeg -ss 00:46:28 -i "Morning_News.asf" -acodec copy -vcodec copy -t 00:03:25 output.asf
这行命令解释为:从文件 Morning_News.asf 第 46:28 分秒开始,截取 03: 25 的时间,其中视频和音频解码不变,输出文件名为 output.asf 。
 
那如果视频文件太大,该如何保存为的 mp3 文件呢?
 
ffmpeg -ss 00:46:28 -i "Morning_News.asf" -t 00:03:25 output.mp3
这两条命令顺序一定要注意。不然运行会有问题。切记切记!
 
参考:
1、http://wuyuans.com/2012/04/ffmpeg-split/
2、http://ffmpeg.org/ffmpeg.html
 
视频合并
1. 首先将各个视频全部转换为mpeg格式:
ffmpeg  -i INPUT -f mpeg  OUTPUT
 
例如:
ffmpeg  -i 1.flv -f mpeg -r 29.97 result1.mpg
ffmpeg  -i 2.flv -f mpeg  result2.mpg
 
2. 通过copy或者cat命令合并视频
copy -b INPUT+INPUT OUTPUT
 
例如:
copy /b "result1.mpg"+"result2.mpg" "result.mpge"
 
3. 将合并的视频进行编码生成最终的结果视频
ffmpeg -i INPUT -f FORMAT OUTPUT
 
例如:
ffmpeg -i "D:/result.mpge" -f mp4 "D:/result.mp4"