gpt4 book ai didi

ffmpeg - 如何在合并多个不同分辨率的视频时使用 FFMPEG -filter_complex_script

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

这是我在合并两个不同分辨率的视频时使用的命令,效果很好

$command = 'ffmpeg -i first.mp4 -i second.mp4 -filter_complex "[0:v]scale='.$originalDimensions.':force_original_aspect_ratio=decrease,pad='.$originalDimensions.':-1:-1,setsar=1,fps=30,format=yuv420p[v0]; [1:v]scale='.$originalDimensions.':force_original_aspect_ratio=decrease,pad='.$originalDimensions.':-1:-1,setsar=1,fps=30,format=yuv420p[v1]; 
[v0][0:a][v1][1:a]concat=n=2:v=1:a=1[v][a]" -map "[v]" -map "[a]" -c:v libx264 -c:a aac -movflags +faststart '.$dupSavePath.' 2>&1';
它工作得很好,输出没有问题。
但现在我想使用文件列表合并多个视频。
我们可以使用 concat命令并提供包含所有其他视频文件路径的 list.txt 文件。
我正在浏览文档,发现可以使用 -filter_complex_script 但不知道如何使其工作
这是我到目前为止使用的命令,但输出有音频同步错误
ffmpeg -f concat -i downloads/list.txt -acodec ac3_fixed -vcodec libx264 -s 720x480 -r 60 -strict experimental output.mp4 2>&1
我可以在这里使用过滤器图,但我想使用 concat命令,因为输入文件的数量可能会有所不同。

最佳答案

我确实为此做过一个项目,我使用了 concat 但有时音频滞后和一些音频变化也会发生,具体取决于文件的类型。在文档和多个网站中,建议仅当所有文件的视频和音频类型格式相同时才使用 concat,希望您现在有一个清晰的想法。
这是您如何制作 txt 文件并存储您要添加的文件名的方法
这是python中的代码

file = open(File_name_Path,"w")
file.close()

file = open(File_name_Path,"w")
file.write("file '"+Intro_Path +"' "+"\n")
file.write("file '"+Video_Path+fileNamee +"' "+"\n")
file.write("file '"+Extro_Path +"' "+"\n")
file.close()

os.system("ffmpeg -f concat -safe 0 -i "+File_name_Path+" -c copy "+Final_Path+fileNamee)
文本文件
file 'path of 1st file'
file 'path of 2nd file'
希望你对 concat 有一些想法
如果您不确定文件类型或音频类型是否使用您提到的第一种方法,只是一个建议,因为 concat 方法有时会因改变音频的音调而受挫
谢谢

关于ffmpeg - 如何在合并多个不同分辨率的视频时使用 FFMPEG -filter_complex_script,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65681450/

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