3つのライブオーディオストリームを1つのライブオーディオストリームにまとめる


1

私は1つの複合オーディオストリームとして再放送したい3つのライブオーディオフィードを持っています。これら3つのライブオーディオフィードすべてを一度に聴きたいのですが、自宅との接続は1か月あたりのデータに制限されているので、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

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


「これら3つのライブオーディオフィードすべてを一度に聴きたい」私は上手く理解できていない気がします。 1つのフィードに選択可能なチャンネル(3)がありますか?
Rajib

@ Rajib nope、基本的に3つのマージを持つ1つのストリーム。私はそれらをまっすぐに混ぜ合わせたい。チャンネルを選択する機能は必要ありません。
ComputerLocus

1
あなたはffmpegで3つのオーディオチャンネルをミックスすることができます amix フィルタ。入力(フィード)フォーマットは何ですか?また、mp3などの出力形式も指定できますか
Rajib

@RajibそれはMPEGベースのストリームです、あなたは例としてこのストリームを使うことができます: audio2.radioreference.com/342138428
ComputerLocus

テストできるように、もう1つストリームを教えてください。上記のストリームは細かいBTWを記録します。
Rajib

回答:


2

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を使い、sourceのパスワードを "hackme"(デフォルト)にし、port 8000(デフォルト)をポートの一つにして、次のコマンドを実行します。

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

もちろん、あなたは

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

それから amerge アイスキャストにフィードするには:

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/radio (それは私の指定IPです、あなたはlocalhostを使用することができます:8000 /ラジオ)。

あなたは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

3つのストリームがあります。左右を混ぜてもまったくうまくいきません。
ComputerLocus
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.