Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.03.2015, 07:09
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

video stream
Не пойму про стримминг видео .
У нас есть на сервере файл video.mp4 нам нужно отдать его на клиент.
1. Нужно установить заголовки и проверить range
header = {
        "Cache-Control": "public; max-age=36000",
        Connection: "keep-alive",
        "Content-Type": info.mime,
        "Content-Disposition": "inline; filename=" + info.file + ";",
        "Accept-Ranges": "bytes"
    };

    if (info.rangeRequest) {
        // Partial http response
        code = 206;
        header.Status = "206 Partial Content";
        header["Content-Range"] = "bytes " + info.start + "-" + info.end + "/" + info.size;
    }


2. Нужно создать стрим отдать его на клиент


stream = fs.createReadStream(info.path, { flags: "r", start: info.start, end: info.end });
stream = stream.pipe(new Throttle(settings.throttle))

stream.pipe(res);

stream.on ( "close", function ( ) {
   res.status(200).end(0);
} );


или так

stream = fs.createReadStream(info.path, { flags: "r", start: info.start, end: info.end });

stream.pipe(res);

stream.on ( "close", function ( ) {
   res.status(200).end(0);
} );


Но при попытке открыть 2 вкладки с одними и теми же видео видео одна вкладка висит пока открыта первая.. Если использовать статик сервер тоже самое.
Вот демка на статик сервере thecyber.16mb.com/player/
Как решить єту проблему? И чего я не пойму ?
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #2 (permalink)  
Старый 23.03.2015, 08:28
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,138

Использовать ноду для стриминга это плохая идея (.
Пока это похоже на попытку своими силами реализовать RTSP
Имхо гораздо проще смотреть в сторону уже готовых решений например nginx rtsp streaming
есть специальная библиотека для вещяния медиа потоков live555
или использовать VLC плеер он умеет вещать почти в любом формате и легко управляется через telnet или консоль
Ответить с цитированием
  #3 (permalink)  
Старый 23.03.2015, 15:39
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

MallSerg, понял. То что нужно огромное спасибо. Я искал решения на ноде, а нужно было искать решение не на ноде)
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
html5 video процент загрузки FoxTrix Общие вопросы Javascript 9 16.10.2014 21:18
Перемещение тега VIDEO demoniqus Общие вопросы Javascript 1 01.10.2013 12:48
Новый Тег video super-php (X)HTML/CSS 10 29.07.2013 13:01
События тегов canvas video audio koeshiro Общие вопросы Javascript 4 14.07.2013 10:24