私はビデオポッドキャストのサポートをメディアブラウザに追加することに本当に関心を持っています。TCPソケットを使用してローカルでビデオをプロキシする
利用可能なビデオポッドキャストをナビゲートし、インターネットからストリーム配信できるようにしたいと思います。それは本当に簡単ですメディアプレーヤーなどは、幸せにクラウドに住んでいるファイルを再生します。
問題は、これらのファイルをローカルにキャッシュして、その後の同じエピソードの視聴にストリーミングが含まれず、代わりにローカルファイルが再生されることです。
HttpListener
をホストしていないのですが、メディアプレーヤーがファイルのビット数を尋ねると、HttpListener
をダウンロードしてローカルに保存してください。次回にユーザーがファイルを再生するときには、すでにファイルの一部がローカルに保存されています。
HttpListener
をプロキシとして使用するサンプルコードを知っている人はいますか?
EDIT
アイデアが唯一のMP3や楽章のようなプロキシの簡単なストリーミングコンテンツになります。 賞金は実際の実装に移ります。ここで
は、私が希望のAPIです:
// will proxy a uri on the local port, if cacheFile exists it will resume the
// download from cacheFile.
// while the file is downloading it will be name cacheFile.partial, after the
// download is complete the file will be renamed to cacheFile.
// Example usage: ProxyFile("http://media.railscasts.com/videos/176_searchlogic.mov", 8000, @"c:\downloads\railscasts\176_searchlogic.mov")
//
// Directly after this call http://localhost:8000 will be the proxy stream, it will be playable locally.
void ProxyUri(Uri uri, int port, string cacheFile)
編集2
HttpListener
はかなり見込みがない探しているHttpListener
sがいるように見えるように私はおそらく、TCPソケットレベルでの作業を行う必要がありますプログラムを管理者として実行する必要があります。これは本当に面倒なことになります。
実装を提供する前に...要件を明確にしたいと思います。あなたがプロキシを提供するだけでなく、ダウンロードするコンテンツをキャッシュして、ユーザーが再生したいときに毎回コンテンツをラウンドトリップする必要がないように思えます...そうですか? –
@ジャスティン、はい、完全に、APIで拡張されます。 –
私は自分の答えを要点へのリンクで更新しました。 –