Потоковое видео через веб-сокеты с использованием JavaScript

Какой самый быстрый способ для потокового видео с использованием JavaScript? Является ли WebSockets over TCP достаточно быстрым протоколом для потоковой передачи видео, скажем, со скоростью 30 кадров в секунду?

5 ответов

Решение

Является ли WebSockets over TCP достаточно быстрым протоколом для потоковой передачи видео, скажем, со скоростью 30 кадров в секунду?

Да, это так, взгляните на этот проект. Веб-сокеты могут легко обрабатывать видеопоток в формате HD. Однако вам следует использовать Adaptive Streaming. Я объясняю здесь, как вы могли бы реализовать это.

В настоящее время мы работаем над приложением для обмена мгновенными сообщениями с поддержкой чата, обмена файлами и видео / веб-камеры. С некоторыми хитростями мы получили потоковое мультимедиа через веб-сокеты (для захвата потока с наших веб-камер использовался HTML5 Media Capture).

Вам нужно построить stream API и Media Stream Transceiver контролировать связанные средства обработки и транспорта.

Были предложены расширения источников мультимедиа, которые позволят реализовать адаптивную потоковую передачу битрейта.

При передаче аудио и видео узкого места в протоколе WebSocket не существует.

Чтобы ответить на вопрос:

Каков самый быстрый способ потоковой передачи видео в реальном времени с помощью JavaScript? Является ли WebSockets over TCP достаточно быстрым протоколом для потоковой передачи видео со скоростью, скажем, 30 кадров в секунду?

Да, Websocket можно использовать для передачи более 30 кадров в секунду и даже 60 кадров в секунду.

Основная проблема с Websocket заключается в том, что он низкоуровневый, и вам приходится иметь дело с другими проблемами, помимо простой передачи фрагментов видео. В общем, это отличный транспорт для видео и аудио.

Это определенно возможно, но я не уверен, что мы там еще. А пока я бы рекомендовал использовать что-то вроде http://silverlight.net/ с IIS Smooth Streaming. Silverlight основан на плагинах, но работает на Windows/OSX/Linux. Когда-нибудь HTML5 <video> Элемент будет путь, но это будет нуждаться в поддержке на некоторое время.

Другие вопросы по тегам