使用FFMPEG合并视频

cd D:\TDDOWNLOAD\宝贝和我
d:


ffmpeg -i baobei_1.flv -f mpeg -y -r 29.97 baobei_1.mpg
ffmpeg -i baobei_2.flv -f mpeg -y -r 29.97 baobei_2.mpg
ffmpeg -i baobei_3.flv -f mpeg -y -r 29.97 baobei_3.mpg
ffmpeg -i baobei_4.flv -f mpeg -y -r 29.97 baobei_4.mpg
ffmpeg -i baobei_5.flv -f mpeg -y -r 29.97 baobei_5.mpg
ffmpeg -i baobei_6.flv -f mpeg -y -r 29.97 baobei_6.mpg
ffmpeg -i baobei_7.flv -f mpeg -y -r 29.97 baobei_7.mpg
ffmpeg -i baobei_8.flv -f mpeg -y -r 29.97 baobei_8.mpg
ffmpeg -i baobei_9.flv -f mpeg -y -r 29.97 baobei_9.mpg
ffmpeg -i baobei_10.flv -f mpeg -y -r 29.97 baobei_10.mpg
ffmpeg -i baobei_11.flv -f mpeg -y -r 29.97 baobei_11.mpg
ffmpeg -i baobei_12.flv -f mpeg -y -r 29.97 baobei_12.mpg


copy /b baobei_1.mpg+baobei_2.mpg+baobei_3.mpg+baobei_4.mpg+baobei_5.mpg+baobei_6.mpg+baobei_7.mpg+baobei_8.mpg


+baobei_9.mpg+baobei_10.mpg+baobei_11.mpg+baobei_12.mpg  baobei.mpg


ffmpeg -i baobei.mpg -f mp4 -y baobei.mp4


exit



因为最近要求AcDown加入视频合并功能的呼声非常高(几乎一半多的反馈都在说这个问题),所以下午花了些时间来研究怎样用最方便(不需要最快)的方法来进行视频合并。


AcDown之前的版本使用的是某个第三方的FlvCombine组件,这个软件的优点在于体积非常小(一共才200多KB),方便集成到AcDown中,使用很简单,而且合并速度非常快,但是缺点也是非常显而易见的,那就是不支持mp4容器格式。而现在视频网站上的高清视频大都是mp4格式的,基于这点考虑,AcDown一直没有加入下载后合并视频的功能。

使用FFMPEG来进行合并一直是我在考虑的,但是因为之前AcDown的软件架构,在不到1M的软件中嵌入好几十M的ffmpeg显然不是一个好的选择,再加上我对它也不是很熟悉,所以下载后转换的这个问题一直拖到了现在。

言归正传,这次研究出来的合并方法其实算是比较投机取巧的,本身并没有使用ffmpeg的众多参数,而是绕了个弯,先将待合并的视频转换为体积很大的mpeg格式,然后再将其二进制合并后重新压缩编码,最后得到输出文件。虽然看起来很麻烦,不过稳定性还是可以保证的 使用FFMPEG合并视频

以下是批处理文件:
目标是将位于桌面new文件夹中的1.flv和2.flv文件合并为combine.flv
cd "  C:\Users\Kaedei\Desktop\new"
ffmpeg.exe -i "1.flv" -f mpeg -sameq -y -r 29.97 "1.flv.actemp"
ffmpeg.exe -i "2.flv" -f mpeg -sameq -y -r 29.97 "2.flv.actemp"
copy /b "1.flv.actemp"+"2.flv.actemp" "combine.flv.actemp" /y
ffmpeg.exe -i "combine.flv.actemp" -f mp4 -y "combine.flv"
del "1.flv.actemp"
del "2.flv.actemp"
del "combine.flv.actemp"


下面是各步骤的解释:
cd " C:\Users\Kaedei\Desktop\new"
进入桌面的new文件夹

ffmpeg.exe -i "1.flv" -f mpeg -sameq -y -r 29.97 "1.flv.actemp"
ffmpeg.exe -i "2.flv" -f mpeg -sameq -y -r 29.97 "2.flv.actemp"
将1.flv和2.flv转换为1.flv.actemp和2.flv.actemp文件,格式为mpeg,因为我用的FFMPEG貌似不支持输出1/15,1/20这样的帧率,所以强制设置帧率为标准的29.97,当然这样做会导致输出的文件体积变得略大。

copy /b "1.flv.actemp"+"2.flv.actemp" "combine.flv.actemp" /y
将输出的两个actemp文件通过二进制合并为combine.flv.actemp文件

ffmpeg.exe -i "combine.flv.actemp" -f mp4 -y "combine.flv"
将合并后的combine.flv.actemp文件转换为mp4编码的视频

del "1.flv.actemp"
del "2.flv.actemp"
del "combine.flv.actemp"
删除临时文件


已通过测试,不过暂时不知道这种方法对通过bug压缩的视频效果怎样……
转载:

转自http://blog.csdn.net/suxinpingtao51/article/details/8089177



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值