Как уменьшить размер огромного видео MP4?


44

У меня есть 4 ГБ видеофайл MP4, который я снял на HD Flip Mino. Как мне уменьшить его до 1 ГБ, не теряя слишком много качества?

Ответы:


76

Вы можете попробовать использовать что-то вроде ffmpeg или mencoder для перекодирования с более низкой скоростью передачи битов, например:

Рассчитайте необходимый вам битрейт, разделив 1 ГБ на длину видео в секундах. Итак, для видео длиной 16:40 (1000 секунд) используйте битрейт 1000000 байт / с:

ffmpeg -i input.mp4 -b 1000000 output.mp4

Дополнительные опции, которые стоит рассмотреть, - это установить коэффициент постоянной скорости , который снижает среднюю скорость передачи данных, но сохраняет лучшее качество. Изменяйте CRF между 18 и 24 - чем ниже, тем выше битрейт.

ffmpeg -i input.mp4 -vcodec libx264 -crf 20 output.mp4

2
1000k лучше, чем 1000000 в "ffmpeg -i input.mp4 -b 1000000 output.mp4"
13

9
-bпринимает скорость передачи в битах, а не скорость передачи в байтах. Если размер видео должен составлять 1 ГБ, а длительность составляет 1000 (одна тысяча) секунд, тогда требуемая скорость передачи битов составляет приблизительно 1e9 / 1000 * 8 = 8e6 (8 000 000) бит в секунду (бит / с).
Джейсон

1
получение .... Кодировщик 'aac' является экспериментальным, но экспериментальные кодеки не включены, добавьте '-strict -2', если вы хотите его использовать.
Нарендра Сингх

1
@ Джейсон Я уверен, что ты имеешь в виду (1e9 * 8) / 1000. Другими словами (желаемый размер видео в байтах * 8) / (длина видео в секундах).
Данте

@ Данте, порядок операций заставляет ваши уравнения и мои вычислять одно и то же число. Хотя я вижу, что ставить "* 8" после деления может быть немного странно. Это все еще вычисляет к правильному результату. Ну ... если вы не думаете об ошибках округления и машинной математике ... тогда, возможно, они рассчитывают на немного другой результат.
Джейсон

9

Вы можете неразрушающим образом редактировать файл, чтобы вырезать ненужные фрагменты (1 м от начала, 30 м от середины, 4 м от конца).

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

  • Уменьшите разрешение от родного 1280x720 для Mino до чего-то меньшего, просто сохраните соотношение сторон.
  • Уменьшите битрейт со средней битрейта Mino до 9,0 Мбит / с до чего-то меньшего

В любом случае вы теряете качество. Попробуйте поиграть с любым из вариантов (или с обоими) и сравните результаты. Выберите то, что выглядит лучше всего и имеет правильный размер файла.


2
H.264 FTW!
BGW

5

Используйте «HandBrake». Импортируйте файл. Выберите «Высокий профиль», а затем нажмите «Пуск». Он может сжать файл размером 100 МБ до 27 МБ или более. (Входной файл не должен быть в уже сжатом состоянии). Если вы используете Handbrake версии 0.9.5, то есть настройка для ввода размера файла, который вы хотите сжать. (Верхняя версия HB не имеет этой функции).

Sorenson Squeeze - еще один профессиональный инструмент уровня для такой работы.


1

Я наткнулся на этот вопрос, а затем наткнулся на следующий онлайн-сервис, который решает проблему:

https://clipchamp.com/

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.