Представлен ORBX.js — сравнимый с H.264 видеокодек, реализованный целиком на JavaScript
7 мая 2013 года
Бренден Айк (Brendan Eich), создатель языка JavaScript, занимающий пост технического директора Mozilla Corporation, представил проект ORBX.js, в рамках которого компанией OTOY подготовлена высокопроизводительная реализация видеокодека, реализованного целиком на JavaScript и WebGL. Новый проект подчёркивает возведение JavaScript на новый уровень развития и знаменует стирание границ между Web и нативными приложениями. ORBX.js может работать в любых современных браузерах, в том числе для мобильных платформ, не требуя никаких дополнительных компонентов, кроме поддержки существующих web-стандартов.
Среди основных областей применения ORBX.js, кроме отображения потокового видео, называется создание работающих в окне браузера средств удалённого доступа к рабочему столу, играм и виртуальным окружениям. В частности, продемонстрированы средства для запуска в облачных окружениях ресурсоёмких 3D-пакетов и игр с трансляцией вывода в окно браузера, запущенного на маломощном нетбуке или планшете.
Кроме того, так как ORBX.js не требует наличия отдельных браузерных плагинов и не зависит от наличия кодеков в браузере, он может использоваться в качестве альтернативного пути предоставления средств защиты контента, не требующих продвижения DRM-механизмов в web-стандарты. Вместо DRM предлагается добавлять в кадры уникальные для каждого сеанса водяные знаки. Подобные водяные знаки дают возможность пользователю копировать и сохранять контент для собственных нужд, но в случае распространения контента среди других пользователей, позволяют выявить источник утечки.
С позиции эффективности, активное использование GPU в процессе работы, позволяет ORBX.js на обычной системе декодировать видеопотоки c разрешением 1080x600 и 60 кадров в секунду. Используемые в ORBX.js методы кодирования позволяют достигнуть на 25% более высокого уровня сжатия, по сравнению с H.264, при близком уровне качества. Среди достоинств нового кодека отмечается поддержка адаптивного изменения битрейта в зависимости от параметров полосы пропускания, более эффективные методы кодирования промежуточных кадров, изначальная ориентация на параллельную обработку данных, лучшая глубина цвета.
Для браузеров без поддержки WebGL, таких как Internet Explorer и Safari для iOS, предусмотрен режим упрощённого кодирования, при котором в потоке передаются только ключевые кадры, которые могут быть достаточно быстро и эффективно декодированы без привлечения GPU. Для браузеров с поддержкой WebGL, таких как Firefox, Opera и Chrome, герерируется более изощрённый поток, в котором присутствуют P-кадры, содержащие только информацию об изменениях, что позволяет сократить размер потока в два раза без изменения качества картинки. Декодирование подобных кадров выполняется с привлечением выполняемых на стороне GPU шейдеров.
Дополнительно, можно отметить публикацию демонстрации игры Epic Citade, портированной для работы внутри браузера. Работа игры в браузере основана на использовании компилятора Emscripten, преобразующего код проектов на C/C++ в представление на языке JavaScript (поддерживается подмножество языка JavaScript Asm.js). Для вывода 3D-графики задействован WebGL, а для вывода звука - Web Audio API. Для запуска демонстрации желательно использовать свежую ночную борку Firefox, компоненты которой войдут в состав релиза Firefox 23. Демонстрация также работоспособна и в Firefox 20, но в этом случае не будет обеспечена должная производительность, так как данным выпуском не поддерживается Asm.js.
Источники
правитьЛюбой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.