Uno dei migliori strumenti che uso è ffmpeg
. Può prendere la maggior parte dei video da uno strumento screencast come kazam
e convertirlo in un altro formato.
Installa questo dal centro software : viene installato automaticamente se installi il ubuntu-restricted-extras
pacchetto eccellente .
Kazam può produrre nei formati video mp4
o webm
. Generalmente si ottengono risultati migliori in mp4
formato.
esempio GIF sintassi
La sintassi di base per convertire i video in GIF è:
ffmpeg -i [inputvideo_filename] -pix_fmt rgb24 [output.gif]
Le GIF convertite, specialmente quelle con un frame standard al 25/29 al secondo, possono essere molto grandi. Ad esempio: un video di 15 secondi con webm da 800 Kb a 25 fps può generare fino a 435 Mb!
Puoi ridurlo con una serie di metodi:
frequenza dei fotogrammi
Usa l'opzione -r [frame-per-second]
per esempio ffmpeg -i Untitled_Screencast.webm -r 1 -pix_fmt rgb24 out.gif
Dimensioni ridotte da 435 Mb a 19 Mb
limite di dimensione del file
Usa l'opzione -fs [filesize]
per esempio ffmpeg -i Untitled_Screencast.webm -fs 5000k -pix_fmt rgb24 out.gif
Nota: questa è una dimensione approssimativa del file di output, quindi la dimensione può essere leggermente più grande di quanto specificato.
dimensione del video in uscita
Usa l'opzione -s [widthxheight]
per esempio ffmpeg -i Untitled_Screencast.webm -s 320x200 -pix_fmt rgb24 out.gif
Ciò ha ridotto le dimensioni del video di esempio 1366x768 fino a 26 Mb
loop per sempre
A volte potresti volere che la GIF sia ripetuta per sempre.
Usa l'opzione -loop_output 0
ffmpeg -i Untitled_Screencast.webm -loop_output 0 -pix_fmt rgb24 out.gif
ottimizzare ulteriormente e ridurre
se si utilizza imagemagick
convert
con un fattore di sfocatura tra il 3% e il 10%, è possibile ridurre drasticamente le dimensioni dell'immagine
convert output.gif -fuzz 3% -layers Optimize finalgif.gif
finalmente
combinare alcune di queste opzioni per ridurre a qualcosa gestibile per Ask Ubuntu.
ffmpeg -i Untitled_Screencast.webm -loop_output 0 -r 5 -s 320x200 -pix_fmt rgb24 out.gif
seguito da
convert output.gif -fuzz 8% -layers Optimize finalgif.gif
esempio