gpt4 book ai didi

ffmpeg - 如何使用音频和视频流创建马赛克视频 : FFMPEG?

转载 作者:行者123 更新时间:2023-12-04 23:22:25 27 4
gpt4 key购买 nike

我使用以下行创建了一个马赛克视频输出,其中有四个视频,每个视频都从特定的位置和时间开始。以下是我使用的代码行

ffmpeg -i lead_1.mp4 -i lead_2.mp4 -i lead_3.mp4 -i lead_4.mp4 
-filter_complex
"color=s=1280x720:c=black [base];
[0:v] setpts=PTS-STARTPTS, scale= 640x360 [upperleft1];
[1:v] setpts=PTS+35/TB, scale=640x360 [lowerright1];
[2:v] setpts=PTS+87/TB, scale=640x360 [upperleft2];
[3:v] setpts=PTS+183/TB, scale=640x360 [lowerright2];
[base][upperleft1] overlay=1 [tmp1];
[tmp1][lowerright1] overlay=1:x=640:y=360 [tmp2];
[tmp2] [upperleft2] overlay=1 [tmp3];
[tmp3][lowerright2] overlay=1:x=640:y=360"

-c:v libx264 lead_1_2_3_4.mp4
所以输出文件不包含所有视频的音频流。我是 FFMPEG 的新手,所以有人可以建议我如何获得输出中所有输入文件的音频流?

最佳答案

添加 adelayamix过滤器:

ffmpeg -i lead_1.mp4 -i lead_2.mp4 -i lead_3.mp4 -i lead_4.mp4 
-filter_complex
"color=s=1280x720:c=black [base];
[0:v] setpts=PTS-STARTPTS, scale= 640x360 [upperleft1];
[1:v] setpts=PTS+35/TB, scale=640x360 [lowerright1];
[2:v] setpts=PTS+87/TB, scale=640x360 [upperleft2];
[3:v] setpts=PTS+183/TB, scale=640x360 [lowerright2];
[base][upperleft1] overlay[tmp1];
[tmp1][lowerright1] overlay=x=overlay_w:y=overlay_h [tmp2];
[tmp2] [upperleft2] overlay [tmp3];
[tmp3][lowerright2] overlay=x=overlay_w:y=overlay_h[v];
[1]adelay=35s:all=1[a1];
[2]adelay=87s:all=1[a2];
[3]adelay=183s:all=1[a3];
[0:a][a1][a2][a3]amix=inputs=4[a]"
-map "[v]" -map "[a]"
-c:v libx264 lead_1_2_3_4.mp4
如果您的 ffmpeg是旧用途 adelay=35000|35000相反(假设立体声输入)。

关于ffmpeg - 如何使用音频和视频流创建马赛克视频 : FFMPEG?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62976512/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com