Онлайн аудио / видео конференц-система в формате HTML5
Я пытаюсь выяснить, подходит ли HTMl5 для клиентской части системы онлайн-конференций. Клиент должен быть способен:
1. отображать живое видео, предоставленное сервером, используя тег видео.
2. Похоже на живое аудио, используя аудио тег.
3. Система также поддерживает обмен текстовыми сообщениями. Здесь мы можем использовать веб-сокеты
4. Существует также функция совместного использования рабочего стола. Для такого рода потока данных я также думал о веб-сокетах. Но это двоичные данные, они могут быть закодированы в base64 перед отправкой. Таким образом, в html5-клиенте его нужно декодировать, обрабатывать (это собственный протокол) и с помощью объекта canvas (?!) Перетягивать его на экран.
Может ли веб-приложение обрабатывать такой объем данных одновременно?
HTML5 подготовлен для этого?
2 ответа
Могут ли веб-приложения обработать это количество данных? да
HTML5 подготовлен для этого? Пока нет, но скоро
Это все области, над которыми работает HTML5. Однако некоторые рабочие группы находятся дальше, чем другие, и функции имеют разные уровни реализации в браузерах. Эрикссон много делает в этой области. У них есть исправленная версия webkit, которая позволяет использовать достаточное количество этих технологий для проведения видео / аудио конференций.
Что касается общего доступа к рабочему столу, noVNC (VNC-клиент в браузере) демонстрирует, что это возможно. noVNC (отказ от ответственности: я написал noVNC) выполняет полное RFB/VNC-декодирование и рендеринг в браузере с использованием Javascript и Canvas. Он использует WebSockets для отправки и получения данных и base64 кодирует / декодирует по проводам, поскольку WebSockets пока не поддерживает двоичные данные. Он использует WebSockets для TCP-прокси websockify для связи с серверами VNC. Работает довольно хорошо.
Здесь связаны некоторые из соответствующих стандартов работы:
Лучшее место, чтобы увидеть статус различных технологий, связанных с HTML5: http://caniuse.com/
Вы можете проверить работу, выполняемую лабораториями Ericsson:
также посмотрите на страницу индекса для нового API устройства: