ffmpeg将图像连接到一个图像中

ffmpeg将图像连接到一个图像中,ffmpeg,thumbnails,Ffmpeg,Thumbnails,我使用它从视频中获取帧,并将它们连接到一个图像中: ffmpeg -i output.mp4 -vf 'fps=2,tile=1000x1' out.jpg 但有一个问题:我不知道将获取多少帧。在这里,我硬编码了大小为1000x1的磁贴,但如果有超过1000帧,那么将是一个错误。在开始ffmpeg之前,我不知道瓷砖的实际大小 所以我想使用如下命令: ffmpeg -i output.mp4 -vf 'fps=2,tile=*x1' out.jpg 这意味着:我希望您将所有将在一行中获取的图像

我使用它从视频中获取帧,并将它们连接到一个图像中:

ffmpeg -i output.mp4 -vf 'fps=2,tile=1000x1' out.jpg
但有一个问题:我不知道将获取多少帧。在这里,我硬编码了大小为1000x1的磁贴,但如果有超过1000帧,那么将是一个错误。在开始ffmpeg之前,我不知道瓷砖的实际大小

所以我想使用如下命令:

ffmpeg -i output.mp4 -vf 'fps=2,tile=*x1' out.jpg
这意味着:我希望您将所有将在一行中获取的图像连接起来,但我不能使用*作为tile的参数

有什么办法解决我的问题吗?

我有个主意:

$ FRAMES=`ffprobe -v error -count_frames -select_streams v:0 -show_entries stream=nb_read_frames -of default=nokey=1:noprint_wrappers=1 xxx.mp4`
$ FFMPEG="ffmpeg -i xxx.mp4 -vf 'fps=2,tile=\$FRAMESx1' out.jpg"
$ `echo "${FFMPEG//\$FRAMES/$FRAMES}"`
我有个主意:

$ FRAMES=`ffprobe -v error -count_frames -select_streams v:0 -show_entries stream=nb_read_frames -of default=nokey=1:noprint_wrappers=1 xxx.mp4`
$ FFMPEG="ffmpeg -i xxx.mp4 -vf 'fps=2,tile=\$FRAMESx1' out.jpg"
$ `echo "${FFMPEG//\$FRAMES/$FRAMES}"`