Como gravar de duas fontes de áudio simultaneamente no ffmpeg?

1

Eu estou gravando um Let's Play usando o ffmpeg no Arch Linux. Eu gostaria de gravá-lo tanto no áudio do jogo quanto no microfone. Estou usando o PulseAudio para som. Consigo gravar o microfone ou o áudio do jogo, mas não os dois. Eu preciso que a saída esteja em um formato adequado para o YouTube (Vídeo: h264, Áudio: AAC).

Como posso gravar as duas fontes de uma só vez? Estou procurando uma solução que os combine em uma trilha de áudio no arquivo de saída ou que me forneça dois arquivos de saída de áudio e outro programa para combiná-los.

Meu hack atual é usar o gst-launch para enviar todas as entradas de microfone para a saída do alto-falante, e como isso é realmente uma distração, diminua o volume para nada nos meus fones de ouvido.

    
por Macha 23.01.2011 / 21:49

1 resposta

2

Primeira opção

Como você já pode gravar o áudio e o microfone do jogo, eu tentaria apenas exibi-los em dois arquivos:

parec --format=s16le --rate=44100 -d ... | ffmpeg -ac 2 -f s16le -ar 44100  -i - mic.mp3
parec --format=s16le --rate=44100 -d ... | ffmpeg -ac 2 -f s16le -ar 44100  -i - game.mp3

e, em seguida, use o Audacity para sincronizá-los e compilá-los em um único arquivo de áudio.

Segunda opção

De aqui eu tentaria:

Firstly load a null sink:

pactl load-module module-null-sink sink_name='foo'

Then load two module loops backs:

pactl load-module module-loopback

pactl load-module module-loopback

Using pavucontrol, connect the output of the two loopbacks to the null sink. Connect the input of the two loopbacks to: alsa_output.pci-0000_00_14.2.analog-stereo.monitor and alsa_input.pci-0000_00_14.2.analog-stereo

This means that you will effectively be recording both your mic and the output of your sound card and playing back both streams on the null sink. As it is a null sink you wont be able to hear it, but you should be able to see the VU meter in the playback tab of pavucontrol.

Then in order to record the combined result, you will simply select foo.monitor.

pacat -r -d foo.monitor

    
por 22.02.2011 / 09:22