LINUX.ORG.RU

Уменьшить размер видео

 


0

1

Приветствую!

Имеется видео файл (MPEG4, H264, 1920x1080) размером 3.2ГБ, размер которого нужно уменьшить и по возможности без большой потери качества до 1.9ГБ. Каким инструментом можно это выполнить, и, если по возможности его точной командой?

Благодарю!


и какой у файла видеобитрейт? может он на столько низкий что там уже и сжимать некуда.

bhfq ★★★★★ ()

Сначала

ffmpeg -y -i "видео.mp4" -c:v libvpx-vp9 -deadline best -b:v 1500k -pass 1 -an -f webm NUL
Потом
ffmpeg -i "видео.mp4" -c:v libvpx-vp9 -deadline best -b:v 1500k -pass 2 -c:a libopus -b:a 96k "видео-2.mkv"

Moderators ★★ ()
Ответ на: комментарий от D3306

Если не жалко времени можешь сделать

ffmpeg -i original.mp4 -vcodec h264 converted.mp4

ffmpeg может сам сжать файл, хотя далеко не всегда.

или же так:

ffmpeg -i original.mp4 -vcodec libx264 -crf 24 -preset faster -c:a copy converted.mp4

если это видеосъемка можешь добавить -tune film
если все таки качество стало плохое можешь заменить -crf 22 правда размер файла увеличится
если процессор мощный можешь заменить -preset medium
если не влазит в 1.9гб можешь заменить -crf 28 хотя качество наверное станет хуже заметно хз
если нужно быстрое декодирование на слабом плеере то -tune fastdecode

bhfq ★★★★★ ()
Последнее исправление: bhfq (всего исправлений: 5)

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

boowai ★★★★ ()
Ответ на: комментарий от bhfq

preset faster

Быстрота всегда идет в ущерб качеству, даже и при относительном увеличении битрейта. Для максимального сохранения качества не может быть и речи о быстрых алгоритмах. Правильно выше предложили двухпроходный алгоритм.

andytux ★★★ ()
Ответ на: комментарий от D3306

6802 kb/s

Хочешь уменьшить объем примерно в 1,6 - примерно востолько уменьши битрейт, т.е. около 4000кб/с.

andytux ★★★ ()
Ответ на: комментарий от bhfq

Почему не 265 ? Он в некоторых ситуациях значительно лучше 264

sparks ★★★ ()

Благодарю всех отписавшихся!

D3306 ()
Ответ на: комментарий от Moderators

-pass 1 -an -f webm NUL
-pass 2

Чёт я не понял, где у тебя результаты первого пасса используются при втором проходе?

LamerOk ★★★★★ ()
Ответ на: комментарий от LamerOk

Не обязательно явно указывать. man ffmpeg:

-passlogfile[:stream_specifier] prefix (output,per-stream)
           Set two-pass log file name prefix to prefix, the default file name prefix is ``ffmpeg2pass''. The complete file name will be PREFIX-N.log, where N is a number specific to the output stream

У x264 похожее со --stats.

boowai ★★★★ ()
Последнее исправление: boowai (всего исправлений: 1)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.