同じマウント ポイントに 2 つのソースを配置することはできますか?
例:
ソース 1 (S1 IP アドレスから) は音楽を IP Icecast2 サーバーに送信します。ソース 2 (S2 IP アドレスから) は音声を IP Icecast2 サーバーに送信します。
リスナーの実行: mplayer ip_icecast2:8000/example.ogg..
リスナーは、送信時に音楽とサウンドを聴きます。
同じマウント ポイントに 2 つのソースを配置することはできますか?
例:
ソース 1 (S1 IP アドレスから) は音楽を IP Icecast2 サーバーに送信します。ソース 2 (S2 IP アドレスから) は音声を IP Icecast2 サーバーに送信します。
リスナーの実行: mplayer ip_icecast2:8000/example.ogg..
リスナーは、送信時に音楽とサウンドを聴きます。
Liquidsoap は適切なメタデータの混合と設定を処理できる必要があります。Web サイトはhttp://savonet.sourceforge.net/にあります。
はい。ただし、Icecast だけではできません。
あなたがする必要があるのは、2 つのストリームを混合することです。Icecast には、このようなことを行うための機能はありません。これを行うには多くの方法があります。おそらく、ストリームをFFMPEGと一緒に混合することを検討するでしょう。amerge
およびamix
フィルターを使用できます。
ここで、FFMPEG の出力を Icecast サーバーに取得する必要があります。いくつかのスクリプトを使用すると、STDOUT を FFMPEG から Icecast への TCP 接続にパイプできるはずです。データを送信する前に、適切なヘッダーとそうでないものを送信する必要があります。
異なる URL からの 1 つの音声ソースと 1 つの音声ソースを意味していると思います。Soap の使い方がわからない場合は、SAM ブロードキャスターなどのサードパーティ アプリケーションを使用して、オーディオ ストリームと音楽ストリームの両方を取得できます。
これにより、ストリームがデコードされ、従来のオーディオ ミキサーのようにミックスされてから、再エンコードされて単一の Icecast サーバーに 1 つのストリームとして送信されます。
ナレーションを行っている場合は、対処するための遅延が発生することに注意してください。つまり、話している音声部分の少し後に、最後の聞き手には話し声が聞こえます。これは、関連するバッファの長さに依存します。これは、SAM ブロードキャスターが、あなたがいるのと同じ場所でオーディオを「聞いている」ためです (ソース オーディオ ストリームに話しかけていると仮定します)。次に、それに追加する必要があります。再生バッファ SAM が処理する必要があり、音声のストリームを再生してミックスして渡す必要があります。