Какие CRF или настройки я должен выбрать для h265, чтобы добиться качества, аналогичного h264?

Я делаю некоторые эксперименты с HEVC x265.

У меня есть необработанные кадры, и качество деталей h264 с той же настройкой CRF выглядит лучше, чем у h265.

Не должно быть наоборот?

Возможно, мои настройки не самые лучшие: я использую ffmpeg для транскодирования и vlc для просмотра видео, затем копирую содержимое экрана и сравниваю экраны в программе, такой как Photoshop.

Команды FFmpeg, которые я использую, следующие:

ffmpeg -i input.mp4 -c:v libx264 -crf 30 -c:a copy output_h264.mkv

и

ffmpeg -i input.mp4 -c:v libx265 -crf 30 -c:a copy output_h265.mkv

Я использовал 30 в качестве CRF для целей тестирования, потому что артефакты более заметны :)

Может ли потеря качества быть вызвана VLC и его экспериментальной поддержкой расшифровки h265? Может быть, что-то более заметное на более низких битрейтах?

Ответы (1)

Масштабы CRF для x264 и x265 не совпадают. Предполагается, что x265 CRF 28 эквивалентен x264 CRF 23. Но x265 еще не настолько развит в своем развитии, как x264, так что относитесь к эквивалентности CRF с долей скептицизма.

Тем не менее, вы можете попытаться установить свою собственную калибровку между текущими версиями библиотек кодирования в вашем ffmpeg, выполнив следующую команду, которая выполняет две популярные метрики качества видео:

ffmpeg -i encoded-video.mp4 -i reference-video.mp4 -lavfi "ssim;[0:v][1:v]psnr" -f null -

Последние строки вывода консоли будут содержать:

[Parsed_ssim_0 @ 000000000039ad80] SSIM Y:0.984483 U:0.980458 V:0.980921 All:0.983219 (17.751712)
[Parsed_psnr_1 @ 0000000000398320] PSNR y:42.63 u:43.19 v:44.09 average:42.90 min:42.07 max:46.16

Итак, запустите команду один раз с выводом x264 и один раз с выводом x265 и сравните с разными выводами x265, пока не получите аналогичные показатели. Конечно, эти показатели не идеальны, но вы можете использовать их в качестве ориентира для установления эквивалентности.

Хм интересно, могу я спросить, почему эти весы не соответствуют? Нужен ли дизайн с большим количеством значений CRF или его можно рассматривать таким образом, потому что libx265 все еще недостаточно развит в ffmpeg?
Дополнение к предыдущему комментарию. В документации ffmpeg, на которую вы ссылаетесь, говорится, что x265 crf 28 примерно эквивалентен x264 crf 23. Итак, если в целом CRF h265 «лучше» качественно, чем x264, как возможно, что результаты кодирования x265 хуже, чем x264 с тем же CRF? Все еще vlc плохо декодирует + libx265 слишком молод?
28 и 23 являются значениями CRF по умолчанию x265 и x264 соответственно, отсюда и предполагаемая эквивалентность. Короткий ответ на отклонение от ожидаемой производительности заключается в том, что x265 все еще находится в стадии «интенсивной разработки». Ничего общего с libx265, включенным в ffmpeg .
Понятно, так что из-за этого тяжелого статуса разработки, даже если я решу перейти с ffmpeg и libx265 на другой кодировщик, результаты не сильно изменятся, верно? В настоящее время нет коммерческих продуктов на базе x265? Должен быть уже почти завершен во всех его частях!
Если вы посмотрите на PDF-файл, на который я ссылался в последнем комментарии, там есть много кодировщиков, большинство из которых проприетарные. Мое наблюдение ограничивается автономным x265 или его развертыванием, будь то в ffmpeg или в чем-то еще. Эти другие кодировщики могут быть лучше - я не изучал этот PDF внимательно.
Какой x265-эквивалент x264 crf 18?
Около 21.......