3つのライブオーディオストリームを1つのライブオーディオストリームに結合する

3つのライブオーディオストリームを1つのライブオーディオストリームに結合する

3 つのライブ オーディオ フィードがあり、これらを 1 つの結合されたオーディオ ストリームとして再ブロードキャストしたいと考えています。これらの 3 つのライブ オーディオ フィードをすべて同時に聞きたいのですが、自宅の接続は月ごとのデータに制限されているため、1 つのソースからのみストリーミングしたいと考えます。そのため、代わりにオフサイト サーバーからの 1 つのフィードを使用したいと考えています。

これを実現するために ffmpeg のようなものを使用することは可能ですか、それともそれよりも複雑でしょうか?

ライブ オーディオ フィードはさまざまな形式で取得できます。ストリーミングがサポートされているのは、Windows Media Player、Real Player、iTunes、Winamp、Web Player、および Java Web Player なので、サポートされているフィード タイプを取得することは問題になりません。

以下に 2 つのフィードの例を示します。

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

これらを1つのフィードにまとめたいので、http://example.com/radiostreamストリームが得られます。フィードは現在 MPEG 形式ですが、まったく同じコーデックで出力してもまったく問題ありません。

答え1

2 つのチャンネルをミックスするのは簡単です。以下は、フィルターを使用して 2 つのチャンネルをミックスし、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 は 2 つの方法でストリーミングできます。

  1. 直接
  2. 別のサーバー(例えばicecast)へ

見るこのガイド詳細については。

icecast を使用し、ソースのパスワードを「hackme」(デフォルト)、ポートの 1 つをポート 8000 (デフォルト) として、次のように起動します。

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 つのストリームを聞くことができます。 amerge (amix ではなく) を使用すると、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

関連情報