OGV-Video in GIF-Animation konvertieren?

OGV-Video in GIF-Animation konvertieren?

Ich habe OGV-Videos mit dem gtk-recordmydesktopScreencasting-Programm erstellt, um dieses Problem zu lösenHiermit Bruteforce über X. Ich kann die Videos mit VLC ansehen.

Jetzt muss ich Wege finden, OGV-Videos in GIF-Animationen umzuwandeln, damit ich sie auf SE anzeigen kann. Wie mache ich das?

Antwort1

Schau dir das an:https://askubuntu.com/questions/107726/wie-erstelle-man-animierte-gif-bilder-eines-screencasts/107735#107735

..... Nach demDesktop-Recorderhat die Aufnahme in einemOGVVideo,MPlayerwird verwendet, um zu erfassenJPEGScreenshots, speichern Sie sie im'Ausgabe'Verzeichnis.

Auf einem Terminal:

mplayer -ao null <video file name> -vo jpeg:outdir=output

VerwendenBildMagickum die Screenshots in animierte GIFs umzuwandeln.

convert output/* output.gif

So können Sie die Screenshots optimieren:

convert output.gif -fuzz 10% -layers Optimize optimised.gif

Antwort2

Einfaches Skript mit guter Qualität

Skript:

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

Code von:https://superuser.com/a/556031/295664

OhnePalette: (231 KB)

Bildbeschreibung hier eingeben

MitPalette:(573 KB)

Bildbeschreibung hier eingeben

Antwort3

Dieser Einzeiler funktioniert bei mir:

ffmpeg -i video.ogv video.gif

Antwort4

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!'

verwandte Informationen