Я создал видео OGV с помощью gtk-recordmydesktop
программы для скринкастинга, пытаясь решить эту проблему.здесьс помощью bruteforce через X. Я могу просматривать видео с помощью VLC.
Теперь задача — найти способы конвертировать видео OGV в GIF-анимацию, чтобы можно было отображать их на SE. Как это сделать?
решение1
Взгляни на это:https://askubuntu.com/questions/107726/how-to-create-animated-gif-images-of-a-screencast/107735#107735
..... ПослеНастольный рекордерсохранил запись вОГВвидео,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
решение2
Простой сценарий с хорошим качеством
Сценарий:
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 КБ)
Спалитра:(573 КБ)
решение3
Мне помогает вот эта однострочная фраза:
ffmpeg -i video.ogv video.gif
решение4
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!'