Registrare solo una finestra nel registratore desktop predefinito di Gnomes 3


10

Gnome 3 ha una grande funzionalità sotto Ctrl- Alt- Shift- Rscorciatoia 1 .Immagino che questa sia Istanbul . Sembra che non sia Istanbul ... Eppure non riesco a trovare alcuna informazione su questo programma.

Dove posso trovare la pagina man? Come posso eseguirlo dalla console?
E, soprattutto: come posso registrare solo una finestra (simile a Alt+ Print Screen)?


Suppongo che tu abbia già provato man istanbul?
user1686

@grawity: ho provato a correre man istanbulma non c'erano pagine per Istanbul. Inoltre non è istanbuldisponibile alcun comando. Forse il registratore predefinito di Gnome 3 non è Istanbul? Quindi cos'è?
seler

Risposte:


14

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 /


9

E, soprattutto. Come posso registrare solo una finestra?

Se riesci a ottenere l'XID della finestra, puoi passarlo a ximagesrc. Ad esempio, se sai qual è il titolo unico di Window, puoi usare xwininfo e un po 'di magia per ottenerlo. In bash:

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

Ora puoi semplicemente passare l'XID a ximagesrc e, naturalmente, completare la pipeline:

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

Cordiali saluti, te lo sto mostrando usando la versione 1.0 di gstreamer. Non c'è più ffmpegcolorspace, invece usi videoconvert (le ultime versioni di FFmpeg hanno avuto un cambio di nome in 'libav', quindi è stato rinominato).


0

La registrazione di Gnome 3 utilizza il plug-in GStreamer FFmpeg per generare un .webm sotto casa dell'utente.

Plug-in GStreamer FFmpeg

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

E, soprattutto: come posso registrare solo una finestra?

Può essere ingrandire la finestra a schermo intero?


Voglio dire che voglio che il mio video abbia una risoluzione della finestra che sto registrando. Inoltre, non ho bisogno di mostrare agli altri la mia ora corrente, le notifiche, lo stato della rete, il livello del volume ecc. Modifica: Simile a <kbd> Alt </kbd> + <kbd> Stampa schermo </kbd>
seler

La registrazione integrata di gnome3 è molto limitata e persino nessun suono mi ha fatto sentire come se fosse per un uso occasionale. C'è recordMyDesktop e d'altra parte lo script ffmpeg nel forum Archlinux . Per me funzionano tutti meglio di quelli di Gnome3.
Rony,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.