3개의 라이브 오디오 스트림을 하나의 라이브 오디오 스트림으로 결합

3개의 라이브 오디오 스트림을 하나의 라이브 오디오 스트림으로 결합

하나의 결합된 오디오 스트림으로 재방송하려는 세 개의 라이브 오디오 피드가 있습니다. 이 세 가지 라이브 오디오 피드를 동시에 듣고 싶지만 집 연결은 월별 데이터로 제한되므로 하나의 소스에서만 스트리밍하는 것이 좋습니다. 그렇기 때문에 외부 서버의 피드 하나를 대신 사용하고 싶습니다.

이를 달성하기 위해 ffmpeg와 같은 것을 사용할 수 있습니까, 아니면 그보다 더 복잡합니까?

다양한 형식으로 라이브 오디오 피드를 얻을 수 있습니다. 스트리밍을 지원하는 것은 Windows Media Player, Real Player, iTunes, Winamp, Web Player 및 Java Web Player이므로 지원되는 피드 유형을 얻는 것은 문제가 되지 않습니다.

다음은 두 가지 피드의 예입니다.

  • http://audio2.radioreference.com/342138428
  • http://audio7.radioreference.com/333108723

나는 이것을 하나의 피드로 만들고 싶습니다.http://example.com/radiostream그리고 나는 스트림을 가질 것입니다. 피드는 현재 MPEG 형식이므로 정확히 동일한 코덱으로 다시 출력해도 괜찮습니다.

답변1

두 채널을 혼합하는 것은 쉽지 않습니다. 다음은 필터를 사용하여 두 채널을 혼합하고 500초 동안 파일을 녹음하는 테스트입니다 amix.

ffmpeg -i http://audio2.radioreference.com/342138428 -i http://audio7.radioreference.com/333108723 -filter_complex amix=inputs=2 -t 500 a.mp3

amerge이는 채널 레이아웃(왼쪽, 오른쪽, 중앙 등)에 따라 달라지는 필터 보다 간단합니다 . 따라서 이 방법도 효과가 있었지만 채널이 거의 패닝되었습니다.

ffmpeg -i http://audio2.radioreference.com/342138428 -i http://audio7.radioreference.com/333108723 -filter_complex amerge=inputs=2 -t 500 a.mp3

스트리밍:

ffmpeg는 두 가지 방법으로 스트리밍할 수 있습니다.

  1. 곧장
  2. icecast와 같은 다른 서버로

보다이 가이드상세 사항은.

소스 비밀번호가 "hackme"(기본값)이고 포트 8000(기본값)이 포트 중 하나로 설정된 icecast를 사용하면 다음을 사용하여 실행됩니다.

icecast -c /usr/local/etc/icecast.xml

물론 당신의 것은 다음과 같습니다:

icecast -c /path/to/your/icecast.xml

그런 다음 를 사용하여 amergeicecast에 공급합니다.

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

VLC를 열고 스트림에 연결하십시오.http://192.168.1.128:8000/라디오(이것은 내가 지정한 IP입니다. localhost:8000/radio를 사용할 수 있습니다).

2개의 스트림을 들을 수 있습니다. amix가 아닌 amerge를 사용하면 2개의 스트림이 왼쪽에서 오른쪽으로 패닝되므로 쉽게 구별할 수 있습니다.

3개의 스트림을 혼합하려면 다음 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

관련 정보