视频还是建议直接保存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.
文章有(2)条网友点评
其实同质量时 APNG 体积比 GIF 和 WebP 都小,只不过一般获得的 APNG 文件画质都明显好于 GIF,所以才显得体积更大。
@ Coelacanthus 我选择APNG放弃GIF其实就是因为想要提高质量。在不方便使用MP4限制使用图片的时候,就可以用这个了。