我有10张图片(1080x1920)和2张视频(1080x1920)。 我想合并所有这些以使用命令制作最终视频:
INPUT_DATA=(_img1.jpg vid1.mp4 _img2.jpg vid2.mp4 _img3.jpg _img4.jpg _img5.jpg _img6.jpg _img7.jpg _img8.jpg _img9.jpg _img10.jpg)
IMAGE_TIME_SPAN=5
INPUT_DIR="input"
OUTPUT_DIR="output"
BACKGROUND_MUSIC="$INPUT_DIR/background.mp3"
OUTPUT_STEP1="$OUTPUT_DIR/tmp_video.mp4"
OUTPUT_STEP3="$OUTPUT_DIR/tmp_background.mp3"
OUTPUT_FILE="$OUTPUT_DIR/final.mp4"
SCALE_SIZE="1080x1920"
ffmpeg -y \
-f lavfi -t 1 -i anullsrc \
-i $INPUT_DIR/${INPUT_DATA[0]} \
-i $INPUT_DIR/${INPUT_DATA[1]} \
-i $INPUT_DIR/${INPUT_DATA[2]} \
-i $INPUT_DIR/${INPUT_DATA[3]} \
-i $INPUT_DIR/${INPUT_DATA[4]} \
-i $INPUT_DIR/${INPUT_DATA[5]} \
-i $INPUT_DIR/${INPUT_DATA[6]} \
-i $INPUT_DIR/${INPUT_DATA[7]} \
-i $INPUT_DIR/${INPUT_DATA[8]} \
-i $INPUT_DIR/${INPUT_DATA[9]} \
-i $INPUT_DIR/${INPUT_DATA[10]} \
-i $INPUT_DIR/${INPUT_DATA[11]} \
-filter_complex \
"[1:v]fade=t=in:st=0:d=4:alpha=1,zoompan=z='zoom+0.0009':d=25*$IMAGE_TIME_SPAN:s=$SCALE_SIZE[img1]; \
[2:v]fade=t=in:st=0:d=4:alpha=1,scale=$SCALE_SIZE[v1]; \
[3:v]fade=t=in:st=0:d=4:alpha=1,zoompan=z='zoom+0.0009':d=25*$IMAGE_TIME_SPAN:s=$SCALE_SIZE[img2]; \
[4:v]fade=t=in:st=0:d=4:alpha=1,scale=$SCALE_SIZE[v2]; \
[5:v]fade=t=in:st=0:d=4:alpha=1,zoompan=z='zoom+0.0009':d=25*$IMAGE_TIME_SPAN:s=$SCALE_SIZE[img3]; \
[6:v]fade=t=in:st=0:d=4:alpha=1,zoompan=z='zoom+0.0009':d=25*$IMAGE_TIME_SPAN:s=$SCALE_SIZE[img4]; \
[7:v]fade=t=in:st=0:d=4:alpha=1,zoompan=z='zoom+0.0009':d=25*$IMAGE_TIME_SPAN:s=$SCALE_SIZE[img5]; \
[8:v]fade=t=in:st=0:d=4:alpha=1,zoompan=z='zoom+0.0009':d=25*$IMAGE_TIME_SPAN:s=$SCALE_SIZE[img6]; \
[9:v]fade=t=in:st=0:d=4:alpha=1,zoompan=z='zoom+0.0009':d=25*$IMAGE_TIME_SPAN:s=$SCALE_SIZE[img7]; \
[10:v]fade=t=in:st=0:d=4:alpha=1,zoompan=z='zoom+0.0009':d=25*$IMAGE_TIME_SPAN:s=$SCALE_SIZE[img8]; \
[11:v]fade=t=in:st=0:d=4:alpha=1,zoompan=z='zoom+0.0009':d=25*$IMAGE_TIME_SPAN:s=$SCALE_SIZE[img9]; \
[12:v]fade=t=in:st=0:d=4:alpha=1,zoompan=z='zoom+0.0009':d=25*$IMAGE_TIME_SPAN:s=$SCALE_SIZE[img10]; \
[img1][0:a][v1][0:a][img2][0:a][v2][0:a][img3][0:a][img4][0:a][img5][0:a][img6][0:a][img7][0:a][img8][0:a][img9][0:a][img10][0:a]concat=n=12:v=1:a=1" \
-pix_fmt yuv420p -c:v libx264 \
$OUTPUT_STEP1
我在虚拟机上运行此命令(Linux,4GB内存),需要大约11分钟才能完成!这需要很长时间,我希望将处理时间缩短到不到5分钟。
任何有关更好表现的建议。