-c:v libx264 -c:a aac
- -c:v libx264 用于指定视频编码器
- -c:a aac 用于指定音频编码器
1.图片转视频
ffmpeg -framerate 1/7 -i test.jpg -t 7 output.mp4
- -framerate 1/5: 设置视频帧率为 1/5 帧每秒,这样 5 张图片将在 1 秒内播放完。
- -t 5: 设置输出视频的持续时间为 5 秒。
2. 1.mp4 的 2-4 秒之间播放 2.jpg ,6-7秒之间播放 3.jpg
ffmpeg -i 1.mp4 -i 2.jpg -i 3.jpg -filter_complex "[0:v]overlay=0:0:enable='between(t,2,4)'[v1];[v1][2:v]overlay=0:0:enable='between(t,6,7)'[v2]" -map "[v2]" -map 0:a -c:v libx264 -c:a copy output.mp4
- [0:v]overlay=0:0:enable=‘between(t,2,4)’[v1] 将视频 1.mp4 在第2到4秒之间与图片 2.jpg 叠加,输出为 [v1]。
- [v1][1:v]overlay=0:0:enable=‘between(t,6,7)’[v2] 将 [v1] 与图片 3.jpg 叠加,输出为 [v2]。
——调整图片分辨率
ffmpeg -i 1.mp4 -i 2.jpg -i 3.jpg -filter_complex "[1:v]scale=720:1280[img1];[2:v]scale=720:1280[img2];[0:v][img1]overlay=0:0:enable='between(t,2,4)'[v1];[v1][img2]overlay=0:0:enable='between(t,6,7)'[v2]" -map "[v2]" -map 0:a output.mp4
3. 视频拼接
ffmpeg -i 1.mp4 -i 4.mp4 -i 7.mp4 -filter_complex "[0:v]scale=720:1280[v0];[1:v]scale=720:1280[v1];[2:v]scale=720:1280[v2];[v0][0:a][v1][1:a][v2][2:a]concat=n=3:v=1:a=1[vout][aout]" -map "[vout]" -map "[aout]" output.mp4
- [0:v]scale=720:1280[v0];[1:v]scale=720:1280[v1];[2:v]scale=720:1280[v2]: 将三个输入视频的视频流分别进行缩放,使它们的分辨率为720x1280。
- [v0][0:a][v1][1:a][v2][2:a]: 将三个经过缩放的视频流和原始音频流连接在一起。
- concat=n=3:v=1:a=1: 表示进行连接,n=3表示有三个输入,v=1表示只连接视频流,a=1表示只连接音频流。
- [vout][aout]: 将连接后的视频流和音频流输出到 [vout] 和 [aout]。
- -map “[vout]” -map “[aout]”: 指定要映射到输出文件的视频流 [vout] 和音频流 [aout]。
- output.mp4: 输出文件的名称。
=多视频插入图片后拼接(转行要删除后执行)=========
ffmpeg
-i 1.mp4
-i 4.mp4
-i 7.mp4
-i 2.jpg
-i 3.jpg
-i 5.jpg
-i 6.jpg
-i 8.jpg
-i 9.jpg
-filter_complex "
[3:v]scale=720:1280[img0];
[4:v]scale=720:1280[img1];
[5:v]scale=720:1280[img2];
[6:v]scale=720:1280[img3];
[7:v]scale=720:1280[img4];
[8:v]scale=720:1280[img5];
[0:v]scale=720:1280[v0];
[1:v]scale=720:1280[v1];
[2:v]scale=720:1280[v2];
[v0][img0]overlay=0:0:enable='between(t,2,4)'[m1];[m1][img1]overlay=0:0:enable='between(t,6,7)'[m2];
[v1][img2]overlay=0:0:enable='between(t,2,4)'[m3];[m3][img3]overlay=0:0:enable='between(t,6,7)'[m4];
[v2][img4]overlay=0:0:enable='between(t,2,4)'[m5];[m5][img5]overlay=0:0:enable='between(t,6,7)'[m6];
[m2][0:a][m4][1:a][m6][2:a]concat=n=3:v=1:a=1[vout][aout]"
-map "[vout]" -map "[aout]" -c:v libx264 -c:a aac output.mp4