ffmpeg Captura de áudio ALSA não funciona

2

Eu uso os binários estáticos do ffmpeg ( link ) no linux mint 17.2. Quando tento capturar áudio com o comando:

ffmpeg -f alsa -ac 2 -i hw:0 output.wav

Acabo com o seguinte erro:

ALSA lib ../../src/conf.c:3325:(snd_config_hooks_call) Cannot open shared library libasound_module_conf_pulse.so
ALSA lib ../../../src/pcm/pcm.c:2267:(snd_pcm_open_noupdate) Unknown PCM hw:0
[alsa @ 0x43e7200] cannot open audio device hw:0 (No such file or directory)
hw:0: Input/output error

Seguindo as sugestões de outras fontes, eu reinstalei os seguintes pacotes com sucesso (já que eles já estavam instalados), mas acabei com o mesmo erro:

sudo apt-get install --reinstall libasound2:amd64 libasound2-plugins:amd64
sudo apt-get install --reinstall libasound2:i386 libasound2-plugins:i386

Eu posso usar com sucesso aplay (não sei se é de alguma preocupação):

aplay /usr/share/sounds/alsa/Front_Center.wav

E sei que libasound_module_conf_pulse.so e amigos estão localizados no meu pc e localizados aqui:

/usr/lib/i386-linux-gnu/alsa-lib/libasound_module_conf_pulse.so
/usr/lib/x86_64-linux-gnu/alsa-lib/libasound_module_conf_pulse.so

Então, qual pode ser o problema? Eu só queria fazer uma captura de tela simples e até agora meu dia se foi :(. Eu acho estranho que o erro ffmpeg cospe um caminho relativo ../../src/conf.c:3325 (é que de alguma preocupação?).

    
por Simon Streicher 10.01.2016 / 14:41

1 resposta

4

Estas são construções totalmente estáticas e, devido a isso, não possuem dependência com as bibliotecas compartilhadas do sistema, portanto, é inútil ajustar algo no sistema. Infelizmente, eles não são construídos contra o pulso. Isso significa que, na forma como são fornecidos, você não pode gravar áudio com pulso / alsa, a menos que o autor adicione suporte de pulso nas próximas versões dessas compilações.

Uma solução alternativa seria criar sua própria versão. Não é tão difícil. Existe um guia simples no site do FFmpeg: link . Adicione "--enable-libpulse" ao script de configuração do FFmpeg na etapa final.

    
por 16.01.2016 / 15:01