Você deve poder usar o filtro amix para misturar seu áudio.
Exemplo:
ffmpeg \
-i http://pub1.di.fm:80/di_vocaltrance \ # internet radio
-f alsa -i hw:0 \ # microphone
-f x11grab -i :0.0 \ # computer desktop
-f v4l2 -i /dev/video0 \ # webcam or
# -f iec61883 -i auto \ # firewire camcorder
-filter_complex '[0:a:0][1:a:0]amix=inputs=2;[3:v:0]scale=200:-1[webcam],[2:v:0][webcam]overlay=main_w-overlay_w-10:main_h-overlay_h-10' \
<output>
Eu adicionei uma sobreposição de webcam também, para removê-la, tire a linha da webcam, o ponto e vírgula e as definições após o ponto e vírgula.
Lembre-se de que você pode ter que definir -map
s se você adicionar qualquer entrada que tenha vários fluxos para remover os extrínsecos.
Explicação:
-
-filter_complex
- define filtros com várias entradas ou saídas
-
[0:a:0]
- Digite 0 do fluxo de áudio 0 (rádio da internet)
-
[1:a:0]
- Número 0 do fluxo de áudio da entrada 1. (microfone)
-
amix=inputs=2
- Misture dois fluxos de áudio, se nenhum fluxo de entrada for definido, ele selecionará automaticamente dois, portanto, nesta instância, você deve ser capaz de deixar de lado as duas definições acima.
-
;
- Iniciar uma nova cadeia de filtros
-
[3:v:0]
- Número 0 do fluxo de vídeo da entrada 3. (webcam)
-
scale=200:-1
- Transforme o vídeo em 200x ???, -1 mantém a proporção, para que um vídeo de 600 x 480 se torne 200x160.
-
[webcam]
- Ligue para a saída escalada "webcam".
-
,
- Continue para o próximo filtro nesta cadeia.
-
[2:v:0]
- Número 0 do stream de vídeo da entrada 2 (desktop)
-
[webcam]
- O fluxo de webcam dimensionado.
-
overlay=main_w-overlay_w-10:main_h-overlay_h-10
- Sobreponha a segunda entrada sobre a primeira entrada, colocando a segunda entrada a 10 pixels da direita e a 10 pixels da parte inferior.
Além disso, você pode definir a fonte de captura da placa de som para mixar para obter o que o computador produz, e você pode ativar o microfone para obter um loopback de monitor de microfone, mas para que ele funcione corretamente você precisa usar jack ou pulso . Eu não sei porque Jack não funcionou para você, então eu não posso te ajudar com isso, desculpe.