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 /
man istanbul
?