Всем доброго времени суток.
Пробежался по 17 страницам этой ветки, но не встретил обсуждения выбора и настройки видеокодеков для получения оптимального соотношения битрейт/качество.
В теме nvenc есть обсуждение аппаратных кодеков Качество кодирования Nvidia NVENC
Но меня интересуют программные кодеки, они имеют более богатые настройки и качество видео итоговое у них лучше.
Мы с коллегами последние 5лет снимаем в 4к, и очень много исходников накопилось.
В основном все записано в x264 4k30 4k60 420.
Уже более 20тб видео, и столько же надо иметь вторые диски под бекап.
При этом мы удалили весь мусор, оставили только самое-самое нужное, что периодически бывает достается из архива и пускается в работу для текущих видео.
Прекрасно осознаем, что любое конвертирование несомненно влечет потерю качества исходников.
Но место не резиновое.
В общем остро встал вопрос, чтобы перекодировать старые исходники в современный формат с высоким сжатием, при этом сильно не потеряв качества, то есть найти максимальное соотношение «качество/размер файла».
Я маленько поигрался с современными видеокодеками и программами.
Худшее качество дают программы видеомонтажа DaVinci Resolve, Adobe Premiere Pro, Vegas pro, если в них закидывать исходник и ничего с ним не делая сразу запускать рендер, качество теряется, эти программы вносят сильные потери.
Более бережно работает конвертер Handbrake (этот конвертер достаточно прост для новичка и дает отличное качество после конвертирования) или ffmpeg (он более гибок в настройке благодаря командам).
Качество переконвертированного материала измеряли программой FFMetrics FFMetrics -- GUI программка для ffmpeg для визуализации метрик качества видео (PSNR, SSIM, VMAF) (в основном ориентируюсь на Vmaf метрику)
Получилось так.
Я конвертировал через Handbrake очень старое видео с квадрокоптера 4к30 420 со сжатием x264 с битрейтом 55мбит/с, в битрейт VBR 35мбит/с. разными кодеками.
Картинка сравнения метрик: https://forum.ixbt.com/post.cgi?id=attach:29:37441:0:1.png (1080x1541, 385.1Kb)
По итогу по соотношению минимум потери качества:
1. Первое место – SVT-AV1 (программный AV1) – визуально мы разницы вообще не заметили после конвертирования, а файл уменьшился на 40%. Нас более-менее устроил результат.
2. Второе место – AV1 nvidia nvenc
3. Третье место – x265 nvidia nvenc на gtx 1060, я не совсем понял прикол, но x265 на gtx 1060 получилось качественнее, чем на rtx 4060, а на rtx 3080 еще меньше качества в x265.
При этом на rtx 3080 x264 показал большее качество, чем x265. Хотя у других карт нвидиа было наоборот. Чего-то они намутили с x265 в rtx 3080 в худшую сторону.
С nvidia видеокартами прямо лотерея, непонятно пока не начнешь тестировать, какая лучше из них дает качество в том или ином кодеке.
Вообще видеокарты Nvidia оставили непонятное ощущение, на каких-то видеокартах лучше результат, а на каких-то хуже, и это не зависит от новизны или цены видеокарты. Видимо в каких-то моделях видеокарт аппаратный кодек работал лучше, то есть больше качества в ущерб скорости кодирования (учитывая что, как я понял, основная задача аппаратного кодека видеокарт и процессоров получить максимум скорости в ущерб качеству, чисто получить высокий fps кодирования для стриминга в реальном времени).
Intel QSV вообще разочаровал качеством кодирования.
Из моих опытов выходит, что программный AV1 в данный момент обеспечивает максимальное соотношение «размер файла/качество».
Современные процессоры уже могут на программном уровне достаточно быстро конвертировать.
И я склоняюсь пережимать ответственные исходники именно программным кодеком.
Аппаратные кодеры типо Nvidia Nvenc, Intel QSV, и т.д., я не рассматриваю как вариант качества, их назначение высокая скорость кодирования с допустимой потерей качества.
Да они конвертируют быстро, но у меня есть возможность сутками держать современный компьютер включенным, чтобы он с невысокой скоростью 5-10 fps пережимал потихоньку 4к видео с более качественным результатом.
Аппаратные кодеки я оставляю для менее важного видеоматериала, качеством которого не жалко жертвовать.
Сейчас я конвертирую с помощь ffmpeg.
Контент в основном не особо динамичный, активной динамики в кадрах почти нет.
Поэтому буду рад советам какие параметры лучше использовать, например:
- что лучше CQP или VBR или QVBR,
- сколько кадров lookaheed лучше поставить,
- сколько B-кадров,
- включать ли B-frames as reference
- и т.д.
Может есть те кто не согласен, что программный AV1 лучший по соотношений соотношению размер файла/качество.
Предлагайте другие варианты и настройки под них.
Например я тут на этом форуме читал, что люди жаловались мол x265 в экшн-сценах мылит.
По поводу экшн-сцен я попробовал на кусочке фильма AV1, не заметил, чтобы он мылил.
Пробежался по 17 страницам этой ветки, но не встретил обсуждения выбора и настройки видеокодеков для получения оптимального соотношения битрейт/качество.
В теме nvenc есть обсуждение аппаратных кодеков Качество кодирования Nvidia NVENC
Но меня интересуют программные кодеки, они имеют более богатые настройки и качество видео итоговое у них лучше.
Мы с коллегами последние 5лет снимаем в 4к, и очень много исходников накопилось.
В основном все записано в x264 4k30 4k60 420.
Уже более 20тб видео, и столько же надо иметь вторые диски под бекап.
При этом мы удалили весь мусор, оставили только самое-самое нужное, что периодически бывает достается из архива и пускается в работу для текущих видео.
Прекрасно осознаем, что любое конвертирование несомненно влечет потерю качества исходников.
Но место не резиновое.
В общем остро встал вопрос, чтобы перекодировать старые исходники в современный формат с высоким сжатием, при этом сильно не потеряв качества, то есть найти максимальное соотношение «качество/размер файла».
Я маленько поигрался с современными видеокодеками и программами.
Худшее качество дают программы видеомонтажа DaVinci Resolve, Adobe Premiere Pro, Vegas pro, если в них закидывать исходник и ничего с ним не делая сразу запускать рендер, качество теряется, эти программы вносят сильные потери.
Более бережно работает конвертер Handbrake (этот конвертер достаточно прост для новичка и дает отличное качество после конвертирования) или ffmpeg (он более гибок в настройке благодаря командам).
Качество переконвертированного материала измеряли программой FFMetrics FFMetrics -- GUI программка для ffmpeg для визуализации метрик качества видео (PSNR, SSIM, VMAF) (в основном ориентируюсь на Vmaf метрику)
Получилось так.
Я конвертировал через Handbrake очень старое видео с квадрокоптера 4к30 420 со сжатием x264 с битрейтом 55мбит/с, в битрейт VBR 35мбит/с. разными кодеками.
По итогу по соотношению минимум потери качества:
1. Первое место – SVT-AV1 (программный AV1) – визуально мы разницы вообще не заметили после конвертирования, а файл уменьшился на 40%. Нас более-менее устроил результат.
2. Второе место – AV1 nvidia nvenc
3. Третье место – x265 nvidia nvenc на gtx 1060, я не совсем понял прикол, но x265 на gtx 1060 получилось качественнее, чем на rtx 4060, а на rtx 3080 еще меньше качества в x265.
При этом на rtx 3080 x264 показал большее качество, чем x265. Хотя у других карт нвидиа было наоборот. Чего-то они намутили с x265 в rtx 3080 в худшую сторону.
С nvidia видеокартами прямо лотерея, непонятно пока не начнешь тестировать, какая лучше из них дает качество в том или ином кодеке.
Вообще видеокарты Nvidia оставили непонятное ощущение, на каких-то видеокартах лучше результат, а на каких-то хуже, и это не зависит от новизны или цены видеокарты. Видимо в каких-то моделях видеокарт аппаратный кодек работал лучше, то есть больше качества в ущерб скорости кодирования (учитывая что, как я понял, основная задача аппаратного кодека видеокарт и процессоров получить максимум скорости в ущерб качеству, чисто получить высокий fps кодирования для стриминга в реальном времени).
Intel QSV вообще разочаровал качеством кодирования.
Из моих опытов выходит, что программный AV1 в данный момент обеспечивает максимальное соотношение «размер файла/качество».
Современные процессоры уже могут на программном уровне достаточно быстро конвертировать.
И я склоняюсь пережимать ответственные исходники именно программным кодеком.
Аппаратные кодеры типо Nvidia Nvenc, Intel QSV, и т.д., я не рассматриваю как вариант качества, их назначение высокая скорость кодирования с допустимой потерей качества.
Да они конвертируют быстро, но у меня есть возможность сутками держать современный компьютер включенным, чтобы он с невысокой скоростью 5-10 fps пережимал потихоньку 4к видео с более качественным результатом.
Аппаратные кодеки я оставляю для менее важного видеоматериала, качеством которого не жалко жертвовать.
Сейчас я конвертирую с помощь ffmpeg.
Контент в основном не особо динамичный, активной динамики в кадрах почти нет.
Поэтому буду рад советам какие параметры лучше использовать, например:
- что лучше CQP или VBR или QVBR,
- сколько кадров lookaheed лучше поставить,
- сколько B-кадров,
- включать ли B-frames as reference
- и т.д.
Может есть те кто не согласен, что программный AV1 лучший по соотношений соотношению размер файла/качество.
Предлагайте другие варианты и настройки под них.
Например я тут на этом форуме читал, что люди жаловались мол x265 в экшн-сценах мылит.
По поводу экшн-сцен я попробовал на кусочке фильма AV1, не заметил, чтобы он мылил.
Исправлено: santa bremor, 25.02.2025 03:08
К сообщению приложены файлы: