ga('set', 'anonymizeIp', 1);
Categories: 日常

使用FFMPEG将MP4转换为GIF或PNG(APNG)

视频还是建议直接保存MP4的好,体积小,播放效果也不错。有时需要将视频转成动图,方便传到图床使用,这时需要将MP4转为GIF或APNG。

FFMPEG的安装就略过了,以下是我自己使用的转GIF和APNG的代码:

  • MP4转GIF
    使用的方法是将MP4提取出单帧的PNG,再组合成GIF。
#!/bin/sh

palette="/tmp/palette.png"

filters="fps=15,scale=1136:-1:flags=lanczos"

ffmpeg -v warning -i $1 -vf "$filters,palettegen" -y $palette
ffmpeg -v warning -i $1 -i $palette -lavfi "$filters [x]; [x][1:v] paletteuse" -y $2

以上保存为mp4togif.sh,并赋予权限(我所转的视频为1136x640),转换使用:

./mp4togif.sh one.mp4 one.gif

  • MP4转APNG

用以下代码

ffmpeg -i one.mp4 -f apng one.png -plays 0

play 0为无限循环。

图片质量APNG要比GIF好的多,但体积也要大很多,Google Chrome以及火狐都已经支持,图片浏览软件推荐使用XnView.

madlaxcb

View Comments

  • 其实同质量时 APNG 体积比 GIF 和 WebP 都小,只不过一般获得的 APNG 文件画质都明显好于 GIF,所以才显得体积更大。

    • 我选择APNG放弃GIF其实就是因为想要提高质量。在不方便使用MP4限制使用图片的时候,就可以用这个了。

Recent Posts

Windows 11 远程桌面“凭据不工作”的解决方法

依旧是脑残微软的设计风格,远程…

1周 ago

PVE7/PVE8 LXC容器开启TUN/TAP

今天打算用IPV6的LXC开启…

5月 ago

解决WIN10显示器重启后分辨率变低窗口乱跳问题

  最近换了显示器,当有事离开…

9月 ago

宝塔开启堡塔防入侵会导致Chevereto的Cron运行失败

昨晚给服务器搬迁,新服务器装了…

1年 ago

chevereto V3和V4的改造

今天有空升级了cheveret…

1年 ago