screencast con ffmpeg: come registrare il vostro desktop con ffmpeg.

  • Autore discussione Autore discussione Utente 52152
  • Data d'inizio Data d'inizio
Pubblicità
U

Utente 52152

Ospite
Premessa:
Questi script che uso, sono delle guide trovate in rete e rifinite per le mie esigenze.


Perché usare ffmpeg per registrare il desktop:
Estremamente potente e flessibile.
Qualità audio e video al top.
Immune dal composite e dagli effetti desktop di qualsiasi DE e WM.

Perché non usare ffmpeg per registrare il desktop:
Ci sono altri programmi che fanno lo stesso lavoro usando una comoda GUI.
L'area che dobbiamo registrare avrà sempre una dimensione fissa prestabilita.


Mi sono preparato 2 tipi di script con diverse risoluzioni e diverse esigente.
Con il primo tipo di script, avremmo il mouse costantemente al centro del video.
Questo risulta utile se si vuole registrare una videoguida o una piccola recensione di un programma.

Cosa serve?
Installare ffmpeg
pavucontrol (facoltativo), ma è l'unico che mi fa individuare subito il canale audio in uscita da registrare.

script 1: segui il mouse. in grassetto, alcuni dettagli importanti dello script.
Alcuni da modificare obbligatoriamente, altri in base alla tua esigenza.

/usr/bin/x-terminal-emulator & ffmpeg -f alsa -ac 2 -i pulse -f x11grab -follow_mouse centered -show_region 1 -r 25 -s 1280x720 -i :0.0 -acodec libmp3lame -ab 96k -ar 48000 -ac 2 -vcodec libx264 -vpre lossless_fast -crf 2 -threads 6 /home/kernele/Video/1280-no-mouse.mkv

/usr/bin/x-terminal-emulator &.
Apre il terminale di default del nostro ambiente DE o WM.
Tornerà utile alla fine per terminare il lavoro killando ffmpeg.

-follow_mouse 1 -show_region 1.
Indichiamo a ffmpeg di seguire il mouse tenendolo al centro della finestra mobile da registrare.

-r 25 -s 1280x720.
Il numero dei fotogrammi al secondo e la risoluzione della finestra che deve registrare.
Li possiamo cambiare a nostro piacimento.

-acodec libmp3lame -ab 96k -ar 48000 -ac 2 -vcodec libx264.

Indichiamo ad ffmpeg quali tipi di codec audio e video utilizzare.
Questo campo determina anche la qualità in Kbps del codec audio.
Si possono cambiare a piacimento usando un qualsiasi codec supportato da ffmpeg.

-crf 2.

Parametro importante, indica la qualità della codifica video.
Più si va verso l'altro, minore sarà la qualità del video... che comunque resta sempre molto buona!

-threads 6.
Credo che questo parametro sia ininfluente, almeno con il codec x264.
Il codec x264 va ad usare sempre e comunque tutti i core a disposizione del pc.

/home/kernele/Video/1280-no-mouse.mkv.
Questa è la posizione del video in uscita e il suo nome.
Si cambi la posizione in uscita in base alle nostre esigenze.
Il nome particolare del file in uscita mi serve per distinguere i vari tipi di registrazione.

N.B. Se si prova a registrare 2 volte con lo stesso script, la seconda registrazione andrà in fail perché ffmpeg non puo sovrascrivere il file esistenete,
o si rinomina il file già presente, o lo si sposta/cancella se non serve.


script 2: la registrazione non visualizza il mouse.

/usr/bin/x-terminal-emulator & ffmpeg -f alsa -ac 2 -i pulse -f x11grab -follow_mouse 1 -show_region 1 -r 25 -s 1280x720 -i :0.0 -acodec libmp3lame -ab 96k -ar 48000 -ac 2 -vcodec libx264 -vpre lossless_fast -crf 2 -threads 6 /home/kernele/Video/1280-no-mouse.mkv


stesso discorso del primo, ma con un'unica differenza:
-follow_mouse 1
Questo parametro andrà a posizionare il mouse in un angolo della registrazione rendendolo quasi invisibile.
utile se si vuole registrare una diretta streaming.

Imiei script:
Codice:
1650.sh  
1280-no-mouse.sh 
1280.sh   
680-no-mouse.sh 
680.sh          
justin-no-mouse.sh         
justin.sh


uorc in progress
Scrivete per errori, orrori, correzioni e consigli.




crediti: un rigranziamento a @Draven94.

Un veloce esempio di come si comporta la registrazione con il primo script:

Tom's Hardware.it - YouTube
 
Pubblicità
Pubblicità
Indietro
Top