Перейти к содержимому
SelfKit

Как работает сжатие в браузере

SelfKit — это сайт, который ведёт себя как приложение на вашем устройстве. Вот что происходит с вашим видео.

Файл не покидает устройство

Когда вы выбираете видео, браузер читает его локально. Код для сжатия скачивается один раз, как обычная веб-страница, а дальше работает на вашем процессоре.

Нет шага загрузки и нет сервера, который принимает файлы. Поэтому всё работает и без интернета.

Как мы попадаем точно в размер

Размер файла — это битрейт, умноженный на длительность. По лимиту и длине видео мы считаем битрейт, оставляем небольшой запас и делим его между картинкой и звуком.

Пример: 60-секундному видео при лимите 10 МБ достаётся около 1280 кбит/с — достаточно для чёткого 720p. После сжатия мы проверяем реальный размер, и если он больше лимита, сжимаем заново с чуть меньшим битрейтом.

Аппаратное ускорение

Современные браузеры дают доступ к встроенному в устройство видеокодировщику через WebCodecs — тому же чипу, которым телефон записывает видео. Это во много раз быстрее программного кодирования.

Если его нет или файл в старом формате, SelfKit переключается на движок совместимости (ffmpeg.wasm). Он медленнее, но читает почти всё.

Работа офлайн

После первого визита браузер сохраняет страницу и движок сжатия. Включите режим полёта, обновите страницу и сожмите видео — всё работает.

Ограничения

Всё происходит в памяти устройства, поэтому очень большие файлы на старых телефонах могут не поместиться. Длинные видео на медленных устройствах сжимаются дольше.

Поддержка браузеров

БраузерБыстрый режимРежим совместимости
Chrome / Edge (desktop, Android)ДаДа
Safari (macOS, iOS)Зависит от версииДа
Firefox (desktop)Зависит от версииДа
Samsung InternetЗависит от версииДа

Поддержка зависит от версии браузера и устройства. Если быстрый режим недоступен, автоматически включается режим совместимости.