Потоковое видео с HTML 5 через node.js

Я пытаюсь настроить веб-сервер, который будет поддерживать потоковую передачу видео в видеотег HTML5 с использованием node.js. Вот мой код на данный момент:

var range = request.headers.range;
var total = file.length;

var parts = range.replace(/bytes=/, "").split("-");
var partialstart = parts[0];
var partialend = parts[1];

var start = parseInt(partialstart, 10);
var end = partialend ? parseInt(partialend, 10) : total-1;

var chunksize = (end-start)+1;

response.writeHead(206, { "Content-Range": "bytes " + start + "-" + end + "/" + total, "Accept-Ranges": "bytes", "Content-Length": chunksize, "Content-Type": type });
response.end(file);

Где «request» представляет собой http-запрос, тип - это «application / ogg» или «video / ogg» (я пробовал оба), а «file» - это файл .ogv, который был читать из файловой системы. Вот заголовки ответов:

Content-Range   bytes 0-14270463/14270464
Accept-Ranges   bytes
Content-Length   14270464
Connection     keep-alive
Content-Type     video/ogg

Я проверил заголовки ответов, и этот код, похоже, работает нормально, но есть несколько проблем:

  1. Видео загружается очень медленно из-за того, что оно находится в локальной сети. Из того, что я могу сказать, исследуя ответ с помощью firebug, файл, похоже, передается со скоростью около 150 кб / сек.
  2. Видео не воспроизводится вообще. Даже если я подожду, пока все загрузится, Крис

44
задан Tobu 19 December 2010 в 09:50
поделиться