将视频转换为JPEG精灵图

8
我知道视频不能直接转换为动态JPEG,但我想要的是将序列中的每一帧从视频中提取出来,并将其转换为水平或垂直的JPEG雪碧图。
然后,我会使用jQuery将JPEG雪碧图动画化,以再次呈现出视频的效果。
2个回答

29
您可以按照以下步骤将电影转换为拼接的精灵文件:

1) 使用ffmpeg将电影转换为一堆图像(此示例使用10帧每秒)

ffmpeg -i "infile.mp4" -f image2 -vf fps=fps=10 img%03d.jpg

2) 然后使用imagemagick将它们拼接在一起。

files=$(ls img*.jpg | sort -t '-' -n -k 2 | tr '\n' ' ')
convert $files -append output.jpg

BOOM - 你已经有了一个精灵图。


对于Windows系统,ffmpeg命令可以直接使用,但是似乎无法在Windows下运行imagemagick命令。是否有人愿意帮忙转换一下? - Pascalculator
2
对于 Windows 系统,您可以使用 magick convert *.jpg -append output.jpg 命令。 - BardZH
convert *.jpg -append output.jpg 在 macOS 上可用。 - Chris Smith

3
您可以使用 ffmpeg 将帧提取为图像。下面的命令将提取5秒钟内的单帧图像:

ffmpeg -i "infile.mp4" -r 1 -ss 00:00:05 -t 00:00:01 -vframes 1 -f image2 -y "image.jpg"


传奇!!这看起来或者听起来正是我想要的。你知道有没有一个屏幕截图工具可以读取它的结果吗? - The Angry Saxon
不用担心,我找到了一个叫做CamStudio的免费软件,可以创建屏幕AVI。再次感谢 :) - The Angry Saxon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接