Я люблю FFMPEG.js, это аккуратный инструмент, который скомпилирован с помощью asm.js`and, и пусть он будет создавать JS-приложения, которые могут быстро редактировать видео. FFMPEG.js также работает с веб-рабочими, чтобы вы могли кодировать видео без блокировки основного потока.
Я также люблю Comlink. Comlink позволяет мне легко взаимодействовать с веб-рабочими, выставляя функции и классы, не имея дело с сложным конечным автоматом postMessage.
Недавно мне удалось объединить этих двух. Я экспериментировал с тем, чтобы экспортировать FFMPEG в Web Assembly (он работает - yay), и я хотел очистить всю работу postMessage в текущем проекте FFMPEG.
Недавно я создал прогрессивное веб-приложение, которое использует screencast с вашего устройства Android, а затем обертывает видео в фрейме устройства, используя FFMPEG.js так:
Мне также удалось разобраться в building ffmpeg.js, чтобы с относительной легкостью создать пользовательские оптимизированные сборки ffmpeg и запустите его в браузере.
Две вещи вместе, я думаю, представляют много возможностей для создания замечательных новых небольших прогрессивных веб-приложений, которые подталкивают то, что, по нашему мнению, к Интернету относится к манипулированию аудио и видео.
FFMPEG.js - удивительный проект, и это помогло мне построить один из моих последних проектов: Device Frame. Он в основном создает ffmpeg (с хорошим набором значений по умолчанию, чтобы сохранить размер small & mdash, насколько это возможно). Если сборка по умолчанию не поддерживает фильтры и кодировщики, которые вам нужны, тогда вам нужно будет ее самостоятельно создать.
Это скорее примечание для меня в будущем, но это то, что я сделал, чтобы заставить его работать.