Não é uma boa ideia misturar opções de entrada e saída. Esperançosamente, você notará que o avconv está convertendo seu áudio para Vorbis ao invés de FLAC - isso porque acha que você está tentando definir isso como o codec de áudio do seu dispositivo video4linux, e está ignorando-o como uma opção inválida. Você também seria melhor servido usando o x264 como seu codificador de vídeo. Como você está usando o Ubuntu, o IIRC, você deve tê-lo como parte do ubuntu-restricted-extras.
avconv -f alsa -i default -f video4linux2 -r 6 -i /dev/video0 -f x11grab -i 0:0 \
-map 1 -map 2 -map 0 \
-c:a flac -c:v libx264 -crf 23 -preset veryfast output.mkv
Por padrão, o avconv seleciona apenas um fluxo de vídeo e um fluxo de áudio (e um fluxo de legenda, se houver um aí) para a saída. -map 1 -map 2 -map 0
diz para tomar todos os fluxos das três primeiras entradas (começa a contar a partir de 0).
Não é diretamente relevante para isso (já que cada uma de suas entradas conterá apenas um fluxo), mas você também pode selecionar fluxos individuais de entradas com -map
: -map 0:1
mapeará o segundo fluxo a partir do primeiro áudio, -map 1:a
mapeará cada fluxo de áudio da segunda entrada, -map 2:v:1
mapeará o segundo fluxo de vídeo a partir da terceira entrada e -map 3:s
mapeará todas as legendas a partir da quarta entrada.
A ordem em que você usa os -map
flags é importante; no exemplo acima, eu fiz isso para que a entrada de áudio fosse mapeada em terceiro, colocando esse -map
por último.
Se você tiver problemas com o x264 retardar a gravação da sua tela (não deve ser a menos que você tenha um computador obsoleto), você pode tentar alterar o -preset
para super-rápido ou ultra-rápido, ambos o que lhe dará codificação mais rápida / menos intensiva de CPU Se isso não funcionar, você pode tentar usar -c:v huffyuv
- que é um codec de vídeo sem perdas, o equivalente de vídeo do FLAC, e fornecerá tamanhos de arquivos realmente ridículos; mas você pode recodificar para um codec menos doloroso depois.