用FFmpeg和ImageMagick制作拼图

14 年 10 月 13 日 星期一
237 字
2 分钟

有个小mp4视频想要做全屏自动循环播放,部分手机浏览器并不支持,转成gif画质损失文件庞大,于是要转成分片的拼图,最终控制CSS来实现动画播放。

所需工具:ffmpeg、ImageMagick。

  1. 原始视频为1920×1080,需要裁切为640×1136(IP5)的竖幅,只能先按比例裁减为608×1080

    ffmpeg -i sequence.mp4 -filter:v "crop=640:1139:100:100" -crf 18 sequence01.mp4

    2.用ffmpeg设置每秒抓2帧,尺寸为640×1136,自动命名,最终截图17张(最好不要太多)

    ffmpeg -i sequence01.mp4 -r 2 -f image2 -s 640x1136 s01_%03d.jpg

    3.用imagemagick对原始截图进行压缩,在Stackoverflow 学到一招用点高斯模糊

    mogrify -strip -interlace Plane -gaussian-blur 0.05 -quality 75% *.jpg

    4.最后对所有图片进行垂直拼图(-是垂直,+是横向)

    convert -append *.jpg filmstrip01.jpg

处理前后 大小

原始视频 2.5mb 原始截图 3.44mb 优化之后 384kb 最终拼图 367kb

最后再写一个脚本就完美了……(bash手册丢一边……

文章标题:用FFmpeg和ImageMagick制作拼图

文章作者:cress

文章链接:https://cress.pro/posts/filmstrip[复制]

最后修改时间:


商业转载请联系站长获得授权,非商业转载请注明本文出处及文章链接,您可以自由地在任何媒体以任何形式复制和分发作品,也可以修改和创作,但是分发衍生作品时必须采用相同的许可协议。
本文采用CC BY-NC-SA 4.0进行许可。