Saudações, estou tentando gravar a TV ao vivo de uma placa de captura de TV para arquivos FLV com o FFmpeg. Quando comecei este projeto há duas semanas, esperava algo simples. No entanto, até agora eu não cheguei a lugar nenhum.
Se eu fizer o seguinte
ffmpeg -f oss -i /dev/dsp1 -f video4linux2 -i /dev/video0 test.flv
Eu vídeo, mas sem áudio.
Se eu iniciar uma instância de VLC, XawTV ou qualquer coisa que efetivamente "ligue" meu sintonizador de TV (e, portanto, abra o canal de áudio do meu conector de mic), posso gravar o áudio usando.
ffmpeg -f oss -i hw:0,0 test.mp3
Bem, o problema é que eu quero o áudio em vídeo em um único arquivo .flv, não dividido em dois arquivos que iniciam e param em momentos diferentes.
De alguma forma, iniciar uma instância do VLC, ou XawTV está "abrindo" a entrada do microfone e fazendo com que seus dados estejam disponíveis para outras interfaces. Antes de "abrir" a entrada, se eu tiver um Controle de Volume de Áudio de Pulso aberto e olhar as entradas, basicamente não verei nada. Mas, assim que eu faço uma ação que "abre" a entrada, de repente há dados lá. Em relação ao vídeo, 'abertura' a entrada não é necessária, qualquer video4linux2 do ffmpeg irá gravar dados.
O dilema é que até agora eu não encontrei uma maneira de 'abrir' a entrada do microfone sem bloquear simultaneamente a entrada de vídeo (o que faz VLC, Xawtv ou algo parecido). Se eu tivesse um meio de abrir esse conector, poderia gravar um arquivo FLV combinando as duas fontes. Ou isso, ou eu preciso de uma maneira de simplesmente gravar a entrada diretamente do conector do microfone, mas infelizmente esse pedido no SuperUser tem grilos = p ( O sintonizador de TV reproduz áudio por alto-falantes, mas não pode gravá-lo ).
Qualquer orientação seria muito apreciada.