Gravando apenas uma janela no gravador de desktop padrão do Gnomes 3


10

O Gnome 3 possui um ótimo recurso no Ctrl- Alt- Shift- Ratalho 1 .Eu acho que isso é Istambul . Parece que não é Istambul ... No entanto, não consigo encontrar nenhuma informação sobre este programa.

Onde posso encontrar a página de manual? Como posso executá-lo no console?
E o mais importante: como gravar apenas uma janela (semelhante ao Alt+ Print Screen)?


Suponho que você já tentou man istanbul?
User1686

@ grrawity: Eu tentei correr, man istanbulmas não havia páginas para Istambul. Também não há istanbulcomando disponível. Talvez o gravador padrão do Gnome 3 não seja Istambul? Então o que é?
seler 14/05

Respostas:


14

De acordo com o documento da API do GNOME, o gravador de tela gnome-shell ( classe shell-gravador ) é basicamente canaliza toda a saída da captura de tela para um canal que é então codificado pelo GStreamer.

Você pode usar seu aplicativo dconf-editor e navegar para org.gnome.shell.recorder, neste esquema, você encontrará 3 opções:

  • extensão de arquivo - padrão na minha caixa para webm
  • framerate - defauly na minha caixa para 30
  • pipeline - que padrão é o pipeline para o GStreamer vp8enc para codificação do fluxo. vp8enc min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 threads=%T ! queue ! webmmux

Então, como podemos replicar o pipeline de gravação na linha de comando? Poderíamos fazer isso com o comando gst-launch da gstreamer-tool. Primeiro, você precisa instalar o gst-tools na sua caixa e pode começar a jogar com o gstreamer !. Aqui estão alguns exemplos:

Gravar no webm (vídeo vp8 e áudio 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

Pressione Ctrl + C para parar a gravação.

Grave em ogv (theora video e 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

Pressione Ctrl + C para parar a gravação.

Os pipelines são executados pelo gst-launch. Aqui está o que eles fazem:

  • Pegue a imagem de vídeo X (a área de trabalho)
  • Converter automaticamente o vídeo em um formato aceitável
  • Gera um thread de segundo plano [t1] para continuar o processamento de vídeo
  • [t1] Codifique o vídeo (para vp8 ou theora)
  • [t1] Preparação para mesclar o vídeo no shell de vídeo (webm ou ogg)
  • Pegue a entrada de áudio como raw (o microfone)
  • Gera um thread de segundo plano [t2] para continuar o processamento de áudio
  • [t2] Converter automaticamente o áudio para um formato aceitável
  • [t2] Codifica o áudio para vorbis
  • [t2] Preparação para mesclar o áudio no shell de vídeo (webm ou ogg)
  • Grave áudio e vídeo codificado no arquivo de vídeo

Agora, você não precisa mais ter medo de gasodutos! \ o /


9

E o mais importante. Como gravar apenas uma janela?

Se você conseguir o XID da janela, poderá passá-lo para o ximagesrc. Por exemplo, se você sabe qual é o título exclusivo da Janela, pode usar xwininfo e um pouco de mágica para obtê-lo. Na festança:

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

Agora você pode passar esse XID para o ximagesrc e, é claro, terminar o pipeline:

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

E para sua informação, estou lhe mostrando isso usando a versão 1.0 do gstreamer. Não há mais espaço para ffmpegcolorspace, você usa videoconvert (as versões mais recentes do FFmpeg tiveram uma mudança de nome para 'libav', portanto, ele foi renomeado).


0

A gravação do Gnome 3 usa o plug-in GStreamer FFmpeg para gerar uma .webm na casa do usuário.

Plug-in GStreamer FFmpeg

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

E o mais importante: como gravar apenas uma janela?

Pode ampliar a janela para tela cheia?


O que quero dizer é que eu quero que meu vídeo tenha resolução da janela que estou gravando. Além disso, não preciso mostrar aos outros meu horário atual, notificações, status da rede, nível de volume etc. editar: Similar ao <kbd> Alt </kbd> + <kbd> Tela de impressão </kbd>
seler

A gravação embutida no gnome3 é muito limitada e até nenhum som me fez sentir como se fosse para uso casual. Existe o recordMyDesktop e, por outro lado, o script ffmpeg no fórum do Archlinux . Para mim, todos eles funcionam melhor que o Gnome3.
Rony
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.