FFMPEG XStack 音频在最短视频后被切断

FFMPEG XStack Audio Cuts out After Shortest Video

我正在尝试使用 FFMPEG 和 xstack 过滤器将来自 CDN 的 4 个视频文件合并到一个网格中。

这是我的命令运行。

ffmpeg -y -i https://exampl.cdn.com/99d11c26-352d-4f29-ba83-38deeaf766d4.mp4 
-i https://exampl.cdn.com/99d11c26-352d-4f29-ba83-38deeaf766d4.mp4 
-i https://exampl.cdn.com/66581fbf-cfed-4de1-a634-f011b6792e9f.mp4 
-i https://exampl.cdn.com/a8f0d337-98cb-4067-b3e9-78dca8a82bcf.mp4
-filter_complex 
"xstack=inputs=4:layout=0_0|w0_0|0_h0|w0_h0[out];[0:a][1:a][2:a][3:a]amerge=inputs=4[a]"
-map "[out]"
-map "[a]"
-ac 2
output.mp4

视频生成正常,音频播放,但最短的视频结束后音频就断了。视频继续播放。这些视频由最终用户通过 HTML 视频对象生成并上传到 S3。

想通了。我不得不使用 amix 过滤器。

https://ffmpeg.org/ffmpeg-filters.html#amix

这是我最后得到的命令。

ffmpeg -y -i vid1.mp4 -i vid-2.mp4 -i vid-3.mp4 -i vid-4.mp4 -filter_complex "xstack=inputs=4:layout=0_0|w0_0|0_h0|w0_h0;amix=inputs=4" output.mp4