2013-06-10 3 views
8

Я ищу, чтобы сделать видеокодер полностью в Javascript. Идея заключается в том, что пользователь сможет указать существующее видео (достаточно просто) или целый ряд изображений, а затем сможет кодировать его в H.264 для публикации.Видеокодер H.264 в javascript

Я понимаю, что содержимое кодировки не поддерживается прямо сейчас, но мне было интересно, возможно ли это в Javascript (или Flash-мосте) или нет?

Спасибо.

+0

Просто так понятно, вы спрашиваете, если вы могли бы реализовать сжатие видео с нуля в JavaScript, или если есть некоторые объекты доступны сделать это для вас? – rakslice

+0

Вот экспериментальный клиентский веб-кодер: http://antimatter15.com/wp/2012/08/whammy-a-real-time-javascript-webm-encoder/ – forresto

ответ

1

Видеокодирование - это, по сути, только специализированная математическая операция по двоичным данным из одного файла, чтобы получить больше двоичных данных для размещения в другом файле. Если у вас есть способ получить данные в (например, HTML 5 FileReader) и вне (например, AJAX) способами, которые вам нужны, это, безусловно, входит в сферу возможности части, находящейся в середине, быть в JavaScript.

3

Можно скомпилировать видеокодер в javascript, используя emscripten. Например, вот emscripten скомпилированных версий libvpx библиотеки VP9 Google:

https://bitbucket.org/desmaj/libvpx.js/overview

К сожалению, это невероятно медленно - порядка одной десятой скорости родной библиотеки. Я считаю, что это связано с тем, что происходит много доступа к памяти, и это невероятно медленно в emscripten (см. https://bugzilla.mozilla.org/show_bug.cgi?id=771106). Кроме того, кодирование обычно зависит от параллелизма графического процессора или SIMD, который в настоящее время недоступен в javascript.

Я думаю, что кодирование видео просто невозможно в javascript в настоящее время. Лучшим решением для W3C было бы добавить API кодирования/декодирования видео в HTML5, возможно, как часть WebRTC/getUserMedia.

Кроме того, увидеть это сообщение в блоге, который описывает ситуацию:

https://brendaneich.com/2013/05/today-i-saw-the-future/

Смежные вопросы