De acordo com o documento da API do GNOME, a classe gnome-shell ( shell-recorder ) gravador de tela é basicamente pipeline toda saída de tela para um pipeline 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:
- file-extension - padrão na minha caixa para
webm
- framerate - defauly na minha caixa para 30
- pipeline - cujo padrão é pipeline para o GStreamer vp8enc para codificar o fluxo. %código%
Então, como poderíamos replicar o pipeline de gravação na linha de comando? Poderíamos fazê-lo com o comando gst-launch da ferramenta gstreamer. Em primeiro lugar, você precisa instalar gst-tools em sua caixa e você pode começar a jogar com o gstreamer !. Aqui estão alguns exemplos:
Gravar para webm (vp8 video & 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
Pressione Ctrl + C para interromper a gravação.
Grave para 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
Pressione Ctrl + C para interromper a gravação.
Os pipelines são executados por gst-launch. Veja o que eles fazem:
- Agarre a imagem de vídeo X (a área de trabalho)
- Converta automaticamente o vídeo para um formato aceitável
- Gerar um thread de segundo plano [t1] para continuar o processamento de vídeo
- [t1] Codifica o vídeo (para vp8 ou theora)
- [t1] Prepare-se para mesclar o vídeo no shell de vídeo (webm ou ogg)
- Agarre a entrada de áudio como raw (o microfone)
- Gerar um thread de segundo plano [t2] para continuar o processamento de áudio
- [t2] Converte automaticamente o áudio para um formato aceitável
- [t2] Codifica o áudio para vorbis
- [t2] Prepare-se para mesclar o áudio no shell de vídeo (webm ou ogg)
- Grave áudio e vídeo codificados no arquivo de vídeo
Agora, você não precisa mais ter medo de pipelines gstreamer! \ o /