Misturar os dois canais é trivial. Aqui está um teste que mistura os dois canais e grava um arquivo por 500 segundos, usando o filtro amix
:
ffmpeg -i http://audio2.radioreference.com/342138428 -i http://audio7.radioreference.com/333108723 -filter_complex amix=inputs=2 -t 500 a.mp3
Isso é mais simples que o filtro amerge
, que também depende do layout do canal (Esquerda, Direita, Centro, etc.). Então, enquanto isso funcionava também, garimpou bastante os canais:
ffmpeg -i http://audio2.radioreference.com/342138428 -i http://audio7.radioreference.com/333108723 -filter_complex amerge=inputs=2 -t 500 a.mp3
Streaming:
O ffmpeg pode ser transmitido de duas maneiras.
- Diretamente
- Para outro servidor, como o icecast
Veja este guia para mais detalhes.
Usando o icecast, com a senha da fonte como "hackme" (o padrão) e a porta 8000 (padrão) como uma das portas, use:
icecast -c /usr/local/etc/icecast.xml
Claro que o seu seria:
icecast -c /path/to/your/icecast.xml
Em seguida, use o amerge
para alimentar o icecast:
ffmpeg -i http://audio2.radioreference.com/342138428 -i http://audio7.radioreference.com/333108723 -filter_complex amerge=inputs=2 -f mp3 icecast://source:hackme@localhost:8000/radio
Abra o VLC e conecte-se ao link (Esse é o meu IP designado, você pode usar o localhost: 8000 / radio).
Você pode ouvir os dois fluxos. Com o amerge (ao invés do amix) os 2 streams serão direcionados para a esquerda e para a direita e serão fáceis de distinguir.
Para misturar 3 streams, use o filtro amix
:
ffmpeg -i http://audio2.radioreference.com/342138428 -i http://audio7.radioreference.com/333108723 -i <third stream> -filter_complex amix=inputs=3 -f mp3 icecast://source:hackme@localhost:8000/radio