Gemäß dem GNOME-API-Dokument ist der Bildschirmschreiber der gnome-shell ( Shell-Recorder-Klasse ) im Wesentlichen eine Pipeline-Ausgabe aller Screenshots an eine Pipeline, die dann vom GStreamer codiert wird.
Sie können Ihre Dconf-Editor-Anwendung verwenden und zu org.gnome.shell.recorder
diesem navigieren . In diesem Schema finden Sie 3 Optionen:
- Dateierweiterung - standardmäßig auf meiner Box
webm
- Framerate - defauly auf meiner Box bis 30
- Pipeline - Standardmäßig wird eine Pipeline an GStreamer vp8enc zum Kodieren des Streams erstellt.
vp8enc min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 threads=%T ! queue ! webmmux
Wie können wir also die Aufzeichnungspipeline in der Befehlszeile replizieren? Wir können dies mit dem gst-launch-Befehl des gstreamer-Tools tun. Zuerst müssen Sie gst-tools auf Ihrer Box installieren und Sie können mit gstreamer! Spielen. Hier einige Beispiele:
Aufnehmen in webm (vp8 video & vorbis audio):
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
Drücken Sie Strg + C, um die Aufnahme zu stoppen.
Aufnehmen in 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
Drücken Sie Strg + C, um die Aufnahme zu stoppen.
Die Pipelines werden von gst-launch ausgeführt. Folgendes tun sie:
- Schnapp dir das X-Videobild (den Desktop)
- Konvertieren Sie das Video automatisch in ein akzeptables Format
- Erstellen Sie einen Hintergrund-Thread [t1], um die Videoverarbeitung fortzusetzen
- [t1] Kodiere das Video (entweder in vp8 oder theora)
- [t1] Vorbereitung für das Zusammenfügen des Videos in die Video-Shell (webm oder ogg)
- Ergreifen Sie die Audioeingabe als Raw (das Mikrofon)
- Erstellen Sie einen Hintergrund-Thread [t2], um die Audioverarbeitung fortzusetzen
- [t2] Konvertieren Sie das Audio automatisch in ein akzeptables Format
- [t2] Kodieren Sie das Audio in vorbis
- [t2] Vorbereitung für das Zusammenführen des Audios in die Video-Shell (webm oder ogg)
- Schreiben Sie codiertes Audio und Video in die Videodatei
Jetzt müssen Sie keine Angst mehr vor Gstreamer-Pipelines haben! \O/