Grabar solo una ventana en la grabadora de escritorio predeterminada de Gnomes 3

10

Gnome 3 tiene una gran característica en Ctrl- Alt- Shift- Ratajo 1 .Supongo que esto es Estambul . Parece que no es Estambul ... Sin embargo, no puedo encontrar ninguna información sobre este programa.

¿Dónde puedo encontrar la página man? ¿Cómo puedo ejecutarlo desde la consola?
Y lo más importante: ¿cómo puedo grabar solo una ventana (similar a Alt+ Print Screen)?

seler
fuente
¿Supongo que ya lo has intentado man istanbul?
user1686
@grawity: intenté correr man istanbulpero no había páginas para Estambul. Además, no hay istanbulcomando disponible. ¿Quizás el grabador predeterminado de Gnome 3 no es Estambul? ¿Entonces que es?
seler

Respuestas:

14

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 /

Trung Lê
fuente
9

Y más importante. ¿Cómo puedo grabar solo una ventana?

Si puede obtener el XID de la ventana, puede pasarlo a ximagesrc. Por ejemplo, si sabes cuál es el título único de la ventana, puedes usar xwininfo y un poco de magia para conseguirlo. En bash:

TITLE="Terminal Six"
WINDOW_XID=$(xwininfo -tree -root -all | egrep $TITLE | sed -e 's/^ *//' | cut -d\  -f1)`

Ahora puede pasar ese XID a ximagesrc y, por supuesto, finalizar la canalización:

gst-launch-1.0 ximagesrc xid=$WINDOW_XID ! video/x-raw,framerate=30/1 ! videoconvert ! queue ! ...

Y para tu información, te estoy mostrando esto usando la versión 1.0 de gstreamer. Ya no hay más ffmpegcolorspace, en su lugar utiliza videoconvert (las últimas versiones de FFmpeg han cambiado de nombre a 'libav', por lo que se ha cambiado el nombre).

mili
fuente
0

La grabación de Gnome 3 utiliza el complemento GStreamer FFmpeg para generar un .webm en la casa del usuario.

Complemento GStreamer FFmpeg

http://gstreamer.freedesktop.org/modules/gst-ffmpeg.html

Y lo más importante: ¿cómo puedo grabar solo una ventana?

¿Se puede ampliar la ventana a pantalla completa?

Rony
fuente
Lo que quiero decir es que quiero que mi video tenga resolución de la ventana que estoy grabando. Además, no necesito mostrar a otros mi hora actual, notificaciones, estado de la red, nivel de volumen, etc. editar: Similar a <kbd> Alt </kbd> + <kbd> Imprimir pantalla </kbd>
seler
La grabación incorporada de gnome3 es muy limitada e incluso ningún sonido me hizo sentir que es para uso casual. Hay recordMyDesktop y, por otro lado, script ffmpeg en el foro de Archlinux . Para mí, todos funcionan mejor que los de Gnome3.
Rony