Atualmente, estou executando a seguinte configuração.
ffmpeg \
-i http://pub1.di.fm:80/di_vocaltrance \
-f x11grab -s 1920x1080 -r 25 -i :0.0 \
-c:v libx264 -preset fast -pix_fmt yuv420p -s 1280x800 \
-c:a libmp3lame -ab 96k -ar 22050 \
-threads 0 \
-f flv "rtmp://...."
O que eu quero assar:
-f alsa -ac 2 -i hw:0 -acodec pcm_s32le -aq 1 -ab 128k\
Isso é possível? E talvez até misture "o que eu ouço" (aka reprodução) por assim dizer?
Eu tentei algo do tipo (mas não compreendo totalmente o mapa)
-i http://pub1.di.fm:80/di_vocaltrance -map 0:1 \
-f x11grab -s 1920x1080 -r 25 -i :0.0 -map 0:0 \
Mas isso realmente não foi tão bem.
Estou tão perto agora, isso me dá canais de som, mas tudo parece que estou dentro de uma espécie de lata pequena.
#!/bin/bash
KEY=`cat key.db`
ffmpeg \
-i http://pub1.di.fm:80/di_vocaltrance \
-f alsa -ac 2 -i hw:0 -acodec mp3 -aq 1 -ab 128k \
-f x11grab -s 1920x1080 -r 25 -i :0.0 \
-c:v libx264 -preset fast -pix_fmt yuv420p -s 1280x800 \
-c:a mp3 -ab 96k -ar 22050 \
-threads 0 \
-map 0:0 -map 1:0 -map 2:0 \
-f flv "rtmp://live.twitch.tv/app/$KEY"
Só aparece quando eu misturo os dois sons. Tentando trazer o JACK aqui também, mas sem resultados reais (pensei em passar tudo por uma placa de mixagem para descarregar o ffmpeg da mixagem).
Executando com:
-f alsa -ac 2 -i jack \
....
Dá isto no entanto:
[alsa @ 0x1399280] não pode definir o formato de amostra 0x10000 2 (argumento inválido)
jack: Erro de entrada / saída
Respostas:
Você deve poder usar o filtro amix para misturar seu áudio.
Exemplo:
Também adicionei uma sobreposição de webcam, para removê-la, retire 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 precisar definir
-map
s se incluir alguma entrada que possua vários fluxos para remover os estranhos.Explicação:
-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
Além disso, você pode configurar a fonte de captura da placa de som para mixar para obter o que o computador produz e, com freqüência, pode ativar o som do microfone para obter um loopback do monitor do microfone, mas para que ele funcione corretamente, é necessário usar jack ou pulso. Eu não sei por que jack não funcionou para você, então não posso ajudá-lo com isso, desculpe.
fonte