Привет, Пикабу.
4 дня назад написал пост о том, как сделал браузерный видеоконвертер без серверов и регистрации. Ожидал 100 человек, пару комментов и тишину.
Получил поток багрепортов, запросов фич и пограничных кейсов, о которых даже не думал. Это было полезно. Вот что починил.
В комментариях справедливо написали: «Закинул видео на 200 МБ, на выходе получил 300 МБ».
Причина: фиксированные битрейты. Загружаешь видео с низким качеством — алгоритм накручивает битрейт до своего стандарта и раздувает файл.
Решение: Adaptive Bitrate. Система анализирует исходный файл и подбирает параметры так, чтобы выход гарантированно был меньше входа:
Output всегда меньше Input.
Прогресс-бар доходит до конца и замирает. Телефон греется. UI не отвечает.
Причина: JavaScript/WASM забивает память и процессор, не давая браузеру обновить интерфейс. ОС считает вкладку зависшей.
Решение:
Файл не грузится в память целиком, читается частями
Энкодер делает паузы каждые N кадров, браузер успевает отрисовать интерфейс
Самый частый запрос: «Как сжать до 8 МБ для Дискорда?»
Двухпроходное кодирование. Если первый проход даёт 8.1 МБ — автоматическая коррекция, чтобы гарантированно влезть в лимит.
Раньше: обрезать + сжать + убрать звук = 3 прогона через сервис. Долго, каждая перекодировка убивает качество.
Теперь: Action Stack. Накидываешь операции в очередь, они применяются за один цикл декодирования-кодирования. Качество страдает один раз вместо трёх.
В файле 3 озвучки, а сервис брал первую попавшуюся.
Теперь: сервис парсит метаданные и даёт выбрать нужную дорожку из списка.
Кадрирование на мобиле: touch-зона была 12 пикселей, попасть пальцем нереально. Расширил до 32 пикселей, убрал скругления углов.
Превью для видео: можно загрузить свою картинку, она станет обложкой (первым кадром).
Старые браузеры: если браузер не поддерживает WebCodecs — честное предупреждение и переключение на FFmpeg-fallback. Медленнее, но работает.
Бесплатно
Без регистрации
Без загрузки на сервер (обработка локально)
Протестировать все комбинации браузеров, ОС и устройств в одиночку невозможно.
Если нашли баг — пишите:
Браузер и версия
Операционная система
Что делали
Что сломалось
Сервис: vidocean.ru
Буду очень рад, если поддержите проект донатом(да и меня тоже)
https://pay.cloudtips.ru/p/cdf123e9
Сайт теперь должен быть доступен в РФ везде
Привет, Пикабу!
Знакомая ситуация: нужно быстро сжать видос для Телеграма или Дискорда. Открываешь первый попавшийся сайт из гугла, ждёшь загрузку... а дальше классика:
«Зарегистрируйтесь, чтобы скачать»
«Бесплатно только с водяным знаком на пол-экрана»
«Файл обрабатывается на нашем сервере»
Меня это достало настолько, что я решил разобраться, можно ли делать всё это прямо в браузере, без загрузки куда-либо. Оказалось — можно.
Современные браузеры умеют гораздо больше, чем показывать котиков. В них уже встроены технологии для работы с видео: WebCodecs для быстрого аппаратного кодирования и FFmpeg, скомпилированный под WebAssembly. Грубо говоря, вместо того чтобы гонять гигабайты на чужой сервер, браузер сам становится видеоредактором.
Файл не покидает твой компьютер. Вообще. Я не вижу твоё видео, сервер не видит твоё видео, оно просто обрабатывается у тебя локально и скачивается обратно.
Написал сервис (ссылку оставлю в конце). Собрал туда инструменты, которыми сам постоянно пользуюсь:
Базовое редактирование:
Сжать видео - три пресета, выбираешь баланс качества и размера
Обрезать по времени - быстрый режим или точный (покадровый)
Изменить разрешение - пресеты 1080p/720p/480p или свой размер
Изменить скорость - от 0.25x до 8x
Повернуть на 90°/180°/270° или отразить
Кадрировать - вырезать нужную область кадра
MP4 в GIF — с нормальной палитрой, а не размытым месивом
—MOV → MP4, AVI → MP4, WebM → MP4
Удалить звук из видео
Вытащить аудио в MP3 или WAV
Потому что делаю для себя и таких же, как я. Нет серверных расходов на обработку — вся работа на твоём железе. Мне не нужно содержать ферму серверов, которая жуёт видео круглосуточно.
Сервис работает даже без интернета после первой загрузки страницы (ну, почти — статику-то надо подгрузить).
Не буду врать, что всё идеально:
1. Скорость зависит от мощности твоего компьютера. На слабых ноутах длинные видео будут обрабатываться дольше, чем на мощных серверах.
2. Safari и Firefox иногда тупят с аудиокодеками, там используется гибрид FFmpeg+WebCodecs(работает, но не идеально).
3. GIF ограничен 30 секундами, иначе файл раздувается до неприличных размеров.
Зачем пишу
Проект делается на энтузиазме. Хочется понять, нужно ли это кому-то кроме меня.
Буду благодарен, если потестите, понагружаете и напишете в комментах:
Что сломалось (браузер, ОС, что делали)
Чего не хватает
Что бесит
Попробовать можно тут: vidocean.ru
UPD: Спасибо за безумный актив! Вас 80 тысяч, я в шоке. Из-за блокировок РКН сайт может не открываться с мобильного интернета и у некоторых провайдеров. Я уже решаю вопрос с переездом на ру-сервера. Пока пользуйтесь через Wi-Fi или с компа. Скоро всё починим!