Secondo il documento API di GNOME, il registratore di schermate gnome-shell ( classe shell-recorder ) è sostanzialmente pipeline tutto l'output dello screenshot su una pipeline che viene quindi codificata da GStreamer.
Puoi usare la tua applicazione dconf-editor e navigare org.gnome.shell.recorder
, in questo schema troverai 3 opzioni:
- estensione file - impostazione predefinita nella mia casella su
webm
- framerate - predefinito sulla mia casella a 30
- pipeline: impostazione predefinita per il pipeline su GStreamer vp8enc per la codifica del flusso.
vp8enc min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 threads=%T ! queue ! webmmux
Quindi, come potremmo replicare la pipeline di registrazione sulla riga di comando? Potremmo farlo con il comando gst-launch dello strumento gstreamer. Innanzitutto, devi installare gst-tools sulla tua scatola e puoi iniziare a giocare con gstreamer !. Ecco alcuni esempi:
Registra su webm (video vp8 e audio vorbis):
gst-launch ximagesrc ! ffmpegcolorspace ! queue ! vp8enc quality=10 speed=2 ! mux. alsasrc ! audio/x-raw-int ! queue ! audioconvert ! vorbisenc ! mux. webmmux name=mux ! filesink location=screencast.webm
Premi Ctrl + C per interrompere la registrazione.
Registra su ogv (theora video & vorbis audio):
gst-launch ximagesrc ! ffmpegcolorspace ! queue ! theoraenc ! mux. alsasrc ! audio/x-raw-int ! queue ! audioconvert ! vorbisenc ! mux. oggmux name=mux ! filesink location=screencast.ogv
Premi Ctrl + C per interrompere la registrazione.
Le pipeline sono eseguite da gst-launch. Ecco cosa fanno:
- Prendi l'immagine del video X (il desktop)
- Converti automaticamente il video in un formato accettabile
- Genera un thread in background [t1] per continuare l'elaborazione video
- [t1] Codifica il video (su vp8 o theora)
- [t1] Preparati a unire il video nella shell video (webm o ogg)
- Prendi l'ingresso audio come raw (il microfono)
- Genera un thread in background [t2] per continuare l'elaborazione audio
- [t2] Converti automaticamente l'audio in un formato accettabile
- [t2] Codifica l'audio in vorbis
- [t2] Prepara per unire l'audio nella shell video (webm o ogg)
- Scrivi audio e video codificati nel file video
Ora, non devi più aver paura delle condutture gstreamer! \ O /
man istanbul
?