將 OGV 影片轉換為 GIF 動畫?

將 OGV 影片轉換為 GIF 動畫?

我用截圖程式創建了 OGV 視頻gtk-recordmydesktop,試圖解決這個問題這裡透過 X 進行暴力破解。

現在的任務是找到一些方法將 OGV 影片轉換為 GIF 動畫,以便我可以在 SE 上顯示它們。我怎樣才能做到這一點?

答案1

看看這個:https://askubuntu.com/questions/107726/how-to-create-animated-gif-images-of-a-screencast/107735#107735

..... 之後桌面錄音機已將錄音儲存到遠洋船影片,播放器將用於捕獲JPEG截圖,將它們保存到'輸出'目錄。

在終端機上:

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

使用圖像魔術師將螢幕截圖轉換為 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 KB)

在此輸入影像描述

調色盤:(573 KB)

在此輸入影像描述

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

相關內容