4 дня назад выложил свой видеоконвертер — вы его сломали. Вот что я починил
Привет, Пикабу.
4 дня назад написал пост о том, как сделал браузерный видеоконвертер без серверов и регистрации. Ожидал 100 человек, пару комментов и тишину.
Получил поток багрепортов, запросов фич и пограничных кейсов, о которых даже не думал. Это было полезно. Вот что починил.
Сжатие увеличивало размер файла
В комментариях справедливо написали: «Закинул видео на 200 МБ, на выходе получил 300 МБ».
Причина: фиксированные битрейты. Загружаешь видео с низким качеством — алгоритм накручивает битрейт до своего стандарта и раздувает файл.
Решение: Adaptive Bitrate. Система анализирует исходный файл и подбирает параметры так, чтобы выход гарантированно был меньше входа:
Быстрое сжатие — 80% от оригинала
Сбалансированное — 60%
Максимальное — 40%
Если изначальный битрейт уже довольно малый, сжатие будет минимальным
Output всегда меньше Input.
GIF на некоторых телефонах зависал на 100%
Прогресс-бар доходит до конца и замирает. Телефон греется. UI не отвечает.
Причина: JavaScript/WASM забивает память и процессор, не давая браузеру обновить интерфейс. ОС считает вкладку зависшей.
Решение:
Файл не грузится в память целиком, читается частями
Энкодер делает паузы каждые N кадров, браузер успевает отрисовать интерфейс
Сжатие до конкретного размера
Самый частый запрос: «Как сжать до 8 МБ для Дискорда?»
Двухпроходное кодирование. Если первый проход даёт 8.1 МБ — автоматическая коррекция, чтобы гарантированно влезть в лимит.
Video Constructor
Раньше: обрезать + сжать + убрать звук = 3 прогона через сервис. Долго, каждая перекодировка убивает качество.
Теперь: Action Stack. Накидываешь операции в очередь, они применяются за один цикл декодирования-кодирования. Качество страдает один раз вместо трёх.
Немного переработано внешнее оформление на главной странице
MKV с несколькими аудиодорожками
В файле 3 озвучки, а сервис брал первую попавшуюся.
Теперь: сервис парсит метаданные и даёт выбрать нужную дорожку из списка.
Остальные исправления
Кадрирование на мобиле: touch-зона была 12 пикселей, попасть пальцем нереально. Расширил до 32 пикселей, убрал скругления углов.
Превью для видео: можно загрузить свою картинку, она станет обложкой (первым кадром).
Старые браузеры: если браузер не поддерживает WebCodecs — честное предупреждение и переключение на FFmpeg-fallback. Медленнее, но работает.
Условия не изменились
Бесплатно
Без регистрации
Без загрузки на сервер (обработка локально)
Обратная связь
Протестировать все комбинации браузеров, ОС и устройств в одиночку невозможно.
Если нашли баг — пишите:
Браузер и версия
Операционная система
Что делали
Что сломалось
Сервис: vidocean.ru
Буду очень рад, если поддержите проект донатом(да и меня тоже)
Сайт теперь должен быть доступен в РФ везде













