用 FFMPEG 合并 MP4 视频
来源:互联网 发布:unity3d微信群 编辑:程序博客网 时间:2024/06/09 22:55
转自:http://blog.csdn.net/flood_dragon/article/details/27539381
因为 ffmpeg 是支持切分 mp4 视频的,所以我就理所当然的以为 ffmpeg 是支持视频合并。直到今天同事找我问方法,才发现一直以为的方法是错误的, mp4 不支持直接 concate(丢人了。。。),赶紧补了一下能量,从网上抓来了多种实现。
注: 这里的 mp4 指的是网上最多见的 h264+aac mpeg4 容器的方式
1). ffmpeg + mpeg
这种是网上最常见的,基本思路是将 mp4 先转码为 mpeg 文件,mpeg是支持简单拼接的,然后再转回 mp4。
ffmpeg -i 1.mp4 -sameq 1.mpg ffmpeg -i 2.mp4 -sameq 2.mpg cat 1.mpg 2.mpg | ffmpeg -f mpeg -i - -sameq -vcodec mpeg4 output.mp4
这种方式弊端很明显,需要转码。而抛开转码本身会造成的质量损失,这个效率真心无法忍受。
2). MP4Box
这个是 gpac 搞的专门处理 mp4 的工具,由于它会自己内部处理连接部分的数据,所以可以简单的使用类似 concate 的语法:
MP4Box -cat 1.mp4 -cat 2.mp4 output.mp4
问题是,还要引入一个新的工具,而不能统一用 ffmpeg。这个也不爽。更不用说在 centos 下,你需要装一堆库,然后源码编译。有兴趣的朋友可以参考:
http://howto-heaven.blogspot.jp/2011/01/how-to-install-mp4box-on-centos.html
3). ffmpeg + ts 蹦蹦蹦蹦~~,重磅推出终极解决方案。这个的思路是先将 mp4 转化为同样编码形式的 ts 流,因为 ts流是可以 concate 的,先把 mp4 封装成 ts ,然后 concate ts 流, 最后再把 ts 流转化为 mp4。
ffmpeg -i 1.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 1.ts ffmpeg -i 2.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 2.ts ffmpeg -i "concat:1.ts|2.ts" -acodec copy -vcodec copy -absf aac_adtstoasc output.mp4
- 用 FFMPEG 合并 MP4 视频
- ffmpeg合并mp4视频
- [转载]用 FFMPEG 合并 MP4 视频
- ffmpeg 合并 拼接 mp4视频
- ffmpeg 合并 拼接 mp4视频
- ffmpeg: 合并/合并多个mp4视频不工作
- FFmpeg压缩MP4视频
- ffmpeg之多个MP4视频合并一个MP4视频文件(附遇见的bug)
- Raspberry - MP4视频合并
- ffmpeg裁剪合并视频
- ffmpeg裁剪合并视频
- 使用FFMPEG合并视频
- 使用FFMPEG合并视频
- 使用FFMPEG合并视频
- ffmpeg裁剪合并视频
- ffmpeg裁剪合并视频
- ffmpeg合并两个视频
- ffmpeg裁剪合并视频
- 如何快速学习产品?实践才是王道!同为小白的人儿加油!
- C++注释规范
- Async/Await 原理分析
- spring boot访问静态资源
- 如眸导航--一个专注提供个性化与分享高质量的导航网址,一个属于任何人的的开放导航网站.
- 用 FFMPEG 合并 MP4 视频
- iCheck插件的全选、反选、获取值操作
- 产品经理该不该强势
- 产品经理真的是「背锅侠」吗?
- 被1.5W用户吐成翔的10大互联网产品,你躺枪了吗?
- linux网卡绑定bond探析
- CentOS设置网络代理
- PMCAFF微课17期
- 如何运营垂直类产品