我正在尝试使用 ffmpeg 生成 4 个视频的视频墙,如给定图像
我正在执行下面的脚本以获得所需的结果
def merge_videos(output_file):
command = [
'path_to_ffmpeg/ffmpeg.exe',
'-i', 'path/playblasts/front.mp4',
'-i', 'path/playblasts/side.mp4',
'-i', 'path/playblasts/persp1.mp4',
'-i', 'path/playblasts/persp2.mp4',
'-filter_complex', '[0:v][1:v][2:v][3:v]xstack=inputs=4:layout=0_0|w0_0|0_h0|w0_h0[v]',
'-map', '[v]',
output_file
]
subprocess.run(command)
将输出文件路径作为参数传递,但我得到的结果如下
如有任何帮助,我们将不胜感激。 谢谢并致以最诚挚的问候
我能够使用您提供的确切脚本(ffmpeg 6.1.1)获得所需的结果,因此Python脚本和给定的ffmpeg参数工作正常。问题可能出在输入视频和/或您的设置上,因此您必须在您的计算机上对此进行更多研究。以下是一些可能有帮助的建议:
-r 10
-pix_fmt yuv420p
并使用 -vf scale=1920:-2
缩小视频(输出分辨率可能太高)。 这帮助了其他人。 注意 ffmpeg 输出中的警告/错误,尝试搜索它们。