视频还是建议直接保存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.