首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何合并两个不同分辨率的.mp4视频

如何合并两个不同分辨率的.mp4视频
EN

Stack Overflow用户
提问于 2022-01-06 16:47:48
回答 1查看 599关注 0票数 -1

我需要通过API在youtube上嵌入视频,为了让这个过程更加实用,我想在上传到youtube之前,把我的视频和视频合并起来。然而,视频有不同的分辨率和不同的特点,所以我发现的解决方案留下了最终的视频音频或流问题。

最后,我找到了以下解决方案,效果很好,但速度非常慢,请参阅:

代码语言:javascript
运行
复制
$code1 = 'ffmpeg -i vinheta.mp4 -qscale 0 vinheta.mpg';
$code2 = 'ffmpeg -i movie2.mp4 -qscale 0 movie2.mpg';
$code3 = 'cat vinheta.mpg movie2.mpg | ffmpeg -f mpeg -i - -qscale 0 -vcodec mpeg4';

system($code1);
system($code2);
system($code3);

该解决方案工作良好,不间断,但它确实需要很长时间,有些视频需要2个小时的转换,然后视频是非常沉重的。

我在几个地方研究过它,测试了各种各样的代码,这是我发现的唯一一种,不管分辨率如何,最终的视频都不会出现音频或视频问题。

另一个令人感兴趣的解决办法如下:

代码语言:javascript
运行
复制
$code1 = "ffmpeg -i vinheta.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts temp1.ts";
$code2 = "ffmpeg -i 4.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts temp2.ts";
// now join
$code3 = "ffmpeg -i \"concat:temp1.ts|temp2.ts\" -c copy -bsf:a aac_adtstoasc output.mp4";

system($code1);
system($code2);
system($code3);

输出文件工作得非常好。但只在我的电脑上。当我把它发送到youtube时,第二个视频的音频一直在剪切。

有没有更简单、更轻的方法来做到这一点而不破坏我的最后视频?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-08 21:15:31

关于在youtube上剪切音频的第二段代码,我只是通过更改编解码器来解决它。所以现在它运行得很好,如下所示:

代码语言:javascript
运行
复制
$code1 = "ffmpeg -i vinheta.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts temp1.ts";
$code2 = "ffmpeg -i 4.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts temp2.ts";
// now join
$code3 = "ffmpeg -i \"concat:temp1.ts|temp2.ts\" -c copy -acodec aac output.mp4";

system($code1);
system($code2);
system($code3);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70610609

复制
相关文章

相似问题

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