我创建OGV视频与gtk-recordmydesktop
抓屏程序,试图解决这个问题,在这里用暴力破解了X.我可以查看视频与VLC。
现在,任务是找到一些方法将OGV视频转换为GIF动画,以便可以在SE上显示它们。我怎样才能做到这一点?
我创建OGV视频与gtk-recordmydesktop
抓屏程序,试图解决这个问题,在这里用暴力破解了X.我可以查看视频与VLC。
现在,任务是找到一些方法将OGV视频转换为GIF动画,以便可以在SE上显示它们。我怎样才能做到这一点?
Answers:
看看这个:https : //askubuntu.com/questions/107726/how-to-create-animated-gif-images-of-a-screencast/107735#107735
..... Desktop Recorder将记录保存到OGV视频中后,将使用MPlayer捕获JPEG屏幕截图,并将其保存到“输出”目录中。
在终端上:
mplayer -ao null <video file name> -vo jpeg:outdir=output
使用ImageMagick将屏幕截图转换为动画gif。
convert output/* output.gif
您可以通过以下方式优化屏幕截图:
convert output.gif -fuzz 10% -layers Optimize optimised.gif
-limit map 1
到命令无法修复它。
ffmpeg -i output/00000%03d.jpg output.gif
unix.stackexchange.com/questions/24014/…–戴维德罗兹
convert output/* -fuzz 10% -layers Optimize optimised.gif
也是可行的,而且比两条命令的路径明显更快。此外,还mplayer
可以轻松创建png
屏幕截图,这对于捕获网站或GUI可能是首选。
高质量的简单脚本
脚本:
inputFile=$1
FPS=15
WIDTH=320
#Generate palette for better quality
ffmpeg -i $inputFile -vf fps=$FPS,scale=$WIDTH:-1:flags=lanczos,palettegen tmp_palette.png
#Generate gif using palette
ffmpeg -i $inputFile -i tmp_palette.png -loop 0 -filter_complex "fps=$FPS,scale=$WIDTH:-1:flags=lanczos[x];[x][1:v]paletteuse" output.gif
rm tmp_palette.png
代码来自:https : //superuser.com/a/556031/295664
没有调色板:(231 KB)
带有调色板:(573 KB)
ifile=~/test.ogv
echo '# Determine input WxH and FPS'
eval "$(ffmpeg -i "$ifile" 2>&1 |sed -nr 's/.*Stream.*Video.* ([0-9]+x[0-9]+),.*[^[0-9.]([0-9.]+).*tbr,.*/WxH=\1;FPS=\2/p')"
echo '# Output multiple images from the input video'
ffmpeg -i "$ifile" -r $FPS -s $WxH -f image2 -vframes 100 -y ~/test-%03d.jpg 2>/dev/null
echo '# use ImageMagic "convert" to generate the animated .gif'
convert -delay 20 ~/test-[0-9][0-9][0-9].jpg ~/test.gif
echo '# remove temp image files'
rm -f ~/test-[0-9][0-9][0-9].jpg
echo 'Done!'
-limit map 1
进行转换(否则将其“杀死”)。