Сжать видео для X (Twitter)

Уложите видео в лимит X 512 МБ с чёткими 720p или 1080p. Работает в браузере, ролик не покидает ваше устройство.

Куда отправляете?
512 МБ
1 МБ100 МБ
Ваш файл не покидает это устройство

X (Twitter)

X принимает видео до 512 МБ. Бесплатные аккаунты могут публиковать ролики длиной до 2 минут 20 секунд.

X перекодирует всё, что вы загружаете, поэтому чистый файл H.264 в 720p или 1080p даёт его кодеку лучшую отправную точку.

Что влезает в 512 МБ

Что выберет компрессор для обычного ролика с телефона 1080p 30 fps (около 16 Мбит/с) разной длины при лимите 512 МБ:

Длина роликаРазрешениеБитрейт видео
30 секундВлезает без сжатия–
1 минутаВлезает без сжатия–
2 минутыВлезает без сжатия–
5 минут1080p12 696 кбит/с
10 минут1080p6 279 кбит/с

Как это работает

  1. Мы читаем видео на вашем устройстве и измеряем, насколько оно детализировано (SI) и сколько в нём движения (TI).
  2. По выбранному размеру считаем точный бюджет битрейта и подбираем разрешение и частоту кадров, которые лучше всего смотрятся при этом бюджете. Меньшее разрешение с достаточным битрейтом выглядит лучше полного разрешения в квадратах.
  3. Видеокарта кодирует ролик через WebCodecs. Форматы, которые браузер не умеет декодировать, проходят через FFmpeg, скомпилированный в WebAssembly.
  4. Если результат хоть немного больше лимита, мы перекодируем с исправленным битрейтом, чтобы файл поместился.

Вопросы

Почему X не принимает моё видео?

Обычно файл больше 512 МБ, длиннее, чем разрешено вашему аккаунту, или в кодеке, который X не принимает. MP4 с H.264 в пределах лимита решает все три проблемы.

Моё видео куда-то загружается?

Нет. Nibbo работает в браузере и сжимает видео на вашем устройстве. После загрузки страницы можно выключить Wi-Fi, и всё продолжит работать.

Почему у видео уменьшается разрешение?

У маленького файла фиксированный запас битов. Если распределить их по меньшему числу пикселей, картинка будет чистой; при полном разрешении она рассыпалась бы на квадраты.