Gravando o áudio do alto-falante usando avconv

5

Estou tendo alguns problemas para gravar o áudio dos meus alto-falantes usando o avconv.

Este é o comando que eu digito no terminal:

avconv -f alsa \
       -i pulse -f x11grab -r 30 -s 1920*1080 \
       -i :0.0 \
       -vcodec libx264 -preset ultrafast \
       -ab 320k -threads 8 \
       screen.mkv

O PROBLEMA: o avconv está gravando o áudio do alto-falante e o áudio do meu microfone, no entanto, o áudio do alto-falante é extremamente baixo. Eu tentei brincar com todos os meus níveis de áudio / volume e eu não consigo fazer o avconv pegar o áudio do alto-falante melhor.

Existe uma opção para o comando avconv que é para áudio de alto-falante?

Por favor, não responda com "use gtk-recordMyDesktop" ou "kazam", acho avconv muito mais conveniente.

Qualquer ajuda é apreciada, obrigado!

    
por Jacob 26.12.2012 / 23:37

5 respostas

7

A informação está nas páginas man do avconv . Na minha versão (provavelmente a mesma que a sua) encontrei no capítulo "Input Devices", na seção "pulse", na linha 1854.

Digite:

$ pactl list sources | less

Você verá informações sobre "Origem # 0", "Origem # 1", etc., dependendo de quantas placas de som e outras coisas você tem.

Pegue a string em "Nome:", será algo como:

alsa_output.pci-[some number].analog-stereo.monitor

onde "some number" depende do seu hardware.

Em vez de demuxing usando alsa diretamente (avconv ... -f alsa ...) como você tentou fazer acima, use pulse:

avconv ... -f pulse -i alsa_output.pci-....analog-stereo.monitor ...

Isso gravará o áudio que está sendo monitorado e transmitido para os alto-falantes ou fones de ouvido ou para qualquer lugar. Se você deseja usar pulso para demux e gravar o microfone, use o outro "Nome:" (ou um dos outros nomes) que não inclui a palavra "monitor".

Espero que ajude.

    
por Daniel Nikpayuk 18.02.2013 / 21:51
2

Instale o pacote pavucontrol . Abra o aplicativo PulseAudio Volume Control no painel.

Na aba Dispositivos de Entrada , desça e escolha Todos os Dispositivos de Entrada . Em seguida, pressione o botão com uma marca de seleção ao lado do dispositivo chamado "Monitor de ... (nome do seu dispositivo)". O dispositivo de entrada de pulsos é agora o que passa pelos alto-falantes.

As configurações que você está usando no avconv devem estar corretas para que isso funcione corretamente.

    
por Jorge Suárez de Lis 19.02.2013 / 01:14
1

O volume do alto-falante é suave porque está gravando através do microfone. Você já encontrou uma maneira de gravar os dois juntos? Estou tendo o mesmo problema. Eu uso fones de ouvido para tocar e o som seria muito melhor assim também ... não familiarizado o suficiente com o pulso para saber o que mudar: - /

    
por Matthew Clark 04.01.2013 / 10:49
0
  1. No tipo de terminal:

     pactl list sources | grep analog-stereo.monitor
    

    Mostra a saída:

    Name: alsa_output.pci-0000_00_1b.0.analog-stereo.monitor
    
  2. ffmpeg -f pulse -i alsa_output.pci-0000_00_1b.0.analog-stereo.monitor alsa-output_analog-stereo_monitor.wav

por Vedavrat 03.10.2013 / 23:58
0

Eu fiz o comando pactl para encontrar o nome. No entanto, quando eu corro avconv eu recebo: john @ JudithLaptop: ~ $ avconv -f pulso -i alsa_output.pci-0000_00_1b.0.analog-stereo.monitor -f x11grab -s $ (xwininfo -root | grep 'geometria' | awk '{print $ 2;}') -r 25 -i: 0.0 -vodec mpeg2video -ar 44100 -s wxga -spect 16: 9 -y /home/john/Temporary/p.mpg avconv versão 0.8.9-4: 0.8.9-0ubuntu0.12.04.1, Copyright (c) 2000-2013 os desenvolvedores do Libav   Construído em 9 de novembro de 2013 19:12:07 com gcc 4.6.3 Formato de entrada desconhecido: 'pulse'

PS Eu não sei se é um arenque vermelho, mas eu vi em algum lugar que o ffmpeg precisava do pacote libpulse-simple para usar o parâmetro de pulso. Eu não vejo o pacote libpulse-simple no meu repositório de 32 bits do Ubuntu Precise.

    
por John Rose 16.11.2013 / 15:18