利用adb录制android手机屏幕操作,然后把录制好的mp4转化成为gif图(主要利用ffmpeg)
adb shell screenrecord /sdcard/demo.mp4
adb pull /sdcard/demo.mp4 ./Downloads/
直接使用ffmpeg转化出来的gif图,效果不好,网上找了一圈,主要的思路是向利用视频文件生存调色板,然后再转化gif图,详情看这里。 使用如下脚本,即gifenc.sh:
#!/bin/sh
palette="/tmp/palette.png"
filters="fps=15,scale=320:-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
注意需要该脚本依赖ffmpeg
./gifenc.sh video.mkv anim.gif