http потоковая передача
Возможна ли потоковая передача http без использования потоковых серверов?
6 ответов
Для потокового вещания, только сегментированного, как Apple HLS, другие варианты сегментированного HLS (например, OSMF) в настоящее время широко не поддерживаются. IIS от Microsoft также может выполнять плавную потоковую передачу (и Apple HLS). Apple HLS может поддерживаться на любом веб-сервере, когда вы предварительно сегментируете поток на куски и просто загружаете путь к веб-серверу.
Для потокового вещания VoD существует множество модулей для всех веб-серверов.
Конечно. Вы можете вывести и очистить, он доходит до клиента, прежде чем завершить скрипт, таким образом, он потоковый.
Да, ответ на вашу проблему с потоковой передачей http - технология MPEG-DASH
Да, хотя библиотеки имеют разный уровень поддержки. Что нужно использовать, так это "http chunking", так что lib не пытается буферизовать весь запрос / ответ в памяти (чтобы вычислить заголовок длины контента) и вместо этого указывает, что контент поступает в чанках.
Да, это не только возможно, но и было реализовано различными компаниями по производству медиасерверов, единственная причина, по которой они все еще используют серверы из-за коммерческой цели. По сути, контент, который вы хотите передать, должен быть разделен на порции / пакеты, и тогда клиентский компьютер может запросить эти порции с помощью простых запросов HTTP Get.
Хорошо, если у вас есть доступные WebSockets, вы можете получить потоковую передачу с очень малой задержкой для сценариев с низкой частотой кадров в секунду, отправляя видеокадры в формате jpegs.
Вы также можете отправлять аудио отдельно и воспроизводить их с помощью WebAudio в своем браузере. Я полагаю, что это может работать для сценариев, когда вам не требуется идеальная синхронизация аудио-видео.
Другой подход - потоковая передача фрагментов MPEG через WebSockets, их декодирование в JS с использованием jsmpeg и рендеринг на холст. Вы можете найти больше здесь (только видео):
http://phoboslab.org/log/2013/09/html5-live-video-streaming-via-websockets