Я использую FFMPEG с NVENC HVEC и пробовал несколько вариантов в последние дни, но, в конце концов, я не смог достичь того же качества, что и CPU Encoding. Основная проблема здесь в том, что быстрые сцены становятся нерезкими. В какой-то статье я читал, что Twitch и YouTube используют GPU Encoder для сжатия видео, поэтому первый вопрос: возможно ли достичь того же качества с помощью GPU Encoding с меньшим размером файла или как они это делают?

Второй вопрос: если я делаю что-то здесь не так с моей командой ffmpeg или у меня есть идея его отладки, в качестве примера я обнаружил, что какая-то статья, в которой говорится, что "CRF" не работает с nvenc x265, другие тем временем говорили, что это все еще работает и это меня смущает. Вот моя команда

-y -preset slow -c:v hevc_nvenc -vf scale=1920x1080:flags=lanczos -rc cbr_ld_hq -rc-lookahead 32 -q 20 -r 60  -crf 19 -b:v 6.4M -movflags +faststart -c:a ac3 -b:a 320k -pass 1 -2pass -1 "D:\-=streaming=-\concats\x265-website_high.mp4"

Есть ли что-то, что я могу сделать, чтобы сжать его еще лучше без использования CPU Encoder?

1 ответ1

2

Мой опыт работы с NVENC заключается в том, что он действительно уступает кодированию процессора x264 / x265, особенно в быстро движущихся или насыщенных деталями сценах.

Это подразумевает, что в сценарии CBR ваша установка работает должным образом. Возможно, с настройкой ffmpeg возможна некоторая настройка, но принцип остается в силе. YouTube не использует настоящий CBR, и это может быть одной из причин.

Один опыт: чем новее ваш NV SDK и ваша сборка FFmpeg, тем лучше результаты - кажется, что идет активная разработка.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .