答えはほとんどノーです...まあ、正直に言うとノーです。
@drudru は、フラッシュ p2p に適したテクノロジ、つまり stratus を指摘しました。
Flash p2p は、UDP 上に構築された RTMFP に基づいています。実際、フラッシュはポートをバインドしますが、これは内部からのものです。手動で行うための API はありません。
RTMFP では、基本的に次の 2 つのことが可能です。
- ビデオとオーディオの UDP ストリーミング (信頼性は低いが高速)。フラッシュ側からは、カメラとマイクのストリームのみを公開できます。サーバーから、ほとんど何でも。
- p2p 接続の他のエンドポイントへのリモート呼び出しを行う。これを使用してデータを転送できます。この通信は保護されます。つまり、パッケージの順序と整合性は Flash Player によって維持されます。
p2p は NAT パンチスルーに基づいています。Stratus 自体が導入サーバーです。また、セキュリティ上の理由から、p2p接続は、両方のクライアントがサーバーへのアイドリングTCP接続(私の記憶が正しければ)を持っている必要があることも意味します。もちろん、少しのデータは送信されますが、ペイロードは送信されません。
ただし、トレント プロトコルはこれとは大きく異なります。したがって、これはオプションではありません。RTMFP の上に同等のプロトコルを構築し、stratus サービスをリバースエンジニアリングします (またはオープンソースになるまで待ちます)。もちろん、これはフラッシュ以外のクライアントでも使用できます。しかし、繰り返しになりますが、送信されたデータをビデオとして見ることはできませNetStream
んByteArray
。また、s は再生できませんByteArray
。ビデオをストリームとしてパブリッシュする非フラッシュ クライアントを作成することもできますが、それはあなたが望んでいたものとはかけ離れていると思います。
本当にそのようなことをしたい場合は、Java が必要です。Java アプレットに署名できます。ユーザーが証明書を受け入れると、実質的に無制限のアクセスが可能になります。たとえば、ポートをバインドできます。Java は UDP を実行できるため、トレントを実行する Java アプレットを使用できます (Vuze コードベースを使用するだけかもしれません)。本当にフラッシュで表示したい場合 (これには flv が必要です)、ローカルの " Flash Media Server」を開き、ビデオを localhost:someport に公開します。しかし、実際には、フラッシュビットはとてつもなく複雑で役に立たないように思えます。むしろ Java で再生してみてください。Java には、ネイティブで再生するオプションがあることが期待されます。