首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FFMPEG -合并两个MP4文件

FFMPEG -合并两个MP4文件
EN

Unix & Linux用户
提问于 2017-07-14 12:08:13
回答 2查看 7.6K关注 0票数 1

要合并两个MP4文件,必须经过.ts文件。

代码语言:javascript
复制
ffmpeg -i input1.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts input1.ts
ffmpeg -i input2.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts input2.ts
ffmpeg -i "concat:input1.ts|input2.ts" -c copy output.mp4

但是,在第一个/第二个命令中有以下错误:

比特流滤波器‘H 264_mp4toAnnb’不支持编解码器'mpeg4‘(13)。支持的编解码器有: h264 (28)错误初始化比特流过滤器: h264_mp4toannexb

你有什么主意吗?

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2017-07-15 11:44:45

您正在尝试使用concat协议来完成它,该协议在文件级别连接。

如果你试图通过演示器连接起来,你会得到更好的结果吗?

您可以在文本文件(mylist.txt)中列出输入文件,然后:

代码语言:javascript
复制
ffmpeg -f concat -safe 0 -i mylist.txt -c copy output.mp4

如果路径是相对的,则不需要-safe 0

这个方法和您尝试过的方法都是建议的在ffmpeg.org上以及各种其他的级联方法。肯定有一个会对你有用吗?如果所有这些都失败了,您可以先将它们转换为h264,显然它们还没有在其中。

票数 2
EN

Unix & Linux用户

发布于 2023-01-14 18:17:48

这是你的问题

流#0:00x1:mpeg4 (简单配置文件) (mp4v / 0x7634706D)

正如@stoney所指出的,它需要

流#0:0(und):视频: h264 (高) (avc1 / 0x31637661)

您可以通过第一次对h264进行重新编码来验证这一点。

代码语言:javascript
复制
ffmpeg -i input1.mp4 output1.mp4
ffmpeg -i output1.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts input1.ts
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/378444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档