5

こんにちは、私はアプリの初期段階にあり、その一部として、1 つのデバイスから複数のデバイスにオーディオをストリーミングする必要があります。これまでのところ、これを行うための最良の解決策を探してグーグルで検索してきましたが、これら2つのプロジェクトにはそれぞれ問題があることがわかりました。

Spydroid http://code.google.com/p/spydroid-ipcamera/ 問題これの問題は、接続された 1 つのデバイスに限定された rtsp ストリームを作成することです。両方のコンピューターでリンクを参照すると、アプリで両方のクライアントが接続されていることがわかりますが、接続する 2 番目のクライアントがすぐに切断され、アプリは私の電話がこの機能をサポートしていないと表示します。私はソースに飛び込み、Session.javaファイルに、2つの接続が作成されないようにするというコメントが上にあるifステートメントがあり、ifステートメントをコメントアウトし、実行後にcatch句が私を捕まえたことがわかりました。このプロジェクトは、3g で動作するため、複数の接続で動作するようにできれば完璧です。

PttDroid http://code.google.com/p/pttdroid/ 問題これの問題は、必要な複数の接続が可能であるにもかかわらず、wifi 経由でしか動作しないことです。そこのホームページには、3gで動作すると書かれていますが、3gとwifiでのマルチキャストが必要なのはユニキャストだけで、3gでもユニキャストを動作させることができませんでした。

したがって、私の質問は、Androidデバイスから複数のコンピューターや他のAndroidデバイスにオーディオをストリーミングするために、どのパスをたどって詳しく調べる必要があるかということになります。

助けてくれてありがとう!

4

1 に答える 1

1

通常、セルラー ネットワークはマルチキャスト パケットをサポートしていません。セルラー ルーターは単純にそれらをルーティングしないため、行き止まりになります。

したがって、複数の宛先にユニキャストを行う必要がありますが、これは電話の限られたセルラー帯域幅にとっては困難な場合があります。同じデバイスで実行できる場合でも、ストリームが 1 つまたは 2 つだけのセルラー帯域幅で競合が発生する可能性が非常に高くなります。(たとえば、同じファイルの複数の Spydroid ストリーム。)

これを行うためのシステムを構築する場合、リフレクションを行うためのサーバーをセットアップすることを検討します。そのため、Spydroid のようなものを使用して RTSP ストリームをサーバーまで実行し、それをサーバーから多数のサブスクライバーに反映することを検討します。これは小さなプロジェクトではありませんが、サーバーのより高い帯域幅を使用して複数のユーザーにストリーミングできます.

このリフレクター戦略を追うプロジェクトがあるようです: https://code.google.com/p/js4ms/wiki/RTSPMulticastReflector

動作するかどうかを確認するためにまったくテストしていませんが、少なくとも正しい道を歩み始めることができます.

于 2014-08-16T22:43:48.897 に答える