Все статьи
21 сентября 2026 г.·4 мин чтения

Как сжать видео на компьютере без онлайн-сервисов: качество, размер и целая папка сразу

Сжать видео на своём ПК без загрузки в интернет: HandBrake или ffmpeg, какой CRF выбрать, как уложиться в лимит Discord или почты, как пережать всю папку на видеокарте NVIDIA.

Онлайн-сжатие удобно для одного ролика на пару минут. С записью созвона на гигабайт, семейным видео или десятком файлов оно работает хуже: всё уходит на чужой сервер, сначала долго загружается, а в бесплатном тарифе упирается в лимит размера. На своём компьютере то же самое делается быстрее, и файл никуда не уезжает.

Ниже два пути: программа с окнами, если сжать надо пару раз, и ffmpeg, если хочется держать результат под контролем или обработать целую папку.

От чего зависит размер

Размер видео — это в основном битрейт × длительность. Разрешение и частота кадров влияют через битрейт: чтобы 4K выглядело прилично, ему нужно больше данных, чем 1080p. Поэтому ужимать можно тремя способами, от самого бережного к самому заметному:

  1. Другой кодек. H.265 (HEVC) при том же качестве обычно даёт файл на 30–50% меньше, чем H.264. Минус: старые телевизоры и часть браузеров его не открывают.
  2. Ниже качество кодирования. Параметр CRF у ffmpeg или «Constant Quality» у HandBrake. Разница между исходником и CRF 23 на глаз обычно не видна, а файл меньше в разы.
  3. Меньше разрешение. 4K → 1080p убирает до трёх четвертей объёма. Для телефона и мессенджеров этого почти всегда достаточно.

«Сжать без потери качества» в буквальном смысле нельзя: любое пережатие что-то теряет. Реально другое: потерять так мало, чтобы не было видно.

Вариант 1: HandBrake

HandBrake — бесплатная программа с открытым кодом для Windows, macOS и Linux. Внутри тот же движок, что и у ffmpeg.

  1. В окне выбора источника открой файл или, для нескольких роликов, папку (пакетное сканирование).
  2. Выбери пресет «Fast 1080p30»: он годится почти для всего.
  3. На вкладке «Видео» поставь кодек H.264 или H.265 и «Constant Quality» 22–24 для H.264 или 26–28 для H.265. Чем больше число, тем меньше файл.
  4. Нажми «Начать кодирование». Для папки сначала добавь все файлы в очередь, потом запусти её.

Если в системе есть видеокарта NVIDIA, в списке кодеков будет H.264 (NVEnc). Так в разы быстрее, но при той же настройке качества файл чуть больше, чем у кодирования на процессоре.

Вариант 2: ffmpeg

Если ffmpeg ещё нет, установка и PATH разобраны в статье ffmpeg на Windows.

Базовое сжатие с хорошим балансом:

ffmpeg -i input.mp4 -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k output.mp4
  • -crf 23 — качество. 18–20 почти без потерь, 23 стандарт, 26–28 заметно меньше файл.
  • -preset — скорость. slow даёт файл чуть меньше за то же качество, но кодирует дольше.
  • -c:a aac -b:a 128k — звук. Для речи хватит и 96k.

Сильнее, в H.265 (для iPhone добавь -tag:v hvc1, иначе QuickTime файл не откроет):

ffmpeg -i input.mp4 -c:v libx265 -crf 28 -preset medium -tag:v hvc1 -c:a aac -b:a 128k output.mp4

Уменьшить до 1080p с сохранением пропорций:

ffmpeg -i input.mp4 -vf "scale=-2:1080" -c:v libx264 -crf 23 -c:a aac -b:a 128k output.mp4

То же на видеокарте NVIDIA, в несколько раз быстрее:

ffmpeg -i input.mp4 -c:v h264_nvenc -cq 28 -preset p5 -c:a aac -b:a 128k output.mp4

У NVENC вместо -crf параметр -cq, и шкалы у них не совпадают: -cq 28 у NVENC примерно соответствует -crf 23–24 у x264. Подбери на коротком фрагменте.

Уложиться в лимит: Discord, почта, мессенджер

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

Битрейт видео (кбит/с) ≈ размер (МБ) × 8192 ÷ длительность (сек) − битрейт звука.

Пример: ролик 60 секунд под лимит 10 МБ. 10 × 8192 ÷ 60 ≈ 1365 кбит/с. Минус 96 на звук и запас 10% — примерно 1150 кбит/с на видео. Точнее всего попадает двухпроходное кодирование:

ffmpeg -y -i input.mp4 -c:v libx264 -b:v 1150k -pass 1 -an -f null NUL
ffmpeg -i input.mp4 -c:v libx264 -b:v 1150k -pass 2 -c:a aac -b:a 96k output.mp4

Лимиты у сервисов меняются, текущий видно в сообщении об ошибке. У бесплатного Discord с 2025 года это 10 МБ на файл, у почтовых сервисов вложения обычно до 20–25 МБ. Если на 60 секунд выходит меньше 800 кбит/с, картинка развалится. Тогда уменьшай разрешение (-vf "scale=-2:720") или режь ролик.

Целая папка за один раз

PowerShell, все MP4 и MOV из текущей папки в подпапку compressed:

mkdir compressed
Get-ChildItem *.mp4, *.mov | ForEach-Object {
  ffmpeg -i $_.FullName -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k "compressed\$($_.BaseName).mp4"
}

Исходники не трогай, пока не посмотришь результат. Записи с телефона часто повёрнуты через метаданные. ffmpeg это учитывает, но проверь пару файлов, прежде чем удалять оригиналы.

Почему файл получился больше исходного

Такое бывает, и это не ошибка. Телефоны и экранные рекордеры часто уже жмут сильно, а ты пережимаешь с CRF 18 или с более высоким разрешением. Или исходник в H.265, а ты кодируешь в H.264. Посмотри битрейт исходника (ffprobe -hide_banner input.mp4) и сравни: если он и так низкий, выигрыш даст только уменьшение разрешения.

Отдать это агенту

Если команды набирать не хочется, Дока сделает то же на твоём компьютере. Выбери папку с видео и напиши словами: «сожми все ролики здесь, чтобы каждый был меньше 10 МБ, в подпапку compressed». Агент посмотрит длительность файлов через ffprobe, посчитает битрейт, покажет команду и запустит её после твоего подтверждения. Видео при этом не выходит за пределы твоего диска.