因为 ffmpeg 是支持切分 mp4 视频的,所以我就理所当然的以为 ffmpeg 是支持视频合并。直到今天同事找我问方法,才发现一直以为的方法是错误的, mp4 不支持直接 concate(丢人了。。。),赶紧补了一下能量,从网上抓来了多种实现。

注: 这里的 mp4 指的是网上最多见的 h264+aac mpeg4 容器的方式

1). ffmpeg + mpeg

这种是网上最常见的,基本思路是将 mp4 先转码为 mpeg 文件,mpeg是支持简单拼接的,然后再转回 mp4。

  ffmpeg -i 1.mp4 -sameq 1.mpgffmpeg -i 2.mp4 -sameq 2.mpgcat 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

转自:http://yonsm.net/mp4merge/

转载于:https://www.cnblogs.com/jameszh/p/5547542.html

[转载]用 FFMPEG 合并 MP4 视频相关推荐

  1. 使用FFmpeg合并MP4视频

    使用FFmpeg合并MP4视频 1. 使用mpeg拼接 2. ==使用ts拼接== 使用FFmpeg合并MP4视频 windows/linux下均可用 1. 使用mpeg拼接 速度慢,文件大 将 mp ...

  2. m3u8格式下载合并mp4视频

    m3u8解析.ts视频块解密合并mp4 今天客户有个批量下载视频得需求.拿到链接一顿分析.发现视频是m3u8文件分块.然后有KEY加密.aes-128 下面开始处理流程: 1 先取出key链接.这里得 ...

  3. python之 ffmpeg给mp4视频添加字幕

    目录 ffmpeg给mp4视频加字幕 执行结果: ffmpeg给mp4视频加字幕 前期输入准备: mp4视频 外挂字幕:是一个单独的外部字幕文件,格式类型一般有srt.vtt.ass等等.播放视频时, ...

  4. 使用ffmpeg合并音频视频并实现背景音乐循环播放

    这两天遇到一个问题,使用PowerPoint 2013创建的PPT文件 将该PPT复制到另一台电脑的时候,背景音乐不能播放 生成Mp4视频提示音频不能添加,因此生成的Mp4也不能播放背景音乐 原因是M ...

  5. 利用ffmpeg将mp4视频转换成多张jpg图片

    分离视频音频流 ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流 ffmpeg -i input_file -acodec ...

  6. ffmpeg播放MP4视频与分离音频

    一.准备 首先,下载ffmpeg.exe和ffplay.exe,准备要处理的素材 ffmpeg文件: http://链接:https://pan.baidu.com/s/1Pe4vUoy4UU_x7S ...

  7. FFmpeg给mp4视频加上旋转90度的代码

    1.准备h264视频流.(这之前可能是yuv转成的视频流.) 2.准备aac音频流. 3.开始muxer成mp4. 一.如果初始视频是ios或者安卓手机拍摄的竖拍视频,那么这个视频是有90,180,2 ...

  8. FFmpeg压缩MP4视频命令

    命令行 ffmpeg -i input.mp4 -r 10 -b:a 32k output.mp4 介绍 有的视频,如一些视频学习教程通常画面都是不大变化的,和变动速度快的打斗视频所需要的帧数完全不同 ...

  9. python 视频截取 利用ffmpeg截取MP4视频片段

    学python没多久,发现OpenCV做的视频截取出来的视频无声的 水平有限也没搞明白怎么处理,后面用FFmpeg整了个,如学弟.学妹有用到我这个自行百度怎么配置FFmpeg环境配置,配置好再测试代码 ...

  10. ffmpeg分割mp4视频方便快速

    视频太太无法传到微信:mp4只能小于25M,m4v小于100M即可上传. 所以将mp4分割成小于100M的文件即可. 两步搞定: 1.采用ffmpeg快速分割 ffmpeg工具下载参考:https:/ ...

最新文章

  1. js escape,unescape解决中文乱码问题的方法
  2. Intel Realsense D435 opencv 为什么将color图转换成灰度图后,再与depth图水平堆叠,其结果一片黑色?(数据未map到0-255)
  3. javascript基础(第二天)
  4. SQL中where 1 = 1的用处
  5. 首先请与所有现有链接到该网络共享的映射断开连接_疫情之下:该如何使用Python预测员工流失,老板直呼内行!...
  6. USACO 2006 Open, Problem. The Country Fair 动态规划
  7. 目标服务器已挂起重新启动_CentOS 7 Apache 服务器证书安装
  8. Python编程入门-第二章学习笔记
  9. 2011-10-10
  10. 计算机统考模拟系统3.0,统考计算机模拟系统操作流程
  11. android 快速unity,关于android:Unity平台-快速集成华为性能管理服务
  12. 系统集成项目管理工程师各种口诀技巧分享(1)
  13. 优酷1080p的kux格式文件转换方法
  14. 前端学习-jquery-实现点击button对文本的add及detele
  15. 远程协同办公 远程协同办公的7点建议和方案 居家办公也能高效率
  16. mac chrome更新错误12
  17. conda常用命令(换源清华源,创建虚拟环境)
  18. mac 平台显示歌词最好的音乐播放器软件 —— Vox + LyricsX
  19. 最近远景论坛打不开修改hosts_s芃成_新浪博客
  20. 【HTML】三种加载动画

热门文章

  1. 肯定存在无摩擦力的材料
  2. eclipse不能调试某个文件的解决办法
  3. 面试记录:题都没答就走了
  4. 携号转网不会有多大影响
  5. 不会开会,就管不好工作
  6. 推荐一种优秀的数据结构技巧
  7. C++中对sprintf()
  8. C# Lock的基本使用和声明
  9. C++11强类型枚举——枚举类
  10. stm32如何设置蜂鸣器温度报警_有人喊冷?有人喊热?列车空调温度到底如何设置...