Según el documento de GNOME API, el grabador de pantalla gnome-shell ( clase de grabadora de shell ) básicamente canaliza toda la salida de captura de pantalla a una tubería que luego es codificada por GStreamer.
Puede usar su aplicación dconf-editor y navegar org.gnome.shell.recorder
, en este esquema encontrará 3 opciones:
- extensión de archivo: predeterminado en mi caja para
webm
- framerate - defauly en mi caja a 30
- pipeline: que por defecto es pipeline a GStreamer vp8enc para codificar la secuencia.
vp8enc min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 threads=%T ! queue ! webmmux
Entonces, ¿cómo podríamos replicar la tubería de grabación en la línea de comando? Podríamos hacerlo con el comando gst-launch de gstreamer-tool. En primer lugar, necesitas instalar gst-tools en tu caja y puedes comenzar a jugar con gstreamer. Aquí hay algunos ejemplos:
Grabar en webm (vp8 video y 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
Presione Ctrl + C para detener la grabación.
Grabar en ogv (theora video y 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
Presione Ctrl + C para detener la grabación.
Las tuberías se ejecutan mediante gst-launch. Esto es lo que hacen:
- Toma la imagen de video X (el escritorio)
- Convierta automáticamente el video a un formato aceptable
- Genera un hilo de fondo [t1] para continuar el procesamiento de video
- [t1] Codifique el video (ya sea para vp8 o theora)
- [t1] Preparación para fusionar el video en el shell de video (webm u ogg)
- Toma la entrada de audio como raw (el micrófono)
- Genera un hilo de fondo [t2] para continuar el procesamiento de audio
- [t2] Convierte automáticamente el audio a un formato aceptable
- [t2] Codificar el audio a vorbis
- [t2] Preparación para fusionar el audio en el shell de video (webm u ogg)
- Escriba audio y video codificado en el archivo de video
¡Ahora, ya no tienes que tener miedo a las tuberías de gstreamer! \ o /
man istanbul
?