9

私はぐるぐる回っていますが、まだ取得できません。一部の人々はこう言います:ほら、使ってください。他の人は、Flash で p2p を思い通りに使用できない特定の制限があると主張しています。

簡単な質問ですが、既存の torrent ファイルの一部を使用してビデオ/オーディオをユーザーのブラウザにストリーミングする Flash10 アプリケーションを実装することは可能ですか?

いいえの場合 - なぜですか?この「いいえ」の回避策はありますか? はいの場合、実装の難しさは何ですか。また、実際にまだ誰も実装していないのはなぜですか?

4

4 に答える 4

12

答えはほとんどノーです...まあ、正直に言うとノーです。
@drudru は、フラッシュ p2p に適したテクノロジ、つまり stratus を指摘しました。

Flash p2p は、UDP 上に構築された RTMFP に基づいています。実際、フラッシュはポートをバインドしますが、これは内部からのものです。手動で行うための API はありません。

RTMFP では、基本的に次の 2 つのことが可能です。

  1. ビデオとオーディオの UDP ストリーミング (信頼性は低いが高速)。フラッシュ側からは、カメラとマイクのストリームのみを公開できます。サーバーから、ほとんど何でも。
  2. p2p 接続の他のエンドポイントへのリモート呼び出しを行う。これを使用してデータを転送できます。この通信は保護されます。つまり、パッケージの順序と整合性は Flash Player によって維持されます。

p2p は NAT パンチスルーに基づいています。Stratus 自体が導入サーバーです。また、セキュリティ上の理由から、p2p接続は、両方のクライアントがサーバーへのアイドリングTCP接続(私の記憶が正しければ)を持っている必要があることも意味します。もちろん、少しのデータは送信されますが、ペイロードは送信されません。

ただし、トレント プロトコルはこれとは大きく異なります。したがって、これはオプションではありません。RTMFP の上に同等のプロトコルを構築し、stratus サービスをリバースエンジニアリングします (またはオープンソースになるまで待ちます)。もちろん、これはフラッシュ以外のクライアントでも使用できます。しかし、繰り返しになりますが、送信されたデータをビデオとして見ることはできませNetStreamByteArray。また、s は再生できませんByteArray。ビデオをストリームとしてパブリッシュする非フラッシュ クライアントを作成することもできますが、それはあなたが望んでいたものとはかけ離れていると思います。

本当にそのようなことをしたい場合は、Java が必要です。Java アプレットに署名できます。ユーザーが証明書を受け入れると、実質的に無制限のアクセスが可能になります。たとえば、ポートをバインドできます。Java は UDP を実行できるため、トレントを実行する Java アプレットを使用できます (Vuze コードベースを使用するだけかもしれません)。本当にフラッシュで表示したい場合 (これには flv が必要です)、ローカルの " Flash Media Server」を開き、ビデオを localhost:someport に公開します。しかし、実際には、フラッシュビットはとてつもなく複雑で役に立たないように思えます。むしろ Java で再生してみてください。Java には、ネイティブで再生するオプションがあることが期待されます。

于 2009-07-10T18:13:03.307 に答える
2

このすべての情報は現在古くなっています。

于 2010-03-29T22:49:00.727 に答える
2

Flash では、着信接続をソケットでリッスンすることはできません。これにより、既存の torrent を操作することが非常に困難になります。これに関するセキュリティ上の問題を考えると、私はそれが起こっているとは思わない.

しかし、Adobe は Stratus と呼ばれる P2P システムの独自バージョンを開始しました。ここでそれについて読むことができますhttp://labs.adobe.com/technologies/stratus/

于 2009-07-10T17:31:42.063 に答える
0

Hmmm... that's an interesting proposition, only keep the downloaded file in Flash's memory. I think it's certainly possible, but probably slow and you would be capped at a few hundred megabytes.

EDIT: It's NOT possible because you cannot listen to ports using just Flash, the browser does not have that type of capability.

于 2009-07-10T17:30:39.413 に答える