Как я уменьшаю размер файла видео? По некоторым причинам, по телефону снимает гигантские видео. Худшим из них является 20-минутное видео, которое поднимает всех 13 ГБ. Как я могу уменьшить размеры файла их? Они - mp4s, закодированный в H.264 и MPEG-4 AAC и игре на уровне 30 кадр/с.
Это хорошо, если существует сокращение по качеству.
Я пытался использовать avconv
для сокращения разрешения, но даже при том, что это произвело видео с меньшими размерами, размер причудливо увеличился.
Что такое хороший путь к сокращению размеров их, регистрируют?
Так что я понял это. Флаг "-b" в ffmpeg устанавливает скорость передачи данных. Я также обнаружил, что 1 000 000 - это хорошая общая ценность использования, которая обеспечивает достойный компромисс между размером файла и качеством.
Поэтому запустите «ffmpeg -i inputfilename.mp4 -b 1000000 outputfilename.mp4»
Вы можете заменить 1000000 на другое значение битрейта, если хотите. Также вы можете включить флаг "-s WxH", чтобы установить размер выходного видео. Таким образом, чтобы сделать вывод видео 720p, вы должны включить «-s 1080x720»
Чтобы уменьшить размер вашего mp4, у вас есть два хороших варианта с FFmpeg:
Подробности обоих ниже:
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
Обратите внимание, что в этой командной строке видео перекодировано , а аудио просто скопировано ] через Что следует учесть:
-crf 24
и так далее (постепенно увеличивая целое число crf) до Вы находите приемлемый компромисс между качеством видео и размером файла. 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
Снова в этом примере видео перекодируется и аудио просто копируется. Что нужно учитывать:
Продолжайте делать это, пока не найдете приемлемый компромисс между качеством видео и размером файла.
Ссылки: