下面的(批处理)脚本生成九个输入视频的马赛克:
FFMPEG ^
-y -i "v1.mp4" -i "v2.mp4" -i "v3.mp4" -i "v4.mp4" -i "v5.mp4" -i "v6.mp4" -i "v7.mp4" -i "v8.mp4" -i "v9.mp4" ^
-filter_complex "[0:v][1:v][2:v]hstack=3[Row0];[3:v][4:v][5:v]hstack=3[Row1];[6:v][7:v][8:v]hstack=3[Row2];[Row0][Row1][Row2]vstack=3[v]" ^
-map "[v]" -shortest "Mosaic3x3.mp4"
输入视频全部为 1280x720,因此生成的输出为 3840x2160,需要很长时间才能渲染。计划是使用此脚本作为基础来生成更大的马赛克,并且渲染输出的时间将变得过多。
所以我想知道以下几点:
是在堆叠之前缩放输入视频,还是缩放超大尺寸的马赛克输出?或者两者都(输入和输出的比例)?我很想知道缩放和输出质量和处理时间之间的权衡:
对于 6x6 马赛克,假设最终分辨率为 1920x1080,如果我要在输入端进行缩放,我会将 1280x720 缩小到 320x180。我无法确定在任一端应用缩放的命令语法。
缩放 N 个中等大小的视频然后堆叠它们比将 N 个较大的视频堆叠到一个非常大的画布中然后按比例缩小要好一些。