Апскейл видео низкого разрешения — DVD, VHS, 480p — давно освоен энтузиастами: берёшь тяжёлую 2x–4x модель, она «додумывает» детали, результат выглядит приемлемо. Переход к 720p–1080p и Blu-ray-исходникам меняет всю логику работы, и именно здесь начинается то, что автор цикла статей о домашнем апскейлинге назвал «долиной отчаяния».

Для качественных исходников агрессивные генеративные модели не подходят: они насыщают цвета, повышают резкость и убирают шум там, где его нет, превращая хорошую картинку в артефактную кашу. Нужны модели другого класса — рефайнеры, которые работают тонко, не пытаясь восстанавливать то, что и так есть. Запускать их эффективнее всего через REAL-Video-Enhancer (RVE) — open-source-инструмент, который автоматически применяет технологию TensorRT от Nvidia: оптимизирует модель под конкретную видеокарту и параметры видео, что даёт существенный прирост скорости по сравнению с ChaiNNer и аналогами.

ПроблемаОчевидное решениеРеальная причинаПравильное решение
Цвета поплыли на выходеПрописать флаги bt709 в FFmpegБаг во внутреннем конвейере RVE ≤2.4.1Установить версию 2.4.2 из раздела Tags на GitHub
Низкий FPS при рендереВключить GPU-кодировщик NVENCУзкое место — нейросеть ESRGAN, не кодировщикCPU-кодирование с -preset veryfast -crf 5
Артефакты на градиентах небаСменить модель апскейлераБандинг уже присутствует в 8-битном исходникеОбработать исходник до апскейла

Первая ловушка — цвета. При запуске RVE с настройками по умолчанию тёмные области светлеют, картинка перенасыщается. Очевидный совет с форумов — прописать в разделе Advanced флаги FFmpeg: -color_primaries bt709 -color_trc bt709 -colorspace bt709, чтобы программа не подменяла цветовое пространство bt709 на bt601. Флаги прописаны, рендер перезапущен — результат не меняется. Причина оказалась в самом RVE: во всех стабильных версиях вплоть до 2.4.1 что-то во внутреннем конвейере передачи кадров ломает цвета, и никакие флаги это не исправляют. Версия 2.4.2 существует, но помечена пре-релизом и спрятана не в разделе Releases, а в Tags на GitHub — спустя полгода после выхода. В её описании исправление бага с цветом упомянуто одной строкой об «улучшениях потока программы». После установки 2.4.2 цвета совпадают с оригиналом — и любые дополнительные флаги в Advanced снова их ломают.

GPU-кодировщик NVENC не ускоряет рендер: узкое место — нейросеть ESRGAN, а не финальное кодирование.

Вторая ловушка — скорость. Логика подсказывает: есть GPU-кодировщик NVENC, созданный для быстрой обработки видео, — надо его использовать вместо CPU. На практике FPS не меняется. Узкое место в конвейере — не финальное кодирование, а сама нейросеть. Процесс устроен так: CPU декодирует кадр и переводит YUV в RGB, GPU получает RGB в VRAM, прогоняет через ESRGAN и возвращает результат в RAM, CPU снова конвертирует в YUV — теперь уже в 4K — и передаёт кодировщику. Если нейросеть не успевает выдавать кадры достаточно быстро, NVENC просто простаивает в ожидании. Исключение — сильно несбалансированные сборки вроде RTX 4070 с Ryzen 5 1600, где CPU становится реальным узким местом. В остальных случаях разумнее использовать CPU-кодирование с параметрами -preset veryfast -crf 5: сохраняется почти вся информация, вес файла остаётся управляемым, а сырой результат потом можно пережать в HandBrake. Скорость апскейла 1080p→2160p на картах среднего уровня и предтопах редко превышает 20 fps даже с TensorRT.

Третья ловушка — артефакты на градиентах. После смены нескольких моделей подряд градиенты неба продолжают «расслаиваться» — появляются видимые полосы там, где должен быть плавный переход. Это явление называется бандингом. Нейросеть его не создаёт: она лишь проявляет то, что уже было в исходнике. Большинство аниме-релизов и часть другого контента закодированы в 8-битном цвете, где на градиентах остаётся всего 256 уровней яркости на канал. При апскейле и увеличении разрешения эти ступеньки становятся заметны. Менять модель в такой ситуации бессмысленно — проблема решается на этапе подготовки исходника, а не апскейла.