Pull to refresh

H.264 декодер на JavaScript

Reading time 1 min
Views 7.7K
Прежде чем отправить публикацию, крепко задумался, какой блог выбрать: JavaScript или Ненормальное программирование. Так или иначе круг задач, которые можно решить на детище Нетскейпа расширяется с каждым днем.

Так например разработчики из команды Mozilla смеха ради сделали H.264 декодер на JavaScript. Любопытно, что скрипт при этом не был написан вручную.


Он был получен путем копиляции Си-шных исходников существующего декодера в формат LLVM, с последующей трансформацией полученного байткода в JavaScript при помощи компилятора Emscripten. Именно этот компилятор привлек изначально внимание отца JavaScript-а Брендана Айка,
который поделился своими впечатлениями (а впечатлить его не просто) на одной из конференций,
которую добрые люди сняли на видео,
которое тут же оказалось в сети,
чтобы вызвать у меня непроизвольное wow!,
и незамедлительно поделиться находкой со знающими толк в извращениях хабрачеловеками!

Итак, в ходе демонстрации скрипт генерирует 30 фреймов в секунду, будучи при этом совершенно сырым и не обработанным напильником вторичным продуктом демки возможностей Emscripten. Тем не менее, резонанс в общественности был велик, и команда разрабов Mozilla решила под натиском просьб и угроз выложить демку вместе с сорцами в качестве отдельного оупен-сорс-прожекта на гитхаб.

Мне думается, что распределив вычисления на несколько ядер и воспользовавшись дополнительными возможностями аппаратно-ускоренного HTML5 можно в итоге получить действительно полезную приблуду в коллекцию Web-разработчика.
Tags:
Hubs:
+50
Comments 51
Comments Comments 51

Articles