请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站
开启辅助访问
切换到宽版

ChinaFFmpeg

 找回密码
 立即注册

QQ登录

只需一步,快速开始

用新浪微博登录

只需一步,快速搞定

搜索
热搜: 活动 交友 discuz
查看: 2420|回复: 3

[Linux] 合并拼接 不同帧率、比特率、分辨率等 MP4

[复制链接]
扫一扫,手机访问本帖
发表于 2017-6-9 15:55:38 | 显示全部楼层 |阅读模式
现有多个MP4文件,帧率、比特率(视频、音频都不同)、分辨率都不同,请问各位大牛,如何才能进行良好的合并拼接?
个人试过一下指令,效果都不好,如下:

1.ts流方式(concat 协议)
  ffmpeg -i 1.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts input1.ts
ffmpeg -i 2.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts input2.ts
ffmpeg -i 3.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts input3.ts
ffmpeg -i "concat:input1.ts|input2.ts|input3.ts" -c copy -bsf:a aac_adtstoasc -movflags +faststart output.mp4
  速度较慢,基本可以播放,但合并后的视频,如果后面某个视频文件比前面的视频信息差距较大,就会出现播放到后面这个视频位置的时候,出现类似逐帧播放的效果,播放很不流畅

2.concat demuxer
  ffmpeg -safe 0 -f concat -i filelist.txt -c copy -y dura.mp4
  速度相对较快,但是貌似限制很多,可能是需要相同的帧率、比特率、分辨率等


看到某些网上文章说,先要逐帧解码成最原始的YUV格式,然后在编码成你想要的编码格式,本人想直接调用命令的方式来实现,请问各位大牛如何实现?


回复

使用道具 举报

发表于 2017-6-12 09:38:49 | 显示全部楼层
concat目前需要stream信息相同才可以,要不问题会比较多
回复 支持 反对

使用道具 举报

发表于 2019-1-10 08:46:30 | 显示全部楼层
楼主问题解决了吗?我也遇到同样的问题了   谢谢
回复 支持 反对

使用道具 举报

发表于 2019-2-22 10:34:23 | 显示全部楼层
这个,我个人觉得没解,任何软件都不好用. 还不如直接重编码为统一后合并.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|Archiver|ChinaFFmpeg    

GMT+8, 2019-5-26 19:51 , Processed in 0.026360 second(s), 21 queries .

Powered by ChinaFFmpeg

© 2013 - 2018 www.chinaffmpeg.com

快速回复 返回顶部 返回列表