Сжатие видео
Как сжать видео до 25 MB (или до любого лимита размера)
Лимит размера задаёт бюджет в битах. Разделите его на длительность ролика, и станет ясно, сколько kbit/s доступно видео. В статье есть формула, таблица для 16, 20 и 25 MB и четыре способа попасть в нужное число.
Чтобы сжать видео до 25 MB, рассчитайте подходящий битрейт. Размер файла равен суммарному битрейту видео и звука, умноженному на длительность и делённому на 8. У ролика длиной 3 минуты со звуком 128 kbit/s на картинку остаётся около 983 kbit/s. Кодируйте с этим значением или чуть ниже и оставьте запас в несколько процентов.
От чего зависит размер видеофайла?
Размер определяют битрейт и длительность. Одно разрешение его не задаёт. Битрейт показывает, сколько данных тратится на каждую секунду записи. Умножьте битрейты видео и звука на число секунд, разделите на 8, чтобы перевести биты в байты, и получите размер. Видео длиной 10 минут с битрейтом 5000 kbit/s и звуком 128 kbit/s занимает 384,6 MB. Здесь 1 kbit равен 1000 бит, а 1 MB равен 1 000 000 байт.
Какой битрейт видео подходит для 16, 20 или 25 MB?
В таблице та же формула решена в обратную сторону для типичных лимитов. Показан битрейт видео, который остаётся после 128 kbit/s на звук. Учтены только данные звука и видео, поэтому готовый файл будет немного больше: контейнер добавляет свой объём.
| Лимит размера | 1 минута | 3 минуты | 5 минут |
|---|---|---|---|
| 16 MB | 2005 kbit/s | 583 kbit/s | 298 kbit/s |
| 20 MB | 2538 kbit/s | 760 kbit/s | 405 kbit/s |
| 25 MB | 3205 kbit/s | 983 kbit/s | 538 kbit/s |
Для других длительностей и лимитов откройте «Калькулятор битрейта видео» в режиме «Битрейт для лимита размера». Узнайте, какой лимит у вас: Google указывает, что вложение в личной почте Gmail ограничено 25 MB (support.google.com/mail/answer/6584), а Discord сообщает, что по состоянию на август 2026 года лимит загрузки без подписки составляет 20 MB (support.discord.com/hc/en-us/articles/25444343291031). У других приложений и почтовых сервисов свои лимиты, поэтому проверьте справку нужного вам сервиса и выясните, считает он MB или MiB.
Как узнать текущий битрейт видео?
- Разделите размер файла на длительность. Ролик на 90 MB длиной 3 минуты (180 секунд) использует 90 × 8 ÷ 180 = 4 Mbit/s, то есть 4000 kbit/s суммарно.
- Сравните результат с таблицей. Если суммарный битрейт уже ниже бюджета, файл укладывается в лимит, а сжатие только ухудшит качество.
- Чтобы узнать точное значение из файла, команда
ffprobe -v error -show_entries format=bit_rate -of default=noprint_wrappers=1:nokey=1 input.mp4выводит общий битрейт в битах в секунду.
Как сжать видео в браузере?
- Откройте «Сжатие видео» и перетащите файл MP4, MOV или WEBM в область загрузки. За один раз обрабатывается один файл размером до 1 GB.
- Выберите пресет. «Наименьший файл» ограничивает высоту 720p и задаёт низкий битрейт, это подходит для чатов и почты. «Сбалансированное» сохраняет до 1080p при среднем целевом качестве.
- Нажмите «Сжать видео» и посмотрите строку с результатом. В ней указаны размер до и после и процент экономии, так что результат можно сравнить с вашим лимитом.
Обработка идёт во вкладке браузера, поэтому ролик никуда не загружается. Есть одна оговорка: пресеты задают уровень качества, а целевой размер они не принимают, поэтому «Сжатие видео» не может гарантировать 25 MB. Оно сообщает, что получилось. Если файл и так компактный, вы увидите об этом сообщение, и файл побольше возвращён не будет.
Что делать, если файл всё равно больше лимита?
- Сократите ролик. Размер растёт вместе с длительностью, поэтому если урезать видео с 5 минут до 3, места освободится гораздо больше, чем от снижения качества.
- Начните заново с оригинала и не сжимайте уже сжатый файл. Каждое повторное кодирование отнимает ещё немного резкости.
- Кодируйте через ffmpeg с точным битрейтом. Руководство FFmpeg по H.264 (
trac.ffmpeg.org/wiki/Encode/H.264) рекомендует двухпроходное кодирование, когда нужен определённый размер файла. Для 3 минут и 25 MB выполните первый проход командойffmpeg -y -i input.mp4 -c:v libx264 -b:v 950k -pass 1 -an -f null /dev/null, а затем второй командойffmpeg -i input.mp4 -c:v libx264 -b:v 950k -pass 2 -c:a aac -b:a 128k output.mp4. В Windows вместо/dev/nullпишитеNUL. - Отправьте ссылку. Gmail сам превращает вложения сверх лимита в ссылки на Google Drive.
Насколько ухудшается качество при уменьшении файла?
Чем меньше бит в секунду, тем меньше деталей в каждом кадре. Первыми теряют чёткость текст, тонкие линии и быстрое движение. При жёстком бюджете, например 583 kbit/s на 3 минуты, картинка в 1080p получится «кубиками»: те же биты приходится растягивать на больше пикселей. На 720p кодировщику нужно описать меньше пикселей, и при таком битрейте изображение обычно держится лучше. Если лимит совсем жёсткий, короткий ролик лучше некрасивого.
Вопросы
Как сжать видео до 16 MB?
Используйте тот же метод с бюджетом 16 MB. При звуке 128 kbit/s в 16 MB для ролика на 1 минуту помещается около 2005 kbit/s видео, для 3 минут 583 kbit/s, для 5 минут 298 kbit/s. Кодируйте с этим значением или чуть ниже и проверьте размер результата.
Как отправить по почте видео больше 25 MB?
Сожмите его до нужного размера или отправьте ссылку. Для личных аккаунтов Gmail лимит вложения составляет 25 MB, а вложение сверх него Gmail заменяет ссылкой на Google Drive. В рабочих и учебных аккаунтах действуют лимиты, которые задаёт администратор.
Почему сжатое видео всё равно больше лимита?
Складываются три причины. Контейнер (MP4, MKV и другие) добавляет заголовки и индекс, кодировщик с переменным битрейтом лишь в среднем держит заданное значение, а некоторые сервисы считают в MiB, а не в MB: 25 MiB равны 26,2 MB, то есть на 4,9% больше. Ориентируйтесь на значение на несколько процентов ниже лимита.
Ухудшает ли сжатие качество видео?
Да, немного. При повторном кодировании тратится меньше бит, и потери сначала заметны в тексте и мелких деталях. С пресетом «Сбалансированное» на экране телефона их обычно трудно увидеть. Сохраните оригинал, чтобы при необходимости сжать видео заново с другими настройками.
Загружается ли моё видео при сжатии?
Нет. Видео читается и перекодируется встроенными кодеками вашего браузера в открытой вкладке, на сервер ничего не отправляется. Нужен свежий Chrome или Edge, Firefox 130 и новее либо Safari 16.4 и новее.