用四个mp4生成一个四宫格的gif:
以下是使用四个MP4视频生成四宫格GIF的ffmpeg命令:
ffmpeg -i input1.mp4 -i input2.mp4 -i input3.mp4 -i input4.mp4 \
-filter_complex \
"[0:v]trim=0:5,scale=320:-1,setsar=1/1[v1s]; \
[1:v]trim=0:5,scale=320:-1,setsar=1/1[v2s]; \
[2:v]trim=0:5,scale=320:-1,setsar=1/1[v3s]; \
[3:v]trim=0:5,scale=320:-1,setsar=1/1[v4s]; \
[v1s][v2s][v3s][v4s]hstack=4,scale=640:-1" \
output.gif
这个命令将四个MP4视频按以下步骤进行处理:
-i input1.mp4 -i input2.mp4 -i input3.mp4 -i input4.mp4:这个是指定要处理的四个MP4视频文件。
-filter_complex:这个是视频滤镜参数。
[0:v]trim=0:5,scale=320:-1,setsar=1/1[v1s]:这个是对第一个视频进行处理,截取0-5秒的时间段,将视频缩放到320宽度,高度按比例自动调整,设置像素宽高比为1:1,最后将结果保存为v1s。
[1:v]trim=0:5,scale=320:-1,setsar=1/1[v2s]:这个是对第二个视频进行处理,截取0-5秒的时间段,将视频缩放到320宽度,高度按比例自动调整,设置像素宽高比为1:1,最后将结果保存为v2s。
[2:v]trim=0:5,scale=320:-1,setsar=1/1[v3s]:这个是对第三个视频进行处理,截取0-5秒的时间段,将视频缩放到320宽度,高度按比例自动调整,设置像素宽高比为1:1,最后将结果保存为v3s。
[3:v]trim=0:5,scale=320:-1,setsar=1/1[v4s]:这个是对第四个视频进行处理,截取0-5秒的时间段,将视频缩放到320宽度,高度按比例自动调整,设置像素宽高比为1:1,最后将结果保存为v4s。
[v1s][v2s][v3s][v4s]hstack=4,scale=640:-1:这个是将四个视频合并成一个四宫格,将四个小视频水平合并成一个大视频,然后将大视频缩放到640宽度,高度按比例自动调整,最后将结果保存为output.gif。
您可以根据需要调整时间段、缩放比例等参数,以达到最佳的转换效果。
用以下ffmpeg命令将一个视频按不同时间点生成四宫格的GIF:
可以使用以下ffmpeg命令将一个视频按不同时间点生成四宫格的GIF:
ffmpeg -i input.mp4 -filter_complex \
"[0:v]split=4[v1][v2][v3][v4]; \
[v1]trim=0:5,scale=320:-1,setsar=1/1[v1s]; \
[v2]trim=5:10,scale=320:-1,setsar=1/1[v2s]; \
[v3]trim=10:15,scale=320:-1,setsar=1/1[v3s]; \
[v4]trim=15:20,scale=320:-1,setsar=1/1[v4s]; \
[v1s][v2s][v3s][v4s]hstack=4,scale=640:-1" output.gif
这个命令将MP4视频按以下步骤进行处理:
-filter_complex:这个是视频滤镜参数。
[0:v]split=4[v1][v2][v3][v4]:这个是将视频分成4个流。
[v1]trim=0:5,scale=320:-1,setsar=1/1[v1s]:这个是对第一个流进行处理,截取0-5秒的时间段,将视频缩放到320宽度,高度按比例自动调整,设置像素宽高比为1:1,最后将结果保存为v1s。
[v2]trim=5:10,scale=320:-1,setsar=1/1[v2s]:这个是对第二个流进行处理,截取5-10秒的时间段,将视频缩放到320宽度,高度按比例自动调整,设置像素宽高比为1:1,最后将结果保存为v2s。
[v3]trim=10:15,scale=320:-1,setsar=1/1[v3s]:这个是对第三个流进行处理,截取10-15秒的时间段,将视频缩放到320宽度,高度按比例自动调整,设置像素宽高比为1:1,最后将结果保存为v3s。
[v4]trim=15:20,scale=320:-1,setsar=1/1[v4s]:这个是对第四个流进行处理,截取15-20秒的时间段,将视频缩放到320宽度,高度按比例自动调整,设置像素宽高比为1:1,最后将结果保存为v4s。
[v1s][v2s][v3s][v4s]hstack=4,scale=640:-1:这个是将四个流合并成一个四宫格,将四个小视频水平合并成一个大视频,然后将大视频缩放到640宽度,高度按比例自动调整,最后将结果保存为output.gif。
您可以根据需要调整时间段、缩放比例等参数,以达到最佳的转换效果。