Режем, сжимаем и конвертируем видео прямо в браузере: WebCodecs, mp4box.js и грабли, на которые мы наступили

Habr ·

Режем, сжимаем и конвертируем видео прямо в браузере: WebCodecs, mp4box.js и грабли, на которые мы…

Нам понадобилось сделать на сайте простые видеоинструменты: обрезать ролик, сжать его под лимит мессенджера, перегнать MOV в MP4 или WEBM, убрать звук. Обычный путь — загрузить файл на сервер и прогнать через ffmpeg. Но видео тяжёлое: ролик с телефона на 2 ГБ надо сначала долго заливать, а сервер должен его хранить и пережёвывать. Да и не каждому хочется отправлять личное видео на чужой сервер. Поэтому основной путь у нас — обработка прямо в браузере: файл никуда не уходит, всё делает компьютер пользователя. А сервер с ffmpeg остался запасным вариантом для того, что браузер не тянет. Ниже — как это устроено и что пошло не так. Код — из рабочего проекта, слегка сокращён. Читать далее

Источник: Habr