Согласно документации для кодирования libx264 (h264), мы можем использовать пресет: очень быстрый, быстрый, быстрый, средний, медленный и т. д. https://trac.ffmpeg.org/wiki/Encode/H.264
...для кодирования постоянного качества вы просто сэкономите битрейт, выбрав более медленный пресет.
Таким образом, при использовании постоянного качества более медленная предустановка не влияет на качество видео, но может уменьшить размер файла.
Теоретически это означает, что должна быть возможность взять видео, сжатое с предустановкой «очень быстро», и повторно сжать его с «медленным», в результате чего получится файл меньшего размера без потери качества видео.
Кто-нибудь когда-либо делал это или знает, как это можно сделать?
У вас неправильное представление о том, как работает сжатие. Во всех, кроме нескольких специализированных типов сжатия с потерями, когда вы сжимаете что-либо во второй раз, даже с гораздо более высоким уровнем качества, чем в предыдущих кодировках, вы все равно теряете дополнительное качество.
Использование более медленного кодирования из того же исходного источника с постоянным качеством часто приводит к созданию файла меньшего размера аналогичного качества, но если вы снова кодируете уже сжатую версию, вы все равно всегда получите видео более низкого качества из-за потерь качества второго поколения. от двукратного сжатия.
Просто чтобы добавить немного к правильному ответу AJ Henderson. Вы можете сжимать без потерь с помощью h264, это прогностический профиль без потерь, который достигается путем кодирования с настройкой CRF, равной 0.
Хотя таким образом вы получаете сжатие h264 без потерь, вы получите файл большего размера, чем исходный файл. Сжатие с потерями не может быть выполнено дважды без потери дополнительной информации с каждой итерацией, оно уже говорит о том, что само по себе, его «с потерями», оно теряет информацию каждый раз, когда вы кодируете его, следовательно, только кодирование без потерь сохранит всю информацию, и это CRF 0 (который создает огромные файлы).
То, что вы читаете как постоянное качество, просто означает, что у вас будет постоянный битрейт, и x264 не будет изменять битрейт, чтобы сохранить больше информации в определенных кадрах или использовать меньше места, где ему не нужно столько места для сохранения данной информации в рамка.
При этом, если ваши коды имеют высокое качество и нет видимых артефактов, вы можете повторно сжать их, если дисковое пространство имеет здесь наибольшее значение. Хотя вы теряете информацию, которая может быть полезна для возможного улучшения аспектов видео в далеком будущем, которые сейчас не актуальны.
Джим Мак
Сеперо