HTML5ビデオで動作するようにカスタムWebサーバーアプリケーションを変更しようとしています。HTML5ビデオと部分的な範囲のHTTPリクエスト
これは基本的な<video>
タグを持つHTML5ページを提供し、実際のコンテンツに対するリクエストを処理する必要があります。
私がこれまでに動作させる唯一の方法は、ビデオファイル全体をメモリにロードし、それを1回の応答で送り返すことです。実用的な選択肢ではありません。私はそれを一枚ずつ提供したい:100kbと言って返信し、ブラウザがもっとリクエストするのを待つ。
私は次のヘッダーを持つリクエストを参照してください。
http_version = 1.1
request_method = GET
Host = ###.###.###.###:##
User-Agent = Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0
Accept = video/webm,video/ogg,video/*;q=0.9,application/ogg;q=0.7,audio/*;q=0.6,*/*;q=0.5
Accept-Language = en-US,en;q=0.5
Connection = keep-alive
Range = bytes=0-
私は部分コンテンツレスポンスを返送してみました:
HTTP/1.1 206 Partial content
Content-Type: video/mp4
Content-Range: bytes 0-99999/232725251
Content-Length: 100000
を次のように私は、さらにいくつかのGETリクエストを取得
Cache-Control = no-cache
Connection = Keep-Alive
Pragma = getIfoFileURI.dlna.org
Accept = */*
User-Agent = NSPlayer/12.00.7601.17514 WMFSDK/12.00.7601.17514
GetContentFeatures.DLNA.ORG = 1
Host = ###.###.###.###:##
(ブラウザがファイルの特定の部分を望んでいることを示すものではありません) kをブラウザに送ると、ビデオは再生されません。
同じHTTPパケットで230 MBファイル全体を一度に送信しようとすると、同じビデオが正しく再生されます。
部分的なコンテンツリクエストによってうまく動作する方法はありますか?テスト目的でFirefoxを使用していますが、最終的にはすべてのブラウザで動作する必要があります。
私はそれは奇妙あなたがテストのためのFirefoxを使用してFirefoxがサポートされていないMP4ファイルを送っていることがわかり、それは動作しません。 –
これまではFirefox(H264プラグイン付き)とIE9をブラウザ側で、MP4とWebMをサーバ側で試してみました。私は何かが足りないと思う。 – user434507
なぜクライアントから部分的な範囲要求を取得したいのですか?彼らは彼らが望むものを尋ねて、最も便利な方法でそれらに送ることができます。私は、(Chromeからリクエストされた)ストリーミングオーディオとカスタムサーバーを使ってリアルタイムで音を送りました。私はこれがデフォルトで容認できる方法だと思う。ネットワークの負荷が気になる場合は、スムーズなビデオ再生に十分なスピードでスロットルを使用してください。 – Stan