SmoothVideo Project

SmoothVideo Project повышает плавность воспроизведения видео, рассчитывая промежуточные кадры между исходными, подстраивая частоту под экран или заданное значение и позволяя применять классическую компенсацию движения, NVIDIA Optical Flow либо RIFE AI в совместимых сценариях.

Главный сценарий SVP — обработка потока прямо во время просмотра: программа получает кадры от плеера через подходящий фильтр или интерфейс, анализирует движение, строит промежуточные изображения и возвращает поток с более высокой частотой кадров. Настройки собраны вокруг видеопрофилей, поэтому для кино, анимации, 4K, высокочастотного дисплея и тяжёлого RIFE можно задать разные правила. Отдельный модуль SVPcode использует те же профили для сохранения результата в файл, а не только для показа на экране.

Интерполяция не восстанавливает настоящие кадры, которых не было в источнике. Любой алгоритм оценивает, как объекты перемещались между соседними кадрами, поэтому сложные перекрытия, быстрые повороты, частицы, тонкие контрастные линии и резкие монтажные склейки могут давать ошибки. В SVP это учитывается через режимы интерполяции, маскирование артефактов, обработку смен сцен, выбор сетки векторов, условия профилей и возможность снизить целевую частоту, если система или конкретный материал не справляются.

Скачать SmoothVideo Project

Оценка 9.7Рекомендуем
  • Конвертация видео
  • Сжатие файлов
  • Просто для новичков
Скачать бесплатно на Windows
Лучшая альтернатива
SmoothVideo Project
Оценка 8.5
  • Высокая нагрузка на GPU
  • Артефакты сложного движения
  • Требуется настройка плеера
Скачать SmoothVideo Project
Загрузка начнётся после нажатия

Что именно делает SmoothVideo Project

SVP решает задачу frame rate conversion, то есть увеличивает частоту кадров не простым повторением исходных изображений, а синтезом промежуточных фаз движения. Если фильм идёт с 23,976 или 24 кадрами в секунду, а дисплей обновляется заметно чаще, программа может сформировать поток 48, 60, 72, 120 кадров в секунду и выше в зависимости от выбранного режима и производительности. Для 25 и 30 fps применяются те же принципы. Цель состоит не в изменении длительности ролика, а в заполнении временных промежутков дополнительными кадрами так, чтобы панорамы, движение камеры и объектов выглядели более непрерывно.

Внутри классического режима есть две связанные стадии: оценка движения и компенсация движения. Сначала SVP ищет соответствия между блоками соседних кадров и формирует поле векторов. Затем по этим векторам вычисляется изображение для нужной временной позиции. Именно поэтому параметры Motion vectors grid, Search radius, Motion vectors precision и Wide search влияют не только на нагрузку, но и на характер ошибок. Маленькая сетка лучше отслеживает мелкие детали, однако повышает цену расчёта и может подчеркнуть волнообразные деформации вокруг контрастных границ. Большой радиус помогает при значительных перемещениях, но увеличивает риск неверного соответствия.

В программе также есть альтернативные механизмы. NVIDIA Optical Flow может использовать аппаратный блок оценки движения на поддерживаемых видеокартах NVIDIA, а профиль RIFE AI переключает интерполяцию на нейросетевой алгоритм Real-Time Intermediate Flow Estimation. Эти режимы нельзя считать просто уровнями качества одной шкалы: у них разные требования, наборы параметров и типичные ошибки. Классический движок SVP обычно легче по вычислениям и гибко регулируется через сетку векторов и шейдеры; RIFE значительно сильнее зависит от GPU и видеопамяти; Optical Flow занимает промежуточную нишу и доступен только там, где поддерживается соответствующий путь вычисления.

Почему увеличение FPS не равно обычному повторению кадров

При простом удвоении 24 fps до 48 fps каждый исходный кадр можно показать дважды, но движение останется дискретным с теми же временными шагами. Интерполяция строит изображения для моментов между исходными кадрами. При равномерной схеме вставка размещается по времени так, чтобы движение выглядело максимально непрерывным. В режимах, ориентированных на уменьшение артефактов, SVP сознательно оставляет больше исходных кадров и меньше промежуточных, поэтому картинка может быть менее жидкой, зато ошибочные области заметны реже.

Значение целевой частоты выбирается независимо от исходного контейнера или видеокодека. H.264, HEVC, AV1 и другие форматы сначала декодируются плеером, после чего SVP работает уже с видеокадрами. Поэтому ситуация для одного H.264 профиль включился, а для другого нет чаще связана с исходной частотой, условиями профиля, декодером или фильтром плеера, а не с самим названием кодека. В частности, профиль Ignore HFR sources может исключать материал с уже высокой частотой, чтобы не тратить ресурсы на ненужную повторную обработку.

Панель управления и видеопрофили

Раздел Video profiles — центральное место для настройки интерполяции. Базовый Automatic не требует ручного подбора десятков параметров: SVP оценивает производительность системы и характеристики открытого видео, затем выбирает конфигурацию, рассчитанную на приемлемый запас по нагрузке. Ползунок между Higher performance и Higher quality меняет допустимую сложность автоматического профиля, а переключение Film/Animation задаёт характер материала. Для анимации программа использует настройки, рассчитанные на резкие контуры и крупные статичные области.

Кнопка Do frame rate conversion включает именно преобразование частоты. Её отключение не обязательно означает полное прекращение обработки: кадрирование, масштабирование или подсветка чёрных полей могут продолжать работать. Для полного исключения SVP из конкретного профиля предусмотрено отдельное отключение обработки. Это различие полезно при диагностике: если проблема исчезает только после полного отключения, причиной может быть не сама интерполяция, а, например, изменение размера кадра или цепочка фильтров.

У пользовательского профиля задаются имя, целевая частота, параметры расчёта и условия применения. Новый профиль создаётся копированием текущего через New, поэтому практичнее сначала выбрать близкий по смыслу вариант, а затем изменять только нужные пункты. Изменения сохраняются автоматически; пока не выбран другой профиль, их можно откатить кнопкой Revert. Automatic нельзя удалить или переименовать, и его параметры не редактируются так же свободно, как у ручного профиля.

Целевая частота кадров

В верхней части профиля обычно доступны быстрые цели To screen, Movie ×2, Movie ×2½ и дополнительные значения. Логика To screen удобна, когда нужно получить частоту, согласованную с текущим дисплеем. Множители ×2, ×2.5, ×3, ×4 и ×5 привязывают результат к исходному FPS. Также поддерживаются доли частоты обновления экрана и фиксированные значения, среди которых 45, 48, 50, 60, 72, 75, 90 и 120 fps. Произвольная цель может задаваться через расширенный параметр fi_target.

Выбор цели влияет и на субъективную плавность, и на стоимость расчёта. 24→48 требует примерно вдвое меньше выходных кадров, чем 24→96, поэтому такой профиль легче удержать в реальном времени. 24→60 даёт нецелый коэффициент 2,5, и распределение исходных и интерполированных кадров становится сложнее. В документации SVP отдельно советуется для видео с переменной частотой кадров использовать удвоение исходной частоты, поскольку привязка к постоянно меняющемуся источнику иначе способна создавать нерегулярный ритм.

Высокая частота дисплея сама по себе не обязывает выбирать максимальный FPS. Для монитора 144 Гц можно построить 72 fps и показывать каждый выходной кадр два обновления экрана, либо целиться выше, если система уверенно выдерживает расчёт и рендер. Практический критерий — стабильность выдачи кадров: ровные 72 fps обычно предпочтительнее профиля 144 fps, который периодически не укладывается в срок и вызывает пропуски.

Условия Apply this profile IF

Профили становятся особенно полезными после добавления условий Apply this profile IF. Условие состоит из объекта, отношения и значения: например, частота исходного видео выше заданной, высота кадра меньше заданной, имя файла содержит строку, используется определённый видеоплеер или система работает от батареи. Профиль считается подходящим, только если выполнены все его условия. Если подходят несколько, приоритет получает более специфичный набор; для тонкой настройки предусмотрен Expert: add scores.

Так можно сделать отдельный профиль для анимации по имени файла, для 4K по площади или высоте кадра, для конкретного плеера либо для RIFE только на разрешениях, которые видеокарта способна обрабатывать в реальном времени. Важно различать File name / URL и Full file path: первое условие относится к имени или адресу, а не к каталогу. Если нужно реагировать на слово в пути к библиотеке, следует выбирать условие полного пути.

Условия удобны и для защиты от лишней обработки HFR-источников. Профиль, где Do frame rate conversion отключён и задано ограничение по исходному FPS, может оставлять 50/60-fps ролики без дополнительной интерполяции, а обычные 24/25/30-fps материалы передавать в основной профиль. Аналогично можно назначить более лёгкую конфигурацию для 4K и более качественную для 720p/1080p.

Ручная настройка классической интерполяции

Ручной режим открывает параметры, которые автоматический профиль подбирает сам. Здесь не работает принцип всё на максимум: часть опций повышает вычислительную сложность, но одновременно может увеличить вероятность неверных векторов и сделать артефакты заметнее. Удачная конфигурация всегда является компромиссом между плавностью, устойчивостью поля движения, качеством маскирования и запасом производительности.

Frames interpolation mode

Frames interpolation mode определяет соотношение исходных и синтезированных кадров. Uniform (max fluidity) стремится к максимально равномерной временной сетке и даёт наиболее выраженный эффект плавности, но при нецелом коэффициенте увеличения значительная доля выходных кадров оказывается вычисленной. Adaptive меняет схему по качеству найденных векторов: на сложных участках программа может уменьшать количество интерполяции, чтобы не размножать ошибки. Режимы 1m, 1.5m и 2m по-разному расставляют исходные и промежуточные кадры, смещая баланс в сторону меньшего числа артефактов.

При выборе имеет смысл смотреть не на отдельный стоп-кадр, а на движение в характерной сцене. Uniform часто лучше показывает медленные панорамы и плавный трекинг камеры, тогда как 1.5m или Adaptive могут быть спокойнее на сценах со сложными перекрытиями. Если артефакт виден только на одном промежуточном кадре, более консервативная схема делает его реже; если проблема в неверном поле движения, один лишь режим интерполяции не исправит причину, и нужно менять параметры векторов.

SVP shader

SVP shader определяет, каким способом промежуточный кадр собирается из исходных кадров и рассчитанных векторов. В интерфейсе встречаются Fastest, Sharp (anime), Simple Lite, By blocks (CPU only), Simple, Standard и Complicated. Fastest предназначен для минимизации нагрузки. Sharp избегает обычного смешивания соседних кадров и поэтому полезен для рисованного контента с чёткими границами. By blocks переносит компенсацию движения на блоковый уровень и может быть заметно быстрее при вычислении без GPU.

Standard даёт более выраженную плавность с меньшей маскировкой, тогда как Simple и особенно Complicated используют более сложные схемы подавления ошибок вокруг ненадёжных областей. Нельзя считать номер шейдера прямой шкалой качества: для одного материала Sharp сохранит линии лучше Complicated, а для другого будет сильнее подчёркивать неверные контуры. Выбор должен соответствовать типу движения и тому, какие дефекты наиболее заметны.

Artifacts masking

Artifacts masking накладывает области исходных кадров поверх участков, где векторы движения считаются ненадёжными. Это уменьшает заметность растяжений и волн, однако одновременно снижает локальную плавность и может добавить размытие или множественные контуры. Доступны уровни от Disabled до Strongest. Сильные варианты не являются универсальным улучшением: официальное руководство прямо предупреждает, что максимальное маскирование может ухудшать изображение.

Если вокруг движущегося объекта появляется ореол, логичная последовательность — сначала проверить сетку и радиус поиска, а уже потом наращивать маскирование. Если поставить Strongest на профиль с изначально неверными векторами, дефект может превратиться из геометрической деформации в заметную смесь исходных кадров. Для анимации часто важнее сохранить резкую линию, поэтому чрезмерная прозрачная подмешка выглядит хуже, чем короткий локальный сбой.

Motion vectors precision

Motion vectors precision определяет точность поиска. Более точные варианты помогают на медленном движении, например на титрах или плавном горизонтальном смещении тонких объектов, но резко повышают требования к памяти и вычислениям. Для UHD разница особенно заметна, потому что поле векторов строится на значительно большем числе блоков. Если после повышения точности SVP Index начинает проседать, качественный выигрыш теряет смысл: реальные пропуски кадров заметнее, чем небольшое улучшение поля движения.

Motion vectors grid и Decrease grid step

Motion vectors grid задаёт исходный размер блоков. Маленький шаг позволяет отличить движение небольших деталей от фона, зато создаёт больше векторов и увеличивает риск локально противоречивых решений. Большая сетка легче и стабильнее, но может объединять объект и фон в один блок. Decrease grid step выполняет дополнительное уточнение на уменьшенной сетке, в том числе вариант с global refinement, поэтому используется как второй этап, когда базовое поле уже найдено.

На практике сетку стоит уменьшать только до уровня, который действительно даёт улучшение на проблемном материале. Для крупной панорамы 4K слишком мелкие блоки часто не нужны, а для анимации с небольшими быстро движущимися элементами могут быть полезны. В профиле для тяжёлого 4K разумнее сначала обеспечить стабильный выходной FPS, а затем тратить оставшийся запас на уточнение.

Search radius, Wide search и Width of top coarse level

Search radius ограничивает расстояние, на котором ищется соответствующий блок. Small and fast уменьшает объём работы и отключает наиболее дорогие варианты сравнения; Large расширяет поиск, но чаще находит ложное совпадение на повторяющейся текстуре. Wide search — дополнительная попытка поиска с большим радиусом, если обычный алгоритм не получил достаточно хорошего результата. Width of top coarse level управляет грубыми уровнями иерархического поиска и тем, насколько рано алгоритм переходит к упрощённым настройкам.

Типичный ошибочный подход — одновременно поставить маленькую сетку, максимальную точность, большой радиус и самый широкий поиск. Такая комбинация не только нагружает CPU, но и расширяет пространство возможных неверных соответствий. Если цель — избавиться от артефактов на быстром объекте, полезнее менять один параметр за раз и проверять сцену, где проблема стабильно повторяется.

Processing of scene changes

На монтажной склейке поле движения между соседними кадрами теряет смысл. Processing of scene changes определяет, что делать в этот момент. Repeat frame повторяет один из исходных кадров и сохраняет резкий монтажный переход. Blend adjacent frames создаёт промежуточные изображения простым смешиванием, поэтому склейка становится мягче, но на короткий момент может возникнуть двойное изображение. Выбор здесь скорее художественный: для резкого монтажа обычно естественнее повтор кадра, для некоторых плавных переходов смешивание может выглядеть спокойнее.

Duplicate frames removal относится к другой задаче: удалению повторов в источнике перед интерполяцией. Включать его без необходимости не стоит, особенно если источник имеет сложный ритм, телесин или намеренные повторы. Ошибка определения дублей изменяет временную структуру, после чего интерполяция работает уже с неверной последовательностью.

Автоматический режим и контроль производительности

Автоматическая настройка использует измеренную производительность компьютера и параметры видео, чтобы выбрать разумную комбинацию. Тест производительности можно повторить через Utilities → Assess system performance. Перед измерением полезно закрыть приложения, которые активно занимают CPU или GPU, иначе автоматический профиль будет исходить из заниженного доступного ресурса. Ползунок качества не гарантирует, что каждый шаг даст новые параметры: если для данного разрешения уже достигнут внутренний предел качества, дальнейшее смещение может ничего не изменить.

Главный индикатор во время воспроизведения — SVP Index в Performance monitor. Он показывает отношение реально выдаваемой частоты к целевой и должен находиться около единицы. В руководстве зона ниже 0,95 рассматривается как признак того, что система не успевает вычислять и выводить требуемые кадры. Например, если цель 50 fps, а цепочка выдаёт 40, индекс будет около 0,8. В таком случае нужно уменьшать сложность профиля, снижать целевой FPS, проверять видеорендерер или освобождать ресурсы.

Рядом отображаются графики загрузки CPU и памяти. Двойной щелчок по CPU раскрывает загрузку отдельных ядер. Это важно, потому что средние 40–50% ещё не гарантируют запас: один критический поток может упираться в ядро, пока остальные простаивают. Память особенно чувствительна к высокой точности векторов и большому числу processing threads. Увеличение числа потоков способно поднять производительность до определённого момента, но одновременно увеличивает объём рабочих буферов.

Как отличить нехватку вычислений от проблемы вывода

Если SVP Index падает, причина может находиться как в интерполяции, так и в видеовыводе. Сначала имеет смысл снизить качество профиля или выбрать ×2 вместо To screen/высокой фиксированной цели. Если индекс сразу стабилизировался, ограничение связано с расчётом. Если нагрузка невелика, но остаются пропуски, нужно проверить видеорендерер, синхронизацию, аппаратное декодирование и фактическую частоту экрана. На дисплеях 120–144 Гц слабый рендерер способен стать узким местом даже при достаточной скорости расчёта.

Для визуальной проверки в Utilities есть Fluency and tearing test. Поверх видео выводится движущаяся вертикальная полоса: равномерное движение помогает заметить микроподёргивания, которые трудно оценить на самой сцене. Этот тест удобнее субъективного сравнения кажется плавно/не плавно, потому что создаёт повторяемый сигнал. Если полоса периодически перескакивает, нужно искать проблему в стабильности кадрового конвейера, а не только в качестве интерполяции.

GPU acceleration и выбор устройства

Классический движок SVP может переносить часть компенсации движения на GPU. В Application settings → GPU acceleration выбирается устройство, которое будет использоваться по умолчанию, а профиль способен переопределить его через Rendering device. На системах с интегрированной и дискретной графикой это позволяет отдельно подобрать устройство для декодирования, рендера и интерполяции. Максимально мощный GPU не всегда автоматически лучший выбор в ноутбуке: дискретная карта увеличивает энергопотребление и нагрев, а неправильное разделение задач между адаптерами может добавить копирование кадров.

Аппаратное декодирование в самом видеоплеере также существенно. Если 4K HEVC декодируется программно на CPU, интерполяция конкурирует с декодером за те же ресурсы. Поэтому официальная таблица совместимых плееров рекомендует включать аппаратное декодирование. При этом некоторые способы подключения VapourSynth требуют copy-back: кадр декодируется аппаратно, но возвращается в системную память для фильтра. Конкретный режим зависит от плеера и цепочки фильтров.

NVIDIA Optical Flow в профиле SVP

На поддерживаемых системах SVP может использовать NVIDIA Optical Flow для получения движения. В таком профиле появляются собственные параметры, включая Accuracy, Motion vectors grid и включение NVIDIA Optical Flow. Это не означает, что видеоплеер использует игровой механизм генерации кадров как в конкретной игре; речь идёт об аппаратном источнике оптического потока, который SVP встраивает в свою обработку.

Тёмная тема SVP с ручным профилем для высокой частоты кадров и настройками NVIDIA Optical Flow

Оптический поток полезен, когда классический поиск векторов становится слишком дорогим или даёт характерные ошибки, но он не отменяет общих ограничений интерполяции. При появлении объектов из-за края, сложных перекрытиях и резких сценах алгоритму всё равно приходится решать, где должны находиться пиксели, которых нет ни в одном исходном кадре. Поэтому режим следует оценивать на конкретных сценах, а не по названию технологии.

Если профиль с Optical Flow не запускается либо даёт сбой, сначала проверяют поддержку функции драйвером и видеокартой, затем возвращаются к обычному профилю. В настройках SVP есть возможность отключить использование NVIDIA Optical Flow; это важный диагностический шаг, когда после смены драйвера или GPU воспроизведение перестало стартовать.

RIFE AI: нейросетевая интерполяция

RIFE — отдельный нейросетевой алгоритм, который оценивает промежуточный оптический поток с помощью IFNet. В SVP он доступен как профиль RIFE AI engine и может применяться как к просмотру в реальном времени, так и к перекодированию. По сравнению с классическим методом RIFE обычно намного требовательнее к GPU, зато на подходящем материале способен лучше восстанавливать сложное движение и уменьшать часть блоковых деформаций.

Профиль содержит Engine, AI model, GPU device, GPU threads, Performance boost и параметры смен сцен. Доступны ncnn/Vulkan и NVIDIA TensorRT. ncnn/Vulkan является более универсальным вариантом для разных GPU, тогда как TensorRT рассчитан на NVIDIA и требует соответствующей среды. Выбор AI model влияет одновременно на качество, скорость и память; модель с большим номером не следует автоматически считать лучшей для любого видео и любого разрешения.

GPU threads запускает несколько вычислительных потоков на видеокарте. Официальная документация отмечает, что даже на очень мощных GPU обычно не требуется значение выше трёх, а некоторые устройства допускают только один поток. Увеличивать число потоков для скорости без наблюдения за стабильностью не стоит: память и очереди вычислений тоже имеют предел.

TensorRT и Performance boost

TensorRT оптимизирует нейросетевую модель под конкретный GPU и форму входного тензора. В SVP функция Performance boost дополнительно снижает потребление памяти и может ускорить обработку, но цена — длительная оптимизация при первом появлении нового размера кадра. Результат кэшируется, поэтому повторное видео того же разрешения запускается быстрее. Изменение фактического размера после обрезки чёрных полос может создать новую комбинацию и снова потребовать оптимизации.

Для DirectShow-плееров TensorRT связан с VapourSynth. В типичном сценарии закрывают плеер, запускают Utilities → Set environment variables for Vapoursynth, затем в настройках внешних фильтров выбирают Vapoursynth Filter с приоритетом Prefer. Avisynth Filter может использовать RIFE через другой путь, но TensorRT там не поддерживается. Если профиль RIFE не выбирается автоматически, проверка используемого фильтра — один из первых шагов.

Scene change threshold в RIFE

Scene change threshold определяет, когда соседние кадры считать разными сценами и не интерполировать переход. Слишком высокий порог пропускает часть реальных склеек, и сеть пытается построить движение между несвязанными кадрами — появляются выраженные гибридные артефакты. Слишком низкий порог чаще принимает обычное движение за смену сцены, поэтому вместо промежуточного кадра возникает повтор и заметный микрорывок. Здесь нет универсального процента: значение выбирают по характеру монтажа и чувствительности к конкретному типу ошибки.

Профили RIFE по разрешению

Разумная схема — ограничить RIFE условием Frame height или Frame area. Например, применять его только до 720p/1080p для просмотра, а на 4K переключаться на классический профиль. Для SVPcode можно создать отдельный профиль без ограничений по разрешению, потому что офлайн-кодирование не обязано укладываться в длительность кадра. Условие Video player также позволяет отличить режим транскодирования от обычного плеера.

Если RIFE запускается на материале, для которого GPU не хватает, попытка снизить только целевой битрейт плеера ничего не изменит: сеть считает кадры до кодирования. Помогают уменьшение целевого FPS, снижение размера до интерполяции, более лёгкая модель, переход с generic Vulkan на TensorRT при подходящей NVIDIA или использование классического движка SVP.

Ошибки Vulkan, TensorRT и нехватка VRAM

Сообщения no Vulkan devices found и invalid GPU device обычно указывают на драйвер/Vulkan или неверно выбранный адаптер. При ошибке оптимизации TensorRT следует учитывать видеопамять: официальная документация для тяжёлых разрешений прямо рекомендует более лёгкую модель и Performance boost. Общая загрузка GPU в диспетчере задач может вводить в заблуждение, потому что вычислительная очередь отображается отдельным графиком; для NVIDIA полезно смотреть Compute.

Настройки воспроизведения с RIFE AI и NVIDIA TensorRT при проверке совместимости с RTX Video

Ещё одна особенность — требования некоторых RIFE-моделей к кратности размеров. Если размер кадра не подходит внутреннему блоку сети, приложение может обрезать или дополнять изображение. Для 4K в документации описан скрытый параметр сохранения размера. Использовать его следует только при понимании цены: изменение стратегии может увеличить вычисления или память.

Кадрирование, чёрные поля и изменение размера

SVP обрабатывает геометрию кадра даже без включённой интерполяции. Порядок фиксирован: сначала автоматическое удаление чёрных полос, затем кадрирование к выбранному соотношению сторон, затем масштабирование. Это важно при поиске причины изменившейся картинки. Если фильм неожиданно стал занимать весь экран с потерей краёв, нужно смотреть не профиль интерполяции, а Video frame/Frame size.

Раздел Frame size с Black bars detection, кадрированием, фиксированными пропорциями и масштабированием

Black bars detection может работать непрерывно или один раз. Tracking mode отслеживает изменение границ на протяжении фильма и полезен для лент с переменным соотношением сторон, включая сцены, где кадр меняется между широкоформатным и более высоким. One time only определяет полосы один раз, что исключает отвлекающее изменение рамки в середине просмотра. Force re-detect black bars запускает анализ повторно вручную.

В Crop video frame доступны Disabled, To screen, компромиссные 75% и 50%, а также фиксированные 2.40:1, 1.85:1, 16:9 и 4:3. В Preview and fine tuning границы можно корректировать вручную. Кадрирование неизбежно отбрасывает часть исходного изображения, поэтому его не следует путать с масштабированием: увеличение или уменьшение кадра сохраняет пропорции, тогда как crop меняет видимую область.

Почему чёрные поля могут мешать интерполяции

Внутренние чёрные полосы входят в декодированный кадр как обычные пиксели. На границе между полностью чёрной областью и движущейся картинкой поле векторов может вести себя нестабильно, а лишняя площадь увеличивает объём расчёта. Поэтому автоматическое определение и удаление внутренних полос способно не только изменить заполнение экрана, но и снизить нагрузку. Однако на видео с намеренно тёмными краями детектор может ошибиться, поэтому при спорном материале режим легко отключить.

Decrease to screen, Decrease to HD и Resize to screen

Масштабирование перед интерполяцией — практичный способ уменьшить нагрузку. Decrease to screen уменьшает кадр только если он больше физического разрешения экрана. Decrease to HD ограничивает обработку примерно уровнем 1280×720 и полезен, когда 4K/1440p не удаётся интерполировать стабильно. Resize to screen может как уменьшать, так и увеличивать. После расчёта видеорендерер всё равно выводит изображение на экран, поэтому предварительное снижение размера является осознанным обменом пространственной детализации на временную плавность.

Для RIFE уменьшение размера особенно эффективно, поскольку стоимость нейросетевого вывода тесно связана с числом пикселей. Для классического SVP эффект тоже значителен: уменьшается число блоков и рабочие буферы. Если 4K→60 не удерживается, профиль с Decrease to screen или Decrease to HD часто разумнее агрессивного уменьшения всех параметров движения при исходном 4K.

Outer lighting: заполнение полей без обрезки

Outer lighting заполняет свободные области вокруг изображения, когда соотношение сторон видео не совпадает с экраном. В отличие от crop эта функция не отбрасывает часть фильма: она создаёт фон вокруг полезного кадра. Fill black bars заполняет только необходимые пары полей, Glow lights формирует подсветку со всех сторон, Disabled отключает эффект. Для стереовидео есть отдельные ограничения и режимы, потому что изменение геометрии может нарушить совмещение глаз.

Если чёрные полосы уже записаны внутри самого видео, порядок действий другой: сначала их нужно обнаружить и вырезать как часть исходного кадра, затем Outer lighting заполнит область между новым полезным кадром и экраном. Это две независимые функции. Ситуация, когда изображение неожиданно уменьшилось в полноэкранном режиме и вокруг него появился светящийся фон, обычно связана с режимом Glow lights, а не с интерполяцией кадров.

Работа с видеоплеерами

SVP не заменяет декодер и интерфейс просмотра; он подключается к совместимому плееру. В официальном списке присутствуют mpv, MPC-HC, MPC-BE, PotPlayer, SMPlayer, VLC, Plex и ряд других программ, а на macOS — в том числе IINA. Разные плееры используют разные пути интеграции, поэтому универсальная инструкция включить один фильтр не существует. Если программа не обнаруживает воспроизведение, первым шагом должна быть проверка схемы подключения именно для выбранного плеера.

mpv удобен тем, что имеет поддержку VapourSynth и хорошо подходит для обработки в реальном времени. В Linux SVP ожидает mpv, собранный с VapourSynth; для аппаратного декодирования нужен copy-back, например hwdec=auto-copy. Также менеджер связывается с экземпляром плеера через локальный IPC-сокет. Если открыть файл через меню SVP, необходимые аргументы обычно передаются автоматически; собственная сборка mpv должна быть настроена согласованно.

DirectShow-плееры на Windows могут работать через AviSynth или VapourSynth Filter. Для обычного классического профиля возможны обе схемы, но RIFE/TensorRT накладывает дополнительные требования. Если в MPC-HC включён AviSynth Filter, а профиль сообщает, что RIFE требует VapourSynth, нужно менять именно внешний фильтр и окружение, а не параметры AI model.

VLC

Интеграция VLC имеет особенности. SVP использует специальный фильтр, который исторически занимает место deinterlace в цепочке VLC, потому что обычным видеофильтрам VLC нельзя произвольно увеличивать число кадров. У фильтра есть ограничения, в частности число возвращаемых кадров на один входной кадр и невозможность некоторых изменений размера на лету. Если VLC сообщает unsupported color format, один из диагностических вариантов — отключить аппаратное декодирование и проверить программный путь.

На Linux SVP не работает с VLC, установленным как Snap или Flatpak, потому что изоляция пакета мешает доступу к нужным компонентам и путям. Поддерживаемая схема предполагает системную установку VLC и возможность разместить/переключить плагин через Utilities → SVP in VLC. Это тот случай, когда совместимость системы действительно определяет конкретное действие.

Защищённые потоки и сервисы

SVP обрабатывает кадры, которые плеер может предоставить фильтру. Защищённый DRM-поток в браузере, например стандартное воспроизведение Netflix, к этой цепочке не относится. Поэтому нельзя ожидать, что запуск менеджера автоматически включит интерполяцию поверх любого окна с видео. Для онлайн-источников предусмотрен другой подход — извлечение доступного прямого медиапотока через SVPtube и открытие его в совместимом плеере.

SVPtube: онлайн-видео в обычном плеере

SVPtube использует yt-dlp/youtube-dl для получения прямых URL медиапотоков с поддерживаемых сайтов. Типичный процесс прост: адрес ролика копируется в буфер, модуль анализирует доступные форматы и передаёт выбранный поток в mpv или другой плеер. После этого к воспроизведению применяются обычные профили SVP. Если сайт не поддерживается экстрактором, SVPtube также не сможет получить поток.

В настройках можно включить мониторинг буфера и Autoplay, задать предпочтительное разрешение, фильтрацию форматов, язык субтитров и плеер. Для DASH, где звук и видео идут отдельными потоками, особенно удобен mpv. Функция лишь переводит доступный онлайн-поток в обычную медиасессию, которую умеет обрабатывать выбранный плеер.

SVPcode: сохранение интерполированного видео

SVPcode применяет видеопрофиль к файлу и кодирует результат с повышенной частотой кадров. Это важное отличие от режима просмотра: вычисления не обязаны укладываться в 16,7 мс для 60 fps, поэтому можно использовать более тяжёлый профиль, RIFE или повышенное качество кодирования. Модуль сохраняет аудиодорожки и субтитры из исходного файла, а для видео создаёт новый поток с выбранным FPS.

В Basic выбираются H.264 или H.265 и программный либо доступный аппаратный кодировщик. Качество можно задавать через CRF или битрейт. На Windows в зависимости от установленного ffmpeg и оборудования используются Intel Quick Sync, NVIDIA NVENC и AMD AMF; на macOS — VideoToolbox; на Linux доступны аппаратные кодировщики, собранные в конкретном ffmpeg/mpv. Наличие кнопки в интерфейсе ещё не гарантирует доступность кодировщика: она зависит от драйвера и сборки.

Advanced позволяет указать любой поддерживаемый ffmpeg-кодировщик и его параметры. Такие наборы можно сохранять как encoder profiles. Есть поле lavfi, через которое добавляются фильтры ffmpeg, например наложение логотипа. Поскольку пользователь просматривает именно результат интерполяции, имеет смысл разделять настройки качества движения и настройки сжатия: артефакт оптического потока не исчезнет от повышения битрейта, а хороший профиль движения можно испортить чрезмерным сжатием.

В очередь разрешается добавить несколько файлов, а текущую операцию — приостановить или отменить. Сетевой ресурс должен быть смонтирован как доступный путь, а не передан только как абстрактный сетевой URL. На macOS и Linux для работы сценария нужны mpv с VapourSynth и инструменты muxing/ffmpeg, потому что SVPcode использует их для формирования итогового файла.

Когда выбирать офлайн-конвертацию

Если компьютер не успевает выполнять нужный алгоритм в реальном времени, SVPcode снимает ограничение по скорости. Например, RIFE на 4K может быть слишком тяжёлым для просмотра, но пригодным для предварительной подготовки ролика. Второй сценарий — воспроизведение на устройстве, где SVP установить нельзя: один раз создаётся HFR-файл, после чего он воспроизводится как обычное 60/120-fps видео.

Минус очевиден: файл становится отдельной копией и требует времени на перекодирование и места на диске. Кроме того, качество результата фиксируется выбранным профилем; при просмотре в реальном времени профиль можно поменять мгновенно, а офлайн-файл придётся пересчитывать. Поэтому для личной медиатеки имеет смысл сначала проверить несколько сложных сцен в реальном времени или на коротком фрагменте.

SVPcast: передача обработанного видео по сети

SVPcast интерполирует видео на компьютере и формирует HLS-поток для другого устройства. Поддерживаются сценарии с Chromecast, Google Cast, Apple TV, а также тесная интеграция с SVPlayer на Android, Android TV, iOS и tvOS. Это полезно, когда вычислительная мощность находится на ПК, а смотреть нужно на телевизоре или мобильном устройстве.

Для SVPlayer можно создать отдельный профиль по условию Video player = svplayer. Это позволяет, например, оставить классическую интерполяцию для локального 4K, а по сети использовать фиксированный 60 fps или RIFE для более низкого разрешения. При переключении аудиодорожки или субтитров поток может перезапускаться, потому что сервер формирует новую HLS-сессию.

В отличие от передачи готового файла, SVPcast кодирует поток на лету, поэтому суммарная нагрузка включает декодирование источника, интерполяцию и видеокодирование. Если локально SVP работает на пределе, добавление HLS-кодера может вызвать пропуски. В таком случае логичнее уменьшить профиль интерполяции или сетевое разрешение, чем только снижать битрейт.

10-битное видео, HDR и 4K

SVP умеет работать с 4K/HDR в поддерживаемой цепочке, но итог зависит от плеера, фильтра, формата кадров и видеорендерера. В общих настройках есть Allow output in 10-bit color depth; документация указывает, что 10-битная обработка доступна для плееров на базе mpv или VLC. Если опция отключена, промежуточные кадры рассчитываются в 8 бит даже для 10-битного источника.

Для HDR особенно важно не разрушить цепочку цветовых метаданных и не заставить несовместимый фильтр перейти в формат, который рендерер трактует неправильно. При чёрном экране или странных цветах нужно сначала проверить воспроизведение без SVP, затем тип фильтра, 10-bit option, аппаратное декодирование и рендерер. Одновременное включение RIFE, RTX Video HDR, Super Resolution и тяжёлых шейдеров может упираться не только в вычисления, но и в совместимость форматов между этапами.

4K умножает требования почти ко всем стадиям. У классического SVP увеличивается число блоков, рабочая память и нагрузка на рендер. У RIFE растёт размер тензоров и расход VRAM. Если 4K не удерживается, предварительное Decrease to screen/HD, более низкий выходной FPS или классический профиль часто дают более стабильный результат, чем попытка оставить максимальное качество каждого этапа.

Ручной видеопрофиль SVP для 4K с настройками interpolation mode, grid и обработкой смен сцен

Чересстрочное видео и VFR

SVP не должен интерполировать необработанное чересстрочное поле как прогрессивный кадр. Материал 50i/60i сначала деинтерлейсится видеодекодером. В Application settings есть Assume double frame rate for interlaced videos — параметр сообщает SVP, даёт ли выбранный деинтерлейсер 50p/60p из 50i/60i или только 25p/30p. Если указать неверно, программа неправильно оценит исходную частоту и может выбрать неподходящий профиль.

Видео с переменной частотой кадров тоже требует осторожности. Поскольку шаг времени между исходными кадрами меняется, попытка жёстко привязать его к фиксированной частоте экрана способна создавать неравномерные интервалы. В руководстве для VFR рекомендуется x2: выходная временная сетка следует за локальным ритмом источника и удваивает его без дополнительного пересчёта к другой константе.

Несколько одновременно открытых видео

В общих настройках можно выбрать, обрабатывать все открытые ролики, только первый или только последний. Это не косметическая функция: два 4K-потока способны мгновенно удвоить расход CPU/GPU и памяти. Для обычного просмотра безопаснее ограничиться одной активной сессией, особенно если RIFE или высокий FPS уже занимают значительную часть видеокарты.

Если плеер открывает скрытые или фоновые видео, режим Latest opened video only помогает избежать ситуации, когда SVP продолжает тратить ресурсы на старое окно. При диагностике внезапной перегрузки стоит посмотреть не только графики, но и список активных воспроизведений и текущий профиль для каждого.

Горячие клавиши и удалённое управление

Hotkeys позволяют включать и выключать обработку, открывать активный профиль, переключаться на следующий подходящий профиль, управлять кадрированием и подсветкой, повторно искать чёрные поля, открывать графики производительности и включать Fluency test. Это особенно удобно при сравнении двух режимов на одной сцене: не нужно каждый раз переходить в меню и терять момент.

Для автоматизации есть HTTP REST API. В Control options включается External control via HTTP; по умолчанию используется TCP-порт 9901, который можно изменить через All settings. Через API можно управлять SVP из домашней автоматизации или собственного интерфейса, но сервис по умолчанию выключен. Если он не нужен, открывать порт бессмысленно.

All settings и пользовательские параметры

Application settings → All settings показывает дерево внутренних параметров. Они сгруппированы по веткам frc, main, reg, rt, ui и profiles. Например, frc относится к генерации сценария интерполяции, main — к общим настройкам, rt содержит значения, вычисляемые при запуске, а profiles — набор видеопрофилей. Изменять такие параметры без понимания не следует: неправильное значение может сломать генерацию скрипта или сделать профиль неприменимым.

Для расширения интерфейса существуют User defined options. Пользователь задаёт заголовок, имя переменной JavaScript и область действия: глобальную либо профиль FRC. Список допустимых значений задаётся как структура, после чего новая опция появляется в меню или профиле и передаётся генератору сценария. Этот механизм используют, когда нужно вывести скрытый параметр, например нестандартную настройку RIFE, не редактируя код вручную при каждом запуске.

Last generated script в Information → Additional information позволяет посмотреть сценарий, который SVP сформировал для текущего видео. Это полезно на экспертном уровне: если плеер запускается, но фильтр не меняет частоту, видно, какие параметры реально попали в VapourSynth/AviSynth и соответствует ли выбранный профиль ожиданиям.

Диагностика: SVP не видит воспроизведение

Если в панели остаётся No active playback, проблема находится до стадии интерполяции. Нужно проверить, поддерживается ли выбранный плеер и тем способом ли он запущен, подключён ли нужный фильтр, совпадает ли разрядность компонентов, и не использует ли mpv собственную сборку без VapourSynth. Для RIFE через DirectShow дополнительно проверяются переменные окружения и выбор Vapoursynth Filter.

Следующий шаг — Information → Events log. Журнал показывает обнаружение экземпляра плеера, выбранный frame server, создание сценария, ошибки VapourSynth/OpenCL/Vulkan и удаление сессии. Предупреждения выделяются отдельно от ошибок. Сообщения можно скопировать или открыть полный текстовый лог, что полезнее случайной переустановки всех компонентов.

OpenCL devices and capabilities показывает, какие GPU и возможности видит вычислительная подсистема. Если в настройках выбрана видеокарта, которой нет в этом списке, менять параметры профиля бессмысленно до исправления драйвера. Для Linux отдельно важны пакеты OpenCL/Vulkan и то, что плеер установлен поддерживаемым способом.

Диагностика: плавность не выросла

Если SVP сообщает активный профиль, но движение визуально осталось прежним, сначала нужно посмотреть фактический output FPS в плеере и OSD SVP. Профиль мог быть отключён условием, попасть в Ignore HFR sources, либо целевая частота совпала с исходной. Второй вариант — плеер не выводит дополнительные кадры из-за рендера или синхронизации. Fluency test и SVP Index помогают отделить расчёт от показа.

На дисплеях с высокой частотой важно убедиться, что операционная система действительно установила 120/144 Гц, а не 60 Гц. Режим To screen ориентируется на частоту, которую видит SVP. В Linux значение может приходить от ОС округлённым; документация отдельно приводит пример 59.xxx Гц, который система сообщает как 59.0. В такой ситуации фиксированный множитель иногда даёт более предсказуемый ритм.

Диагностика: подёргивания и пропуски

Когда SVP Index падает ниже рабочего диапазона, первым делом уменьшают стоимость вычисления: сдвигают автоматический ползунок к Higher performance, выбирают более крупную сетку, меньший Search radius, выключают Wide search, снижают точность, используют более простой shader или уменьшают целевой FPS. Для 4K часто эффективнее уменьшить размер кадра до интерполяции, чем урезать каждый параметр по отдельности.

Если CPU загружен умеренно, а Index всё равно нестабилен, следует проверить GPU и рендерер. Нагрузку могут создавать масштабирование madVR/mpv shaders, HDR-конверсия, декодирование, RIFE и вывод 120+ fps одновременно. Отключение одного тяжёлого этапа на время диагностики показывает, кто не успевает. Важно не делать вывод только по общему проценту GPU: разные движки используют разные очереди.

Периодические рывки при ровном Index могут быть связаны с синхронизацией дисплея, VRR, видеорендерером или источником VFR. В таком случае бессмысленно бесконечно повышать качество векторов. Нужно проверить выходной ритм, dropped frames в плеере и поведение без интерполяции.

Диагностика: артефакты движения

Артефакт вокруг движущегося объекта означает, что алгоритм неверно оценил часть движения или не знает, чем заполнить область, открывшуюся из-за перекрытия. Начинать лучше с режима Adaptive/1.5m и умеренного Artifacts masking, затем подбирать grid и Search radius. Слишком мелкая сетка и слишком большой радиус одновременно часто ухудшают устойчивость. Для рисованной анимации стоит отдельно проверить Sharp shader и профиль Animation.

На резких склейках нужно проверить Processing of scene changes или Scene change threshold RIFE. Если виден гибрид двух кадров, порог обнаружения сцены может быть слишком высоким либо классический профиль использует Blend adjacent frames. Если вместо плавного движения возникает короткий повтор, порог RIFE может быть слишком низким и принимать обычное движение за новую сцену.

Тонкие вертикальные элементы, сетки, субпиксельные текстуры и повторяющиеся узоры — сложный материал для блочного поиска. Увеличение точности помогает не всегда: алгоритм может просто точнее найти неправильное периодическое совпадение. В таких сценах полезно сравнить классический движок с RIFE или Optical Flow, потому что разные методы ошибаются по-разному.

Диагностика: изображение изменило размер

Если после появления OSD SVP картинка стала меньше, увеличилась или обрезалась, проверяются Video frame и Outer lighting. Do frame rate conversion может быть отключено, а геометрические функции всё равно активны. Режим Crop to screen удаляет края, Decrease/Resize меняет масштаб, Glow lights создаёт дополнительную рамку. Для чистого сравнения интерполяции нужно временно отключить все три группы.

Синяя рамка поверх видео в Frame size — визуализация области кадрирования. Пока открыт этот раздел, она может оставаться на экране как инструмент настройки; это не часть итогового видео. После закрытия панели режим возвращается к обычному показу.

Практический профиль для фильмов 23,976/24 fps

Для типичного фильма сначала стоит оставить Automatic и проверить, удерживает ли система To screen без провалов Index. Если дисплей 60 Гц, это обычно означает преобразование приблизительно 24→60. Если артефакты слишком заметны, можно создать копию профиля и выбрать Movie ×2: плавность будет ниже, но число интерполированных кадров сократится. На 120-Гц дисплее ×2,5 даёт около 60 fps, а ×5 — около 120; второй вариант требует значительно больше работы и не всегда визуально оправдан.

Для ручного профиля разумная отправная точка — Standard или Simple, умеренная сетка, средний радиус поиска, Repeat frame на сменах сцен и Artifacts masking не выше среднего. Далее меняется ровно один параметр и проверяется одна и та же сложная сцена: панорама, движение человека перед сетчатым фоном, объект, проходящий за столбом, и резкая склейка. Такой подход быстрее приводит к предсказуемому результату, чем случайное переключение всех пунктов.

Практический профиль для анимации

Рисованная анимация отличается от кино: большие части кадра могут быть статичны, контуры очень резкие, а реальная частота уникальных рисунков иногда ниже частоты контейнера. Поэтому режим Animation и shader Sharp имеют смысл как отдельная отправная точка. Если исходник содержит дубли кадров, автоматическое удаление дублей может помочь только при корректном определении; ошибочное удаление ломает тайминг, поэтому функцию следует включать осознанно.

На аниме особенно заметны резиновые контуры вокруг волос, глаз, текста и тонких линий. Уменьшение сетки может лучше отслеживать такие детали, но одновременно создавать локальные колебания. Если классический алгоритм не справляется, RIFE часто является альтернативой, однако требует существенно более мощного GPU и не гарантирует отсутствия ошибок на быстрых флэш-кадрах или стилизованном монтаже.

Практический профиль для 25/50 и 30/60 fps

Для 25 fps естественная цель 50 fps: коэффициент ×2 прост и хорошо согласуется с 50-Гц или 100-Гц выводом. Для 30 fps аналогично подходит 60 fps. Если исходник уже 50/60 fps, дополнительная интерполяция часто не нужна, и профиль Ignore HFR sources экономит ресурсы. Исключение — дисплей 120/144 Гц и осознанное желание получить ещё более высокий FPS; тогда нужно оценить, оправдывает ли выигрыш двойной объём вычислений.

Материал 29,97 и 59,94 следует рассматривать как дробные частоты, а не округлять мысленно до 30/60 при диагностике синхронизации. Плеер и SVP обычно работают с фактическим значением; неверная настройка дисплея или аудиосинхронизации может постепенно проявляться как периодические коррекции.

Практический профиль для 120/144-Гц экрана

Высокочастотный монитор раскрывает преимущества интерполяции, но одновременно повышает требования к рендереру. Для 24 fps на 120 Гц математически удобны 60 и 120 fps, для 144 Гц — 72 и 144. Выбор нижнего кратного часто даёт почти такую же субъективную плавность с заметно большим запасом. Если 144 fps достигаются только при SVP Index 0,95–1,0 с частыми провалами, 72 fps является более качественным режимом на практике.

Видеорендерер должен действительно выводить выбранное число кадров. При 120+ fps некоторые старые режимы EVR могут ограничивать стабильность, поэтому пользователи часто выбирают современные рендереры mpv/MPC Video Renderer/madVR при достаточном GPU. При этом тяжёлое масштабирование в самом рендерере конкурирует за ту же видеокарту, что и RIFE.

Практический профиль для слабой системы

Если даже 1080p→60 перегружает компьютер, начинать следует с Automatic в сторону Higher performance, затем перейти к Movie ×2 и более крупной сетке. Wide search можно выключить, precision снизить, shader выбрать лёгкий. Если источник выше разрешения экрана, включается Decrease to screen; для совсем слабого устройства — Decrease to HD. Такой порядок сохраняет базовую идею интерполяции, но уменьшает работу наиболее дорогих стадий.

Отключать GPU acceleration стоит только как диагностический шаг или при проблемном драйвере: без GPU часть вычислений переносится на CPU, и качество/скорость обычно снижаются. На ноутбуке также важно питание: энергосберегающий режим может ограничивать частоты CPU/GPU настолько, что профиль, стабильный от сети, начинает пропускать кадры от батареи. Для этого можно создать отдельный профиль по условию Is on battery.

Практический профиль для 4K

4K требует прагматичного выбора. Если экран тоже 4K, уменьшать до 1080p нежелательно из-за потери деталей, поэтому сначала снижают целевой FPS и сложность векторов. Если экран 1440p или 1080p, Decrease to screen почти всегда логичен: рассчитывать промежуточные 4K-кадры, которые затем всё равно уменьшаются, неэффективно. Для RIFE дополнительно оценивается VRAM; нехватка памяти проявляется как ошибки и невозможность оптимизации TensorRT, а не просто низкий FPS.

При использовании HDR нужно проверять цвет после каждого изменения цепочки. Если классический профиль работает, а RIFE даёт чёрный экран, это не повод менять только битрейт или частоту. Нужно сравнить VapourSynth/AviSynth, 10-bit option, copy-back, рендерер и дополнительные RTX-функции. Чем больше аппаратных улучшений включено одновременно, тем важнее изолировать их по одному.

Практическое перекодирование в 60 fps

В SVPcode выбирается файл, затем профиль движения и отдельно профиль кодировщика. Для исходника 24 fps можно начать с 60 fps и классического Automatic, выбрать H.264/H.265 и CRF. После короткого теста проверяются именно сложные эпизоды: склейки, мелкие детали, панорамы. Если движение устраивает, параметры сжатия подбираются уже по размеру и совместимости устройства.

Для RIFE офлайн-режим снимает требование реального времени, поэтому можно выбрать более тяжёлую модель или более высокое разрешение. Однако ускорять кодирование NVENC/Quick Sync/AMF не всегда означает ускорить всю задачу: если интерполяция медленнее кодера, аппаратный encoder будет большую часть времени ждать кадры. Аналогично очень медленный x265 preset может стать новым узким местом после быстрой классической интерполяции.

Что означает мыльная или слишком телевизионная картинка

Некоторые пользователи воспринимают высокую частоту кино как эффект мыльной оперы. Это не ошибка программы, а изменение временной характеристики изображения: знакомый 24-fps judder уменьшается, движение становится похожим на видео с высокой частотой съёмки. Настройкой нельзя одновременно полностью сохранить ощущение 24 fps и получить максимальную плавность. Компромисс — ×2, Adaptive/1.5m или более низкая фиксированная цель.

Размытие может иметь другую природу: Artifacts masking подмешивает исходные области, а шейдеры используют разные методы смешивания. Если кадр выглядит мягче даже на статических деталях, нужно проверить не только интерполяцию, но и видеорендерер, scaling и постобработку. Режим Sharp для анимации специально уменьшает смешивание, но на живом видео может выглядеть менее естественно.

Какие настройки лучше не менять без причины

Processing threads в Auto обычно безопаснее ручного значения. Больше потоков не гарантирует пропорционального ускорения и увеличивает память. Width of top coarse level и скрытые frc-параметры следует трогать только при конкретной задаче. То же относится к User defined options: возможность вынести внутреннюю переменную в профиль полезна для эксперта, но не является обязательным этапом настройки.

Не стоит копировать чужой профиль вместе с названием видеокарты и фиксированным Rendering device. На другом компьютере устройство может иметь иной индекс или отсутствовать. Лучше перенести логику — целевой FPS, сетку, shader, masking — и заново выбрать GPU. Скриншоты из форума полезны как примеры интерфейса, а не как универсальные пресеты.

Классический SVP, Optical Flow и RIFE: как выбрать движок

Три варианта интерполяции решают одну конечную задачу, но делают это по-разному. Классический SVP строит поле движения собственным блочным поиском и даёт пользователю подробный доступ к размеру сетки, точности, радиусу и способу сборки промежуточного кадра. NVIDIA Optical Flow переносит оценку движения на специализированный аппаратный блок совместимого GPU, после чего SVP использует полученное движение в своём конвейере. RIFE не опирается на ту же ручную сетку: нейросеть оценивает промежуточный поток и синтезирует кадр согласно выбранной модели.

СвойствоКлассический SVPNVIDIA Optical FlowRIFE AI
Главная настройкаСетка, радиус, точность, shader, maskingТочность аппаратного потока и профиль SVPEngine, AI model, GPU threads, scene threshold
Типичная нагрузкаCPU + GPU, зависит от профиляGPU с аппаратным блоком + обработка SVPПреимущественно GPU и VRAM
Сильная сторонаПредсказуемая настройка и масштабируемостьБыстрая аппаратная оценка движенияСложные деформации и неблочное движение
Слабая сторонаБлоковые артефакты при неверных векторахЗависимость от поддерживаемого NVIDIA GPU/драйвераВысокая вычислительная цена и долгая инициализация TensorRT
Когда начинатьПочти всегда как базовый вариантКогда поддерживается и нужен другой характер motion estimationКогда GPU имеет запас или используется SVPcode

Если классический профиль уже даёт стабильную картинку без заметных артефактов, переход на RIFE не является обязательным. Нейросеть может улучшить один тип сцены и одновременно дать собственные дефекты на другом. Аналогично Optical Flow не гарантирует автоматического преимущества над тщательно настроенной классической сеткой. Лучший практический критерий — одинаковые сцены, одинаковая целевая частота и отсутствие пропусков, а не технология сама по себе.

Как построить набор профилей для большой медиатеки

Один универсальный профиль удобен только до тех пор, пока библиотека однородна. Если в ней смешаны аниме 720p, фильмы 1080p, 4K HDR и уже готовые 60-fps записи, лучше разделить правила. Базовый Automatic остаётся страховочным. Поверх него создаётся профиль 4K с условием по Frame height/area и более лёгкими параметрами, профиль Animation по пути или имени, RIFE для разрешений, где GPU имеет запас, и Ignore HFR sources для частоты выше выбранного порога.

Приоритет следует строить не количеством случайных условий, а их смыслом. Например, профиль RIFE 720p получает Frame height ≤ 720 и положительный score; профиль Anime — условие по пути и собственный score; если файл подходит обоим, заранее нужно решить, какой важнее. Для этого удобнее использовать Expert: add scores, чем пытаться добиться нужного порядка расположением в списке.

Названия профилей стоит делать самодокументируемыми: 4K ×2 лёгкий, Anime Sharp 60, RIFE ≤1080p, Battery — FRC off. Тогда строка активного профиля в OSD сразу объясняет, почему воспроизведение выглядит иначе. Если же профили называются Copy of Automatic, Copy 2 и Test, через несколько недель понять применённую логику становится трудно.

Цепочка обработки: декодер, frame server, SVP и видеорендерер

Для устойчивой работы полезно представлять полный путь кадра. Контейнер читается плеером, видеодекодер превращает сжатый поток в кадры, затем AviSynth/VapourSynth или другой механизм передаёт их в SVP, после интерполяции кадры возвращаются плееру и попадают в видеорендерер. В этой цепочке любой этап может ограничить частоту. Быстрый RIFE не поможет, если декодер не успевает декодировать AV1 4K, а свободный CPU не спасёт ситуацию, когда рендерер пропускает кадры при 144 fps.

Поэтому диагностировать нужно последовательно. Сначала исходник воспроизводится без SVP и проверяются dropped frames. Затем включается лёгкий Automatic ×2. После этого увеличивается цель или качество. Если проблема появилась сразу после подключения фильтра, рассматривается совместимость форматов. Если только после повышения FPS — производительность. Если только после включения HDR/шейдеров — видеорендерер и GPU-конвейер.

Такой порядок предотвращает распространённую ошибку: пользователь видит рывок, меняет Motion vectors grid, затем shader и masking, хотя реальная причина — программный декодер или дисплей, работающий в другой частоте. Параметры движения влияют на форму промежуточного кадра, но не исправляют неправильно настроенную синхронизацию вывода.

Copy-back и аппаратное декодирование

VapourSynth должен получить доступ к декодированным пикселям. Поэтому mpv и некоторые DirectShow-схемы используют аппаратное декодирование с возвратом кадра в доступную памяти область — copy-back. Оно сохраняет выгоду аппаратного декодера, но добавляет передачу данных. Чистый zero-copy режим, где кадр остаётся внутри поверхности GPU, не всегда совместим с фильтром. Отсюда парадокс: переключение на supposedly faster аппаратный режим может сделать SVP недоступным, если он не предоставляет кадры нужному фильтру.

При 4K и высокой частоте передачи тоже имеют цену, поэтому нужно выбирать поддерживаемую схему, а не максимальное число аппаратных галочек. Если mpv с hwdec=auto-copy работает стабильно, переход на другой hwdec имеет смысл только при конкретной проблеме. Для VLC и DirectShow свои ограничения, поэтому настройки из одной программы нельзя механически переносить в другую.

Видеорендерер и синхронизация с экраном

После интерполяции плееру ещё нужно вовремя показать каждый кадр. При 60 fps окно времени — около 16,7 мс, при 120 fps — 8,3 мс, при 144 fps — 6,9 мс. В этот интервал входят рендеринг, масштабирование, цветовые преобразования и ожидание синхронизации. Если рендерер применяет тяжёлый апскейл или HDR-тонмаппинг, он может съесть запас, который казался свободным по графику SVP.

Удобный признак — расхождение между нормальным SVP Index и растущим счётчиком dropped/repeated frames в OSD плеера. Тогда интерполяция успевает, но вывод нет. Следует временно выбрать более простой рендер, отключить дополнительные шейдеры и проверить частоту дисплея. После стабилизации функции возвращаются по одной.

Vertical sync, VRR/G-SYNC/FreeSync и собственная коррекция часов плеера тоже влияют на каденс. Если подёргивание появляется через равные интервалы при низкой загрузке, полезно сравнить фиксированную частоту монитора с VRR и проверить, какую частоту реально использует система. Задача здесь — добиться согласованного тайминга, а не заставить SVP вычислять ещё больше кадров.

Аудиосинхронизация и изменение задержки

Интерполяция не должна менять длительность ролика, но фильтрация добавляет буферы и вычислительную задержку. Плееры обычно компенсируют её автоматически. Если звук заметно уходит вперёд или назад только при SVP, сначала нужно убедиться, что выходной поток стабилен и нет постоянных dropped frames. Нестабильный видео-clock заставляет плеер периодически корректировать синхронизацию, что может выглядеть как проблема аудио.

Резкая постоянная задержка после смены фильтра указывает на конфигурацию плеера или конкретную цепочку DirectShow/VapourSynth. Плавающая задержка, которая постепенно растёт, чаще связана с несогласованными часами, проблемным источником или рендерером. Менять Search radius в такой ситуации бесполезно: он не определяет временную шкалу звука.

При SVPcode звук не растягивается из-за повышения FPS: длительность остаётся прежней, меняется только число видеокадров. Если после перекодирования рассинхронизация есть в одном плеере, стоит проверить таймстампы контейнера и дорожек другим плеером до повторного вычисления всей интерполяции.

Типичные артефакты и какая настройка на них влияет

СимптомВероятная причинаЧто проверять
Волна вокруг движущегося объектаНеверное локальное поле векторовGrid, search radius, precision, shader, Adaptive
Двойной контурСильное смешивание или maskingArtifacts masking, shader, scene handling
Гибрид двух сцен на склейкеСмена сцены не распознанаRepeat frame, RIFE scene threshold
Короткий рывок в обычном движенииЛожное распознавание смены сценыRIFE scene threshold, Adaptive
Мелкая деталь прилипает к фонуСлишком крупная сеткаMotion vectors grid, refinement
Нестабильные узоры на решёткеПовторяющаяся текстура даёт ложные совпаденияRadius, wide search, другой движок
Чёрный экран при AIНесовместимость фильтра/формата или GPU backendVapourSynth, Vulkan/TensorRT, 10-bit, renderer
Регулярные пропуски без артефактовНе хватает времени на выводSVP Index, renderer, target FPS, refresh rate

Таблица полезна именно как направление поиска. Один и тот же визуальный дефект может иметь несколько причин. Например, двойной контур появляется и из-за Blend adjacent frames на сцене, и из-за сильного masking в обычном движении. Поэтому нужно смотреть, возникает ли он только на монтаже, только возле движущихся объектов или на каждом промежуточном кадре.

3D, стереопары и VR

SVP умеет распознавать стереопары side-by-side и over-under по имени файла и необычному соотношению сторон. Для корректной интерполяции важно, чтобы обе половины стерео рассматривались согласованно. Дополнительные crop/outer lighting могут менять геометрию, поэтому в 3D-сценарии их нужно настраивать осторожно. В меню предусмотрено отключение outer lighting для 3D и отдельные режимы коррекции соотношения сторон.

Поддержка VR и BD3D зависит от конкретного плеера. Здесь SVP не заменяет декодер MVC или VR-рендерер: он работает на том видеопотоке, который отдаёт совместимая программа. Если конкретный VR-плеер не поддержан, наличие мощного GPU не решает проблему интеграции. В официальном списке есть HereSphere, Whirligig и другие проверенные варианты, но конфигурацию следует брать именно для выбранного плеера.

Для 3D нагрузка может быть выше из-за увеличенного размера кадра или двойного изображения. Поэтому профиль по Frame width/height полезен: стереопара автоматически получает более лёгкие параметры, не затрагивая обычные 2D-фильмы.

Несколько дисплеев и смена частоты обновления

Режим To screen зависит от частоты активного дисплея. Если окно плеера переносится с 60-Гц монитора на 120/144-Гц, желаемый target может измениться. В системах с несколькими экранами полезно проверить, какой монитор считается целевым и когда SVP обновляет информацию. Если автоматическое поведение неудобно, фиксированные 60/72/120 fps или множители дают более предсказуемый результат.

На телевизоре, подключённом по HDMI, режим 23,976/24 Гц иногда лучше исходной интерполяции для тех, кто хочет сохранить кинематографический ритм. SVP особенно нужен, когда дисплей работает на 60/120 Гц и пользователь сознательно предпочитает HFR. Поэтому выбор частоты экрана и выбор target — связанные, но независимые решения.

Если один дисплей 4K 60 Гц, а другой 1440p 144 Гц, одинаковый профиль To screen будет иметь принципиально разную стоимость. Условие по размеру экрана в стандартных профилях ограничено возможностями интерфейса, поэтому часто проще использовать фиксированные профили и вручную переключать их горячей клавишей при переносе окна.

Что проверять после обновления драйвера или замены видеокарты

Первый тест — OpenCL/Vulkan devices: SVP должен видеть новый адаптер. Затем проверяется Application settings → GPU acceleration и Rendering device в ручных профилях, потому что они могут хранить старое выбранное устройство. Для RIFE отдельно проверяется GPU device и backend. После замены NVIDIA на AMD профиль TensorRT, очевидно, работать не будет; нужно выбрать ncnn/Vulkan или классический режим.

Если после обновления драйвера классический профиль перестал запускаться, временно отключается NVIDIA Optical Flow и оставляется обычный motion estimation. Если проблема исчезла, круг поиска сужается до аппаратного Optical Flow. Для RIFE аналогично: сначала generic Vulkan, потом TensorRT. Такое разбиение быстрее полной переустановки SVP и всех плееров.

После серьёзной смены железа полезно заново запустить Assess system performance, чтобы Automatic не ориентировался на старую оценку. Пользовательские профили при этом не обязаны меняться, но их границы качества могут стать слишком консервативными или, наоборот, чрезмерными для нового устройства.

Сброс и восстановление конфигурации

Если после длительных экспериментов непонятно, какой скрытый параметр повлиял на результат, Application settings → Additional содержит сброс настроек к значениям по умолчанию. Перед этим разумно сохранить собственную логику профилей отдельно, если она нужна. Сброс особенно полезен после редактирования All settings или пользовательских JavaScript-опций, потому что ручной поиск одного неправильного значения может занять больше времени.

Для обычной проблемы конкретного ролика полный сброс — слишком грубый шаг. Сначала используется Revert в активном профиле, затем Automatic, затем временно отключаются crop/resize/outer lighting. Только если поведение остаётся странным во всех плеерах и профилях, имеет смысл возвращать общие настройки.

Выбор кодировщика и контейнера в SVPcode

Кодировщик определяет размер, совместимость и время сжатия, но не саму геометрию движения. x264 хорошо подходит для максимально широкой совместимости H.264, x265 — для более эффективного HEVC при большей вычислительной цене. NVENC, Quick Sync, AMF и VideoToolbox позволяют разгрузить CPU и ускорить сохранение, но доступность конкретного варианта зависит от платформы, драйвера и сборки ffmpeg.

CRF удобен, когда важнее постоянное визуальное качество, а итоговый размер может варьироваться. Битрейт нужен, когда размер или пропускная способность ограничены заранее. При HFR число кадров в секунду выше, поэтому при том же битрейте на каждый кадр в среднем приходится меньше данных; для сложного движения может потребоваться повысить битрейт относительно исходного 24/30-fps файла.

Контейнер выбирается с учётом аудио, субтитров и целевого устройства. MKV терпим к множеству дорожек и форматов, MP4 чаще нужен для бытовой совместимости. Если исходник содержит редкие типы субтитров или несколько аудиоформатов, перед длинным кодированием стоит сделать короткий тест и убедиться, что muxer сохраняет нужные дорожки.

Когда интерполяцию лучше не использовать

Первый случай — источник уже имеет достаточную частоту: 60-fps спортивная запись на 60-Гц дисплее не выигрывает от лишнего синтеза. Второй — материал, где авторская эстетика строится на намеренно низкой или ступенчатой частоте, стоп-моушене, анимации на двойках и резких монтажных переходах. Интерполяция может изменить характер движения сильнее, чем хотелось бы.

Третий случай — компьютер работает на границе возможностей. Постоянные dropped frames хуже исходного стабильного 24/30 fps, поэтому лучше выбрать ×2, снизить разрешение или временно выключить SVP. Четвёртый — профессиональная проверка исходного материала, где нужно видеть реальные кадры без синтеза: контроль монтажа, артефактов кодирования и точного тайминга следует выполнять на оригинальной временной структуре.

Наконец, интерполяция не заменяет восстановление повреждённого видео. Если источник имеет пропущенные кадры, битые таймстампы или сильные компрессионные ошибки, SVP может лишь построить промежуточные изображения между тем, что получил. Сначала исправляется декодирование и временная шкала, затем имеет смысл повышать FPS.

Первые секунды воспроизведения и смена профиля на лету

При запуске ролика SVP сначала должен обнаружить плеер, получить параметры потока, выбрать подходящий профиль и сформировать сценарий фильтрации. Поэтому OSD может появиться не в тот же момент, что первое изображение. Для обычного классического профиля задержка обычно мала, а RIFE через TensorRT способен ждать заметно дольше из-за инициализации или оптимизации нового размера. Если воспроизведение начинается без интерполяции, а через несколько секунд включается нужный FPS, это само по себе не означает ошибку.

Переключать профиль можно во время просмотра через меню активного видео, строку профиля внизу Control Panel или значок в области уведомлений. При переходе между сильно различающимися движками возможна короткая пауза, поскольку плеер и frame server перестраивают фильтр. Для честного сравнения лучше после переключения вернуться на несколько секунд назад: первая пара кадров после перестройки не всегда показательна.

Если выбранный вручную профиль сразу заменяется другим на следующем файле, нужно смотреть Apply this profile IF. Ручной выбор действует для текущего воспроизведения, а при открытии нового файла механизм условий снова ищет наиболее подходящий профиль. Чтобы RIFE, Animation или 4K-профиль выбирался автоматически, его условия и score должны однозначно выигрывать у общих вариантов.

Как читать строку состояния и OSD

Строка состояния SVP показывает активное воспроизведение и выбранный профиль, а экранное сообщение при старте обычно позволяет быстро увидеть фактическую частоту, к которой выполняется преобразование. Это простой способ поймать ошибочный профиль: если 24-fps фильм неожиданно подписан Ignore HFR sources или 4K-ролик получил профиль для 720p, проблему следует искать в условиях, а не в качестве motion vectors.

При диагностике полезно фиксировать четыре числа: исходный FPS, целевой FPS, частоту экрана и SVP Index. Из них сразу видно, что именно происходит. Например, 23,976→59,94 при экране 59,94 Гц — нормальный To screen; 23,976→47,952 — обычный ×2; 60→60 с отключённым FRC — профиль оставляет HFR без изменений. Такая проверка предотвращает попытки улучшить интерполяцию, которая фактически не включена.

Сравнение SmoothVideo Project с аналогами

ПрограммаЛучше подходит дляГлавное ограничение
SmoothVideo ProjectИнтерполяция в реальном времени в плеере, профили по условиям, RIFE и сохранение через SVPcodeТребует настройки плеера и заметных ресурсов при высоком FPS
FlowframesПакетное офлайн-увеличение FPS с нейросетевыми моделями и подготовкой готовых файловНе заменяет фильтр реального времени для широкого набора плееров
RIFE AppОфлайн-интерполяция роликов с упором на семейство моделей RIFEОсновной сценарий — создание нового файла, а не постоянная обработка в плеере
DAIN-AppНейросетевая офлайн-интерполяция, когда нужен конкретный подход DAINВысокие требования к вычислениям и отсутствие универсальной плеерной интеграции
DmitriRenderПлавное воспроизведение через DirectShow с минимальным количеством внешних действийУзкая привязка к Windows/DirectShow и меньшая гибкость офлайн-сценариев
ButterflowСкриптовая/офлайн-интерполяция с управлением скоростью и частотой кадровНет единой панели профилей и интеграции с современными плеерами уровня SVP

Практический выбор определяется тем, где нужен результат. Для постоянного просмотра фильмов с повышенным FPS SVP сильнее аналогов именно связкой профилей, плеерной интеграции, диагностики и нескольких движков. Если задача — один раз увеличить FPS у пачки файлов, интерфейс Flowframes или специализированное RIFE-приложение может быть проще. DAIN-App имеет смысл, когда нужен именно его нейросетевой метод, а DmitriRender — когда важен только DirectShow-проигрыватель. Универсального лидера по качеству промежуточного кадра нет: алгоритмы по-разному ведут себя на перекрытиях, анимации и резком движении.

Кому подходит SmoothVideo Project

Программа полезна тем, кто регулярно смотрит 24/25/30-fps видео на 60–144-Гц дисплее и хочет управлять характером движения, а не ограничиваться встроенным motion smoothing телевизора. Она особенно оправдана на ПК с несколькими плеерами, где удобно один раз настроить профили по разрешению, FPS и типу контента. SVPcode расширяет тот же подход на подготовку HFR-файлов, а SVPcast — на передачу результата другим устройствам.

Если нужен только монтаж, изменение контейнера или обычное кодирование без синтеза промежуточных кадров, SVP избыточен. То же относится к источнику, который уже имеет желаемые 60/120 fps. Для защищённого браузерного стриминга программа также не является универсальным решением. Наконец, пользователь, принципиально предпочитающий оригинальный 24-fps ритм, может использовать SVP только для отдельных материалов или вовсе оставить интерполяцию выключенной.

Частые вопросы

Можно ли получить ровно 60 fps из 23,976 fps?

Да. Можно использовать To screen на 60-Гц дисплее или фиксированную цель 60 fps. Коэффициент получается нецелым, поэтому часть временных позиций синтезируется по неравномерному отношению к исходным кадрам; для SVP это штатный сценарий. Если важнее простой кратный ритм, используют ×2 или ×2,5 в зависимости от желаемой частоты.

Почему профиль Automatic нельзя редактировать как обычный?

Automatic предназначен для динамического подбора параметров по производительности и видео. Для ручного контроля нужно создать копию через New и отключить Automatic options selection. Так автоматический эталон остаётся доступным для возврата и сравнения.

Нужно ли включать максимальное Artifacts masking?

Нет. Маскирование скрывает ненадёжные области ценой размытия и уменьшения плавности. Strong/Strongest полезны только в конкретных случаях. Часто лучше исправить grid/search radius или выбрать менее агрессивный interpolation mode.

Почему RIFE не появляется или не запускается?

Проверяются установленный компонент RIFE, активный профиль, Vulkan/драйвер, выбранный GPU и используемый frame server. Для TensorRT через DirectShow нужен Vapoursynth Filter и корректные переменные окружения. В Avisynth TensorRT не работает.

Можно ли использовать RIFE только для 720p?

Да. Создаётся профиль RIFE с условием Frame height ≤ нужного значения. Для более высокого разрешения оставляется Automatic или другой классический профиль. Условие Expert: add scores помогает гарантировать приоритет нужного профиля.

Почему первый запуск TensorRT занимает минуты?

Performance boost выполняет оптимизацию под размер кадра и кэширует результат. Новый размер — в том числе после другого crop — требует новой оптимизации. Закрывать консоль в этот момент не следует.

Что делать, если 4K не тянет?

Снизить целевой FPS, применить Decrease to screen/HD, упростить классический профиль либо перейти на более лёгкую RIFE-модель. Для TensorRT дополнительно проверяется объём VRAM. Если дисплей ниже 4K, предварительное уменьшение кадра обычно наиболее рационально.

Почему SVP включён, а 60-fps ролик не обрабатывается?

Скорее всего сработал профиль Ignore HFR sources или условие по исходному FPS. Для уже высокочастотного видео это нормальная оптимизация. При необходимости условие можно изменить, но дополнительная интерполяция 60→120 должна быть осознанной.

Можно ли отключить интерполяцию, но оставить обрезку полей?

Да. Do frame rate conversion можно выключить, а Frame size и Outer lighting продолжат работать. Для полного исключения всех функций SVP используется полное отключение обработки в профиле.

Почему после отключения интерполяции картинка всё равно меняется?

Потому что crop, resize и outer lighting независимы от FRC. Для чистого исходного изображения нужно отключить их отдельно либо полностью выключить SVP для активного видео.

Как понять, что системе не хватает производительности?

Открыть Performance monitor и посмотреть SVP Index. Значение должно держаться около 1; заметные провалы ниже 0,95 указывают, что целевая частота не выдерживается. Затем сравнивают CPU, память, GPU и dropped frames плеера.

Нужен ли мощный CPU при RIFE?

Основная нейросетевая нагрузка находится на GPU, но CPU всё равно участвует в декодировании, подготовке кадров, скриптах и работе плеера. Слабый CPU может стать ограничением рядом с быстрым GPU, особенно при программном декодировании или тяжёлом контейнере.

Можно ли одновременно открыть несколько видео?

Да, но в Application settings задаётся, обрабатывать все, первое или последнее. Несколько параллельных сессий резко увеличивают нагрузку, поэтому для RIFE и 4K обычно разумнее оставить одну активную.

Работает ли SVP с защищённым Netflix в браузере?

Нет в обычной схеме: защищённый браузерный поток не передаёт кадры через поддерживаемый SVP видеоплеер. SVPtube работает только с сайтами и потоками, которые способен извлечь yt-dlp/youtube-dl.

Зачем SVPcode, если можно смотреть в реальном времени?

SVPcode нужен для устройств без SVP, для архива и для тяжёлых профилей, которые не успевают в реальном времени. Он создаёт отдельный HFR-файл и позволяет использовать программные или аппаратные кодировщики.

Можно ли оставить оригинальный звук и субтитры при SVPcode?

Модуль рассчитан на сохранение аудио- и субтитровых дорожек исходного файла при перекодировании видео. Конкретная совместимость контейнера зависит от muxer и формата дорожек, поэтому при нестандартных сочетаниях следует выбирать подходящий контейнер.

Что лучше: классический SVP или RIFE?

Классический режим быстрее, лучше масштабируется на умеренном железе и предоставляет подробную ручную настройку motion vectors. RIFE обычно требует значительно больше GPU, но может дать более убедительные промежуточные кадры на сложном движении. Выбор зависит от разрешения, FPS, видеокарты и характера материала.

Нужно ли копировать профиль из форума один в один?

Нет. Профили зависят от дисплея, разрешения, исходного FPS, GPU и личной чувствительности к артефактам. Скриншот чужой конфигурации лучше использовать как перечень параметров для эксперимента, а Rendering device и thread count выбирать заново.

Итоговая логика настройки

Наиболее надёжный путь начинается с Automatic: сначала нужно добиться стабильного SVP Index и корректной работы плеера, затем решать вопросы качества. Если Automatic устраивает, ручной профиль не обязателен. Если нет — создаётся копия, выбирается целевая частота, после чего по одной меняются interpolation mode, shader, masking и параметры motion vectors. Геометрические функции проверяются отдельно, чтобы crop или resize не маскировали результат.

RIFE и NVIDIA Optical Flow следует включать как альтернативные движки, а не как обязательные улучшатели поверх уже максимального классического профиля. RIFE особенно логичен для офлайн SVPcode или разрешений, которые GPU уверенно выдерживает. Для 4K/120+ fps главный критерий — не максимальное число включённых технологий, а стабильная цепочка от декодера до дисплея без пропусков и лишнего преобразования кадров.