HTML5 ビデオで動作するようにカスタム Web サーバー アプリを変更しようとしています。
基本的なタグを持つ HTML5 ページを提供し、<video>
実際のコンテンツの要求を処理する必要があります。
これまでに動作させる唯一の方法は、ビデオ ファイル全体をメモリにロードしてから、1 回の応答で送り返すことでした。これは実用的なオプションではありません。私はそれを少しずつ提供したいと思っています。たとえば、100 kb を送り返し、ブラウザがさらに要求するのを待ちます。
次のヘッダーを含むリクエストが表示されます。
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 = ###.###.###.###:##
(ブラウザがファイルの特定の部分を必要としているという兆候はありません。)ブラウザに何を送り返しても、ビデオは再生されません。
前述のように、230 MB のファイル全体を同じ HTTP パケットで一度に送信しようとすると、同じビデオが正しく再生されます。
部分的なコンテンツ リクエストを通じて、これをすべてうまく機能させる方法はありますか? テスト目的で Firefox を使用していますが、最終的にはすべてのブラウザーで動作する必要があります。