Сокращение размера файла видео в человечности?

Как я уменьшаю размер файла видео? По некоторым причинам, по телефону снимает гигантские видео. Худшим из них является 20-минутное видео, которое поднимает всех 13 ГБ. Как я могу уменьшить размеры файла их? Они - mp4s, закодированный в H.264 и MPEG-4 AAC и игре на уровне 30 кадр/с.

Это хорошо, если существует сокращение по качеству.

Я пытался использовать avconv для сокращения разрешения, но даже при том, что это произвело видео с меньшими размерами, размер причудливо увеличился.

Что такое хороший путь к сокращению размеров их, регистрируют?

5
задан 9 June 2017 в 13:57

2 ответа

Так что я понял это. Флаг "-b" в ffmpeg устанавливает скорость передачи данных. Я также обнаружил, что 1 000 000 - это хорошая общая ценность использования, которая обеспечивает достойный компромисс между размером файла и качеством.

Поэтому запустите «ffmpeg -i inputfilename.mp4 -b 1000000 outputfilename.mp4»

Вы можете заменить 1000000 на другое значение битрейта, если хотите. Также вы можете включить флаг "-s WxH", чтобы установить размер выходного видео. Таким образом, чтобы сделать вывод видео 720p, вы должны включить «-s 1080x720»

2
ответ дан 23 November 2019 в 08:44

Чтобы уменьшить размер вашего mp4, у вас есть два хороших варианта с FFmpeg:

  1. Поэкспериментируйте с настройками коэффициента постоянной скорости (CRF), чтобы найти соответствие между размером выходного видеосигнала и качеством видео
  2. Поэкспериментируйте с выбранным битрейтом по вашему выбору и используйте двухпроходное кодирование.

Подробности обоих ниже:

1. Измените размер, используя опцию FFmpeg Constant Rate Factor (CRF):

В FFmpeg настройки CRF варьируются от 0 до 51, где 0 - без потерь, а 51 - потрясающе низкого качества. По умолчанию установлено значение 23, и вам нужно найти «наилучшее место» для вашего конкретного видео с размером файла и качества видео с некоторыми экспериментами.

Примером командной строки будет:

ffmpeg -i input.mp4 \
       -c:v libx264 -preset slow -crf 22 \
       -c:a copy \
       output.mp4

Обратите внимание, что в этой командной строке видео перекодировано , а аудио просто скопировано ] через Что следует учесть:

  1. Если размер все еще слишком велик и качество видео все еще приемлемо, вы должны попробовать -crf 24 и так далее (постепенно увеличивая целое число crf) до Вы находите приемлемый компромисс между качеством видео и размером файла.
  2. Если качество видео слишком низкое, вы пытаетесь crf 20 и так далее (постепенно уменьшая целое число crf), пока не найдете приемлемый компромисс между качеством видео и размером файла.

2. Измените размер, используя опции 'set bitrate' + '2 pass encode' в FFmpeg:

Другой выбор, который, вероятно, не даст хороших результатов, как пример CRF, заключается в использовании набора битрейт на ваш выбор и используйте 2-х проходное кодирование. Следующим примером этого является одиночная команда :

ffmpeg -y -i input.mp4 \
       -c:v libx264 -preset slow -b:v 1000k -pass 1 \
       -c:a copy -f mp4 /dev/null && \
ffmpeg -i input.mp4 \
       -c:v libx264 -preset slow -b:v 1000k -pass 2 \
       -c:a copy \
       output.mp4

Снова в этом примере видео перекодируется и аудио просто копируется. Что нужно учитывать:

  1. Видео все еще слишком велико? Уменьшить битрейт ...
  2. Качество слишком низкое? Увеличить битрейт ...

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

Ссылки:

11
ответ дан 23 November 2019 в 08:44

Другие вопросы по тегам:

Похожие вопросы: