DGIndexNV индексирует видеопотоки AVC/H.264, HEVC/H.265, MPEG-2 и VC-1 с декодированием на совместимой видеокарте NVIDIA, создаёт проекты DGI для точного доступа к кадрам через DGSource, умеет демультиплексировать дорожки, анализировать транспортные потоки и сохранять выбранные фрагменты TS без повторного кодирования. Программа полезна в цепочках AviSynth и VapourSynth, где перед фильтрацией и кодированием нужен предсказуемый источник с быстрым произвольным доступом к кадрам.
Основная задача DGIndexNV — не изготовление конечного MP4 или MKV, а подготовка исходника к дальнейшей обработке. Программа читает контейнер или элементарный видеопоток, разбирает последовательность кадров и служебные данные, а затем записывает индекс DGI. Само изображение при этом не перекодируется: DGI содержит сведения, по которым фильтр DGSource обращается к исходному файлу и выдаёт нужные кадры скриптовому движку. Такая схема особенно удобна для длинных TS, M2TS, VOB, MKV и MP4, где простой последовательный декодер плохо подходит для частых переходов по таймлайну, поиска границ сцен и многократного запуска кодировщика.
Второй крупный сценарий — разбор потоков. В DGIndexNV есть выбор PID для транспортного контейнера, демультиплексирование аудио, видео и PGS-субтитров, сохранение проекта, вывод выбранного диапазона как Trimmed TS, сохранение текущего кадра в BMP и информационные режимы для проверки параметров потока. Поэтому программу разумно рассматривать как индексатор, анализатор и технический подготовительный инструмент: монтаж, эффекты, титры и финальное сжатие выполняются уже в AviSynth/VapourSynth, кодировщике или другой программе следующего этапа.
Скачать DGIndexNV
- Конвертация видео
- Сжатие файлов
- Просто для новичков
- Требует NVIDIA GPU
- Нет полноценного монтажа
- Не поддерживает 4:2:2/4:4:4
Что именно делает DGIndexNV

DGIndexNV строит карту исходного видеопотока, чтобы связанный декодер мог обращаться к кадрам в произвольном порядке без постоянного повторного поиска с начала файла. При обычном воспроизведении декодер читает данные последовательно, и это почти незаметно. В монтажно-кодировочной цепочке ситуация иная: предпросмотр прыгает по кадрам, фильтры запрашивают соседние изображения, кодировщик может возвращаться к уже просмотренным участкам, а пользователь многократно открывает один и тот же материал. Индекс DGI заранее фиксирует структуру потока и превращает такой доступ в штатный сценарий.
Важно не путать индекс с прокси-видео. DGI не является облегчённой копией фильма и не заменяет исходный TS, MKV или MP4. Если переместить или удалить исходник, проект может перестать открываться, особенно когда в нём сохранён полный путь. Размер DGI обычно несопоставим с размером видео, потому что в проект попадают описания и таблицы, а не сами сжатые кадры. Это же объясняет, почему создание DGI не меняет качество изображения: на этом этапе нет повторного кодирования.
С индексом работает DGSource — источник кадров для AviSynth и VapourSynth. В простом случае скрипт содержит вызов DGSource с путём к DGI; дальше к полученному клипу применяются деинтерлейс, кадрирование, шумоподавление, масштабирование, субтитры и любые другие фильтры выбранной среды. DGIndexNV отвечает за надёжное чтение и описание исходного потока, а не за весь последующий видеопроцессинг.
Какие результаты можно получить

- DGI-проект — индекс для DGSource и повторного открытия через команду Load Project.
- Демультиплексированные дорожки — выбранные аудио-, видео- и субтитровые потоки без объединяющего контейнера.
- Trimmed TS — выбранный участок транспортного потока без перекодирования, с ограничениями по допустимым точкам разреза.
- BMP-кадр — сохранённое изображение текущей позиции для технической проверки или сравнения.
- Информационный лог — данные, полезные при диагностике структуры потока и временных меток.
Поддерживаемые видеопотоки и типы источников

Ключевые семейства кодеков для DGIndexNV — AVC/H.264, HEVC/H.265, MPEG-2 и VC-1. Именно под них в руководстве выделены отдельные информационные разделы, а в настройках есть списки расширений для AVC, HEVC, MPG и VC1. На практике программа встречается в цепочках обработки Blu-ray, телевизионных записей и файловых рипов, где видео находится в M2TS/TS, VOB/MPG, MKV, MP4 либо представлено элементарным потоком H.264, H.265, MPEG-2 или VC-1.
Контейнер и видеокодек — разные уровни. Расширение .mkv не говорит, что внутри обязательно H.264, а .ts может нести несколько программ, разные аудиодорожки, субтитры и служебные таблицы. Поэтому DGIndexNV сначала определяет, какие потоки присутствуют, затем пользователь выбирает нужный видеопоток и, если требуется, дорожки для демультиплексирования. На проблемных транспортных записях выбор PID иногда приходится выполнять вручную.
| Источник | Типичный сценарий | На что обратить внимание |
|---|---|---|
| TS, M2TS, MTS | Индексирование, выбор PID, демультиплексирование, Trimmed TS | PAT/PMT, повреждённые пакеты, несколько программ и разрывы временных меток |
| VOB, MPG | MPEG-2/VC-1-потоки и создание DGI | DGIndexNV не разбирает DVD IFO, поэтому углы и структура диска должны быть подготовлены заранее |
| MKV | Прямое индексирование видео, при необходимости демультиплексирование | В сложной автоматизации дорожки нередко удобнее извлекать специализированным MKV-демультиплексором |
| MP4 | Индексирование AVC/HEVC и работа через DGSource | Контейнерные дорожки и метаданные могут обрабатываться отдельно в зависимости от дальнейшего конвейера |
| Элементарный AVC/HEVC/MPG/VC-1 | Прямое построение индекса | Нет контейнерного слоя, поэтому аудио, главы и субтитры отсутствуют как сопутствующие дорожки |
Что не стоит считать универсальной совместимостью

Наличие HEVC в списке поддерживаемых кодеков не означает, что любой HEVC-поток будет декодирован на любой видеокарте. Аппаратный путь зависит от возможностей NVIDIA GPU; для HEVC особенно важно наличие подходящего аппаратного декодера. Кроме того, в документации DGDecNV отдельно оговорены неподдерживаемые форматы цветовой субдискретизации 4:2:2 и 4:4:4, а также lossless-режимы AVC/HEVC. Если такой файл не открывается, бессмысленно менять контейнер, пока не проверен сам профиль видеопотока.
С VOB есть другая граница: видеоданные открываются, но DGIndexNV не выполняет полноценный разбор IFO. Это существенно для DVD с multi-angle, сложной навигацией и сегментами, которые должны собираться по структуре диска. Предварительная подготовка такого источника выполняется на этапе рипа или демультиплексирования, после чего DGIndexNV получает уже корректную последовательность видео.
Интерфейс и основные зоны

Главное окно устроено как технический просмотрщик: сверху находятся меню File, Stream, Video, Demux, Settings и Help, под ними — компактная панель навигации и установки границ, ниже — область изображения и статусная информация. Такая компоновка отражает назначение программы: здесь нет многодорожечной временной шкалы, медиатеки или панели эффектов. Большинство действий относится к открытию потока, переходу между кадрами, выбору диапазона, анализу параметров, демультиплексированию и сохранению проекта.
В меню File доступны Open, Open Disk, Load Project, Close, Output Trimmed TS, Save Project, Save BMP, Preview, Play, Step, Rewind, Stop, Pause/Resume, Minimize и Exit. Для многих команд предусмотрены функциональные клавиши: Open вызывается F2, Step — F3, Save Project — F4, Preview — F5, Play — F6, Save BMP — F7, Close — F9, Rewind — F12, остановка — Esc, пауза и продолжение — Space. Такое управление удобно при покадровой проверке длинного материала, когда мышь нужна только для редких настроек.
Кнопки с квадратными скобками задают начало и конец активного диапазона. Рядом находятся переходы и режимы воспроизведения. Индикатор выделения показывает, какая часть исходника будет считаться выбранной для операций, зависящих от Selection. Это важный принцип интерфейса: позиция просмотра и границы выделения — разные сущности. Сначала пользователь переходит к нужному кадру, затем закрепляет его как начало или конец.
Меню Stream и работа с дорожками

Меню Stream связано прежде всего с идентификацией потоков. Для транспортных файлов программа может опираться на таблицы PAT/PMT, выполнять более грубое обнаружение PID по содержимому или принимать PID, заданные пользователем. Эти режимы полезны не только при аварийных файлах. Телевизионный TS нередко несёт несколько программ, служебные PID, альтернативные аудиодорожки и субтитры, поэтому правильный выбор видеопотока определяет всё последующее индексирование.
Если автоматическое определение даёт ожидаемую картинку и корректный звук, вручную менять PID не требуется. Ручное вмешательство имеет смысл, когда открывается не та программа, в списке отсутствует нужная дорожка, файл записан с повреждёнными таблицами или в одном TS соединены участки с меняющейся структурой. В таких случаях сначала полезно сравнить результат Detect PIDs: PAT/PMT и Detect PIDs: Raw, а только затем фиксировать значения через Set PIDs.
Меню Video и информационные поля

Видеораздел показывает параметры, специфичные для AVC, HEVC, MPEG и VC-1. Состав полей различается, потому что кодеки хранят сведения о последовательности по-разному. Для практической работы важны разрешение, частота и структура кадров, прогрессивность или чересстрочность, аспект, признаки pulldown и другая служебная информация, влияющая на последующее декодирование. Full Info расширяет объём выводимых данных, когда краткого статуса недостаточно.
Информацию следует использовать как диагностику, а не как автоматическую команду к фильтрации. Например, наличие interlaced-флагов не гарантирует, что весь материал требует обычного деинтерлейса: возможны soft telecine, смешанная структура и ошибочные флаги. DGSource имеет собственные параметры fieldop и deinterlace, но решение о них принимают после просмотра движения и понимания исходного стандарта.
Первое индексирование: базовый рабочий сценарий
Для типового задания достаточно открыть исходник, проверить, что выбран нужный видеопоток, при необходимости настроить демультиплексирование и сохранить проект. После Open DGIndexNV показывает декодированный кадр и статус потока. Если это TS/M2TS, нужно убедиться, что найден правильный PID видео и ожидаемые аудиодорожки; если MKV или MP4 — что выбран тот видеотрек, который действительно должен попасть в DGI. Затем команда Save Project создаёт индекс и, согласно настройкам Demux, может одновременно вывести выбранные элементарные дорожки.
- Откройте исходный файл через File → Open или перетащите его в окно.
- Проверьте видеокадр и параметры в статусной области; для TS при сомнениях выполните обнаружение PID.
- Откройте настройки Demux и отметьте только те дорожки, которые нужны дальше.
- Если индексировать требуется не весь материал, установите начало и конец Selection.
- Выполните File → Save Project и задайте имя будущего DGI.
- Используйте полученный DGI в DGSource; исходное видео оставьте доступным по тому пути, который записан в проект.
Сохранять проект лучше рядом с исходником или в предсказуемом рабочем каталоге, особенно если дальнейшие скрипты строятся автоматически. Параметр Default Save Project Path позволяет задать стандартную папку, а Use Full Paths определяет, будут ли в DGI использоваться полные пути. Полные пути удобны в неизменяемой рабочей станции, относительные — при переносе набора исходник + DGI как единой папки.
Save Project и Load Project — разные операции
Обычная команда Open предназначена для медиаданных. Уже созданный DGI нужно открывать через File → Load Project. В программе предусмотрено отдельное предупреждение для неправильной попытки загрузить индекс как исходное видео. Разделение логично: при Open строится контекст для нового потока, а Load Project восстанавливает ранее сохранённое состояние, включая связанные с проектом сведения и настройки демультиплексирования.
Load Project полезен, когда надо вернуться к прежней позиции, проверить параметры индекса или изменить операцию над тем же источником. Если DGI перестал открываться после переноса файлов, сначала проверьте путь к исходнику. При включённом Use Full Paths индекс продолжает ссылаться на прежнее расположение; в такой ситуации либо возвращают файл по записанному пути, либо корректно перестраивают индекс.
Файл DGI и связь с DGSource
DGI — текстовый индекс, содержащий сведения о проиндексированном видеопотоке и расположении кадров. В нём сохраняется достаточно данных, чтобы DGSource мог воспроизводимо обращаться к исходнику. Для некоторых потоков в индекс также попадают важные метаданные, включая информацию, связанную с HDR. Сам по себе DGI не декодируется медиаплеером и не предназначен для архивного просмотра вместо видео.
Текстовая природа индекса полезна в автоматизации. Продвинутые конвейеры могут анализировать служебные строки DGI, например структуру типов кадров, чтобы искать I-кадры или сверять параметры источника. Однако ручное редактирование DGI без необходимости нежелательно: неверный путь, изменение структуры строки или несовместимая кодировка способны привести к ошибкам при DGSource. Если надо изменить источник, надёжнее создать индекс заново.
В простом AviSynth-сценарии после загрузки DGDecodeNV.dll используется вызов DGSource("video.dgi"). В VapourSynth тот же принцип реализуется через функцию DGSource из пространства плагина. Скриптовая среда получает видеоклип, а аудио обычно обрабатывается отдельно: либо демультиплексируется при создании DGI, либо извлекается специализированным инструментом контейнера. Это предотвращает распространённую ошибку ожидания, что DGI автоматически содержит полноценную аудиодорожку.
Полные и относительные пути
Use Full Paths следует выбирать исходя из жизненного цикла проекта. На рабочей станции с постоянной структурой каталогов полный путь уменьшает неоднозначность: несколько файлов с одинаковыми именами в разных папках не перепутаются. Для переносимого задания, которое копируется на другой диск или компьютер, абсолютная привязка часто становится неудобной. Если файл переехал, DGSource ищет его там, где указано в индексе, и сообщение об отсутствующем источнике закономерно.
Кодировка путей тоже может стать частью проблемы не в самом декодере, а в связке с оболочкой, которая переписывает DGI. Если сторонняя программа читает индекс в одной кодировке и сохраняет в другой, символы вне базового ASCII иногда искажаются. В интегрированных конвейерах стоит использовать поддерживаемый режим записи DGI и не переименовывать индекс сторонними компонентами без необходимости. Признак такой ошибки — DGI создаётся DGIndexNV нормально, но после обработки оболочкой путь внутри становится нечитаемым.
Навигация, выделение и покадровая проверка
Кнопка [ фиксирует начало выделенного диапазона в текущей позиции. Перед нажатием пользователь переходит к нужному кадру с помощью навигации, мыши, колеса или пошаговых команд. После установки начала можно продолжать просмотр независимо от границы: маркер остаётся в проекте, пока его не изменят. Такой способ удобнее ввода таймкода, когда границу проще определить визуально — например, перед первым кадром передачи или после рекламного блока.
Кнопка ] задаёт конец. Между двумя маркерами появляется выбранный участок, который используется функциями, работающими с Selection. Важно понимать, что визуально выбранный кадр не всегда является точной байтовой точкой, на которой транспортный поток можно безопасно разрезать без перекодирования. Для индексирования точный доступ к кадрам обеспечивается декодером, а для Output Trimmed TS действуют ограничения структуры сжатого GOP.
Step выполняет одиночный шаг, Rewind возвращает к началу, Preview и Play дают разные варианты просмотра, Pause/Resume приостанавливает и продолжает воспроизведение. Frame Step Mode определяет логику пошаговой навигации. Для поиска проблемного кадра лучше двигаться короткими шагами, а для проверки длительного отрезка — запустить Play с подходящей Playback Speed и при необходимости включить Loop Playback.
Почему переход по кадрам не равен монтажу
DGIndexNV позволяет выбрать диапазон и подробно его просмотреть, но не превращается от этого в нелинейный редактор. Здесь нет монтажных дорожек, склеек с переходами, ключевых кадров эффектов, титров и аудиомикширования. Selection служит технической границей для сохранения проекта, анализа и Trimmed TS. Если нужен кадр-точный монтаж с перекодированием только границ или сложная композиция, работу продолжают в специализированном редакторе либо реализуют Trim/Splice в AviSynth/VapourSynth и кодируют результат.
Output Trimmed TS: сохранение выбранного участка
Команда File → Output Trimmed TS сохраняет выбранную часть транспортного потока без обычного видеоперекодирования. Это полезно, когда нужно быстро выделить фрагмент записи для диагностики, разнести длинную запись на технические куски или передать небольшой пример проблемного TS. Поскольку сжатое видео зависит от опорных кадров, такая операция не должна восприниматься как гарантированно кадр-точный lossless-монтаж.
Практическое правило простое: если критически важно сохранить конкретный первый и последний кадр, Trimmed TS не является заменой декодирования и повторного кодирования границ. Выбранная визуальная позиция может быть скорректирована к подходящей точке произвольного доступа или ключевому кадру, поэтому рядом с границей иногда сохраняются лишние кадры или часть выбранного диапазона не попадает в результат. Это не ошибка панели навигации, а следствие зависимости кадров внутри GOP.
После сохранения фрагмента его следует рассматривать как новый транспортный источник и при дальнейшей обработке индексировать заново. Старый DGI описывает исходный файл, а не новый TS. Если из одной записи создаётся несколько кусков, каждому нужен собственный индекс, когда они обрабатываются независимо. Попытка использовать DGI исходника для физически другого файла приведёт к несоответствию смещений и структуры.
Когда Trimmed TS особенно полезен
- подготовка короткого воспроизводимого образца проблемного вещательного TS для диагностики;
- выделение крупного фрагмента перед последующей полной обработкой;
- отсечение явно ненужных начала и конца, когда точность до единичного кадра не требуется;
- проверка, локализована ли ошибка таймстампов или структуры потока в конкретном участке;
- разделение материала по естественным ключевым границам до дальнейшего индексирования.
Демультиплексирование: что делает меню Demux
Demux управляет извлечением элементарных дорожек из контейнера во время сохранения проекта или отдельной операции. В зависимости от источника можно получить исходные аудиопотоки, видеопоток и PGS-субтитры без повторного кодирования. Это удобно для последующего независимого кодирования аудио и видео, для ремультиплексирования или для передачи PGS в специализированный обработчик субтитров.
Выбирать все дорожки по умолчанию не всегда разумно. Blu-ray и вещательный TS могут содержать несколько языков, комментарии, описательный звук, вторичное аудио и несколько наборов субтитров. Чем раньше определена действительно нужная дорожка, тем меньше риск перепутать её в конце. Для пакетных заданий, где нужны все потоки без ручного выбора, у командной строки есть режим демультиплексирования всех дорожек.
При демультиплексировании DGIndexNV не перекодирует дорожку в удобный формат. AC-3 остаётся AC-3, DTS — DTS, AVC — AVC и так далее, если конкретный режим поддерживает их извлечение. Поэтому качество не зависит от битрейта настройки Demux: такого параметра здесь нет. Зато downstream-инструмент должен уметь открыть полученный элементарный поток и правильно учесть задержку или временную привязку, если она существенна для исходного контейнера.
PGS Forced Subtitles Only
Параметр PGS Forced Subtitles Only ограничивает демультиплексирование PGS только элементами, помеченными как forced. Это не распознавание текста и не автоматический перевод субтитров. Программа лишь учитывает флаг внутри графического субтитрового потока. Если автор диска не выставил forced-флаги корректно, ожидаемые реплики могут не попасть в результат, поэтому при сомнениях полезно демультиплексировать полный PGS и проверить его отдельно.
На дисках forced-субтитры нередко используются для надписей на иностранном языке внутри основной звуковой дорожки. Однако встречаются авторинги, где обязательные строки лежат в отдельной дорожке без соответствующего флага. В такой ситуации фильтр Forced Subtitles Only логически выдаст пустой или неполный результат. Это не повод считать PGS повреждённым: сначала надо посмотреть структуру всех субтитровых дорожек.
Do Not Split THD Audio
Do Not Split THD Audio управляет тем, как программа обращается с TrueHD при извлечении. Настройка нужна не всем конвейерам: одни инструменты ожидают определённое представление TrueHD и связанного core-потока, другим удобнее сохранить дорожку как единое целое. Важно согласовать этот флаг с последующим мультиплексором или аудиообработчиком, а не менять его ради лучшего качества — демультиплексирование само по себе не улучшает и не ухудшает кодек.
Bare Demux
Bare Demux предназначен для сценария, где нужна сама операция извлечения, а не полноценный индексировочный цикл с последующей работой через DGI. Такой режим удобен в автоматизации, когда DGIndexNV используют как специализированный демультиплексор поддерживаемого источника. Если же цель — фильтрация через DGSource, проект DGI всё равно остаётся центральным артефактом и отказ от него лишает конвейер главного преимущества индексатора.
Практически Bare Demux стоит отделять от Save Project в сценариях, где индекс не используется дальше. Это уменьшает число промежуточных файлов и делает назначение шага очевидным. Но если на следующей стадии будет AviSynth или VapourSynth с DGSource, правильнее создать DGI сразу и не выполнять повторный проход по тому же источнику без необходимости.
Транспортные потоки и PID
TS отличается от обычного файлового контейнера тем, что построен из коротких пакетов с числовыми PID и служебными таблицами. В исправном вещательном потоке PAT сообщает, какие программы присутствуют, а PMT связывает программу с PID видео, аудио, субтитров и служебных данных. Поэтому Detect PIDs: PAT/PMT — наиболее логичный первый выбор: он использует штатную структуру транспорта, а не пытается угадывать содержимое.
Когда таблицы отсутствуют, повреждены или не соответствуют фактическим пакетам, пригодится Detect PIDs: Raw. Этот режим ищет подходящие потоки по самим пакетам и сигнатурам. Результат надо проверять визуально и по аудиосписку: raw-обнаружение помогает обойти сломанную сигнализацию, но не знает намерений вещателя. Set PIDs позволяет зафиксировать значения вручную, если они известны из анализа или другой утилиты.
Если в одном файле последовательно записаны разные программы или вещатель менял PID во время записи, единый проект может оказаться неудобным. Видимые симптомы — внезапное исчезновение звука, смена дорожки, скачок параметров или остановка индексирования. В таких случаях лучше определить место изменения, разделить исходник на устойчивые сегменты и индексировать их отдельно, чем пытаться заставить один набор PID описывать весь файл.
Предупреждение Encrypted Audio Warning появляется, когда поток помечен как зашифрованный. Встречаются записи, где флаг установлен, хотя фактический звук можно обработать. Диалог позволяет осознанно решить, использовать ли дорожку. Настройка Disable Encrypted Audio Warning только подавляет это уведомление; она не расшифровывает содержимое и не делает действительно зашифрованный звук пригодным для декодирования.
Response to Mismatched Audio
При объединённом или составном источнике характеристики аудио могут измениться между частями: набор PID, формат, число каналов или другие параметры перестают совпадать. Response to Mismatched Audio задаёт, как DGIndexNV реагирует на такое несоответствие. Для автоматического задания разумно выбрать поведение, которое не скрывает потенциальную проблему, если важна синхронность; для ручного анализа можно разрешить продолжение и затем проверить результат.
Самое опасное решение — считать любое предупреждение безвредным. Если одна часть передачи имеет стерео, а следующая переключается на многоканальный звук, downstream-кодировщик может трактовать дорожку иначе, чем ожидается. При демультиплексировании подобных записей полезно сохранять лог, проверять длительность и при необходимости обрабатывать сегменты отдельно.
Предварительный просмотр, воспроизведение и информация
Предпросмотр в DGIndexNV нужен прежде всего для технической проверки. Он позволяет убедиться, что выбран правильный видеопоток, найти визуальную границу, оценить порядок кадров и обнаружить явные декодерные проблемы. Качество окна не следует использовать как единственный критерий финальной цветопередачи: на отображение влияют путь вывода, масштабирование окна, Use D3D и опциональное HDR to SDR.
Preview и Play служат разным режимам быстрого просмотра; Stop завершает воспроизведение, Pause/Resume сохраняет текущую позицию, Loop Playback повторяет диапазон, Playback Speed меняет темп. Zoom масштабирует отображение, а Force Zoom принудительно применяет выбранный коэффициент в ситуациях, где автоматический размер окна неудобен. Все эти функции относятся к просмотру и навигации, а не к кодированию результата.
Full Info раскрывает более подробные сведения о текущем потоке. Enable Info Log сохраняет информационный вывод, а Log Timestamps полезен для диагностики временных меток. Когда TS вызывает рассинхрон, скачки позиции или ошибки downstream-инструментов, лог таймстампов помогает отличить проблему контейнера от ошибки скрипта. Если лог выглядит последовательно, а рассинхрон появляется только после кодирования аудио, искать причину надо уже на следующем этапе.
HDR to SDR в окне анализа
HDR to SDR следует воспринимать как вспомогательный режим отображения HDR на обычном экране во время работы, а не как полноценный художественный тонмаппинг для готового мастера. Его задача — сделать кадр визуально читаемым при навигации. Если конечный проект действительно переводится из HDR в SDR, параметры преобразования и управление цветом должны задаваться в фильтровой или кодировочной цепочке, где контролируются характеристики передачи, цветовые первичные координаты, матрица, битность и целевой диапазон.
Сохраняемая в DGI информация о HDR полезна тем, что downstream-этап может понимать свойства исходника. Но наличие метаданных не гарантирует автоматического переноса в итоговый контейнер: кодировщик и мультиплексор должны получить и записать нужные поля отдельно. При HDR-конвертации лучше строить процесс от источника до финального файла как единую цепочку и не полагаться на отображение одного приложения.
Сохранение кадра и копирование в буфер
File → Save BMP сохраняет текущий декодированный кадр как BMP. Такой снимок удобен для проверки того, что индекс указывает на ожидаемую позицию, для сравнения двух декодеров и для документирования ошибок. BMP не содержит временную шкалу или сведения о соседних кадрах, поэтому по одному снимку нельзя определить характер телесина, интерлейса или периодической ошибки — для этого нужно просматривать последовательность.
Copy Frame to Clipboard делает текущий кадр доступным другим приложениям без отдельного файла. Это быстрее при разовом сравнении, однако для воспроизводимой диагностики лучше сохранять BMP и записывать номер кадра или позицию. Если проблему отправляют другому специалисту, полезнее приложить короткий исходный TS и точный диапазон кадров, потому что скриншот показывает симптом, но не данные, на которых его можно повторить.
Сравнение кадров особенно полезно при проверке двух разных source filters. Если FFMS2, L-SMASH Works и DGSource расходятся на одном месте, сохранённые изображения помогают понять, является ли различие артефактом декодирования, цветовым преобразованием просмотрщика или разницей в обработке полей. Для объективного сравнения надо сохранять кадры до ресайза, тонмаппинга и других фильтров, иначе источник проблемы смешивается с последующей обработкой.
Cropping Tool: определение границ изображения
Cropping Tool помогает определить области, которые можно удалить по краям кадра, например постоянные чёрные полосы. Важно отделять измерение границ в DGIndexNV от финального изменения кадра. Проект и DGSource могут передавать или использовать параметры кадрирования в соответствующем рабочем процессе, но само индексирование не создаёт новый перекодированный файл с обрезанными пикселями.
Кадрирование следует проверять на нескольких сценах. Чёрная полоса в одном кадре может быть частью заставки, letterbox может меняться между эпизодами, а некоторые источники содержат мусор только на одной стороне. Кроме того, ограничения цветовой субдискретизации требуют чётных координат и размеров в типичных YUV-форматах. Если downstream-инструмент автоматически корректирует crop до mod2, это делается ради допустимой геометрии, а не потому, что DGIndexNV теряет пиксели.
При анаморфном видео видимое соотношение сторон и кодированное разрешение тоже нельзя смешивать. Cropping Tool работает с пиксельной областью кадра, а итоговое отображение может дополнительно зависеть от SAR/DAR. Если после обрезки меняется геометрия, корректный aspect ratio задаётся на следующем этапе. Простое удаление чёрных полос не должно автоматически растягивать изображение.
Настройки GPU и декодирования
DGIndexNV использует аппаратные возможности NVIDIA, поэтому выбор устройства и режима декодирования — функциональная часть программы, а не просто ускоритель интерфейса. List GPU Devices показывает доступные устройства, а CUDA Device позволяет выбрать конкретную видеокарту, если их несколько. В рабочей станции с несколькими GPU лучше закрепить нужный адаптер явно: автоматический выбор может поменяться после обновления драйвера, перестановки карт или запуска в другой пользовательской сессии.
Decode Modes определяют путь аппаратного декодирования для поддерживаемых кодеков. Менять режим стоит только при конкретной проблеме совместимости или требовании определённого GPU. Если исходник стабильно индексируется, случайное переключение CUDA/D3D/DXVA-пути не улучшает качество — при корректной реализации декодированный кадр должен представлять тот же видеосигнал. Различия важны главным образом для аппаратной поддержки профиля, стабильности и производительности.
Use D3D включает связанный с Direct3D путь вывода или декодирования. На некоторых поколениях GPU он может быть необходим для определённых HEVC-сценариев, особенно если аппаратная поддержка реализована гибридно. На полностью поддерживаемом оборудовании оставляют рабочую конфигурацию, которая не вызывает ошибок. Если появляется сообщение о невозможности создать видеодекодер, проверяют модель GPU, поддержку конкретного кодека, драйвер и режим D3D, а не переустанавливают контейнерный splitter.
Enable PureVideo Deinterlacer
Опция PureVideo Deinterlacer и параметры DGSource позволяют использовать аппаратный деинтерлейс NVIDIA. В интеграциях встречаются значения deinterlace=0 для отключения, 1 для single-rate и 2 для double-rate/bob. Эта функция полезна, когда нужен быстрый аппаратный результат, но не должна включаться только потому, что исходник имеет interlaced-флаг. Для film-содержимого с pulldown правильнее сначала разобраться с полевой структурой.
Параметр fieldop в DGSource управляет отношением к pulldown: стандартный режим учитывает флаги, Force Film выполняет соответствующую интерпретацию film-материала, Ignore Pulldown Flags игнорирует их. Неправильный выбор может изменить частоту или порядок выводимых кадров. Перед пакетной обработкой достаточно проверить несколько участков с движением и убедиться, что последовательность не дёргается и не содержит ненужных повторов.
Важное различие: деинтерлейс — это обработка содержимого, а не исправление любого файла с полевым флагом. Смешанные телепрограммы могут содержать студийные 50i/59.94i вставки рядом с фильмом, полученным из прогрессивного источника. Единый аппаратный режим не всегда оптимален для такого материала. DGIndexNV помогает увидеть структуру, но окончательную стратегию разумно задавать в фильтровом скрипте.
Системные настройки, влияющие на воспроизводимость
Process Priority меняет приоритет процесса, но не превращает GPU в более быстрый декодер. Высокий приоритет иногда полезен на нагруженной машине, однако способен ухудшить отзывчивость других задач. Для стабильного пакетного конвейера важнее отсутствие сна и заставки во время длительной обработки: переход системы в standby или активация графических режимов энергосбережения может нарушать работу аппаратного контекста.
Disable Display пригодится для автоматизации, когда окно не нужно и DGIndexNV запускается из оболочки или batch-скрипта. Splash Screen управляет только заставкой. Default Save Project Path задаёт стандартный каталог проектов. Use Full Paths отвечает за форму ссылок на источники. AVC/HEVC/MPG/VC1 Extensions позволяют подстроить распознавание расширений, когда поток имеет нестандартное имя. Все эти параметры лучше фиксировать в рабочем профиле, чтобы одинаковые входные файлы обрабатывались одинаково.
Strict AVC полезен как дополнительное ограничение определения AVC, когда автоматическое распознавание сталкивается с неоднозначными или повреждёнными данными. Менять его для ускорения не имеет смысла. Если файл корректный, строгая проверка не должна быть частью оптимизации производительности; если файл повреждён, переключение режима может помочь определить, является ли проблема ошибкой сигнатуры или реальным нарушением структуры потока.
Командная строка и пакетная обработка
DGIndexNV можно запускать без ручной работы с GUI. Это особенно важно для StaxRip-подобных оболочек и собственных скриптов, где на вход приходит список файлов, а на выходе ожидается DGI. Типовая форма команды использует параметр -i для входа, -o для проекта и -h для скрытого режима. При необходимости демультиплексировать все дорожки добавляют -a.
DGIndexNV.exe -i "source.mkv" -o "source.dgi" -h
DGIndexNV.exe -i "source.ts" -o "source.dgi" -a -h
В пакетной обработке имена выходов должны быть уникальными, а рабочие каталоги — предсказуемыми. Не стоит запускать десятки параллельных DGSource только потому, что оболочка это позволяет: количество одновременных экземпляров ограничивается доступной видеопамятью. При нехватке VRAM возможны ошибки создания декодера, нестабильность и резкое падение производительности. Оптимальное число параллельных задач определяется объёмом VRAM, разрешением, кодеком и остальными GPU-фильтрами в цепочке.
Для командной строки полезно вести собственный журнал: входной путь, выходной DGI, код возврата и время выполнения. Если одна задача завершилась неудачно, не следует автоматически передавать отсутствующий или неполный DGI следующему этапу. Это простой, но важный принцип: индексатор должен быть отдельной проверяемой стадией, иначе ошибка DGIndexNV проявится позднее как непонятная ошибка кодировщика.
Работа через AviSynth
Связка DGIndexNV + DGSource особенно естественна в AviSynth. DGIndexNV один раз разбирает исходник и создаёт DGI, после чего скрипт открывает именно индекс, а не контейнер напрямую. Это отделяет разбор сложного TS/M2TS от фильтровой логики и делает результат воспроизводимым: при каждом запуске используется одна и та же карта кадров, а не повторная эвристика стороннего splitter.
LoadPlugin("C:\VideoTools\DGDecNV\DGDecodeNV.dll")
DGSource("D:\Work\source.dgi")
В реальном задании после DGSource обычно идут проверки полей, crop, resize, цветовые преобразования и кодировщик. Если аудио было демультиплексировано DGIndexNV, его подают в отдельную аудиоцепочку и затем собирают с новым видео в контейнере. Это снижает риск случайно декодировать звук не тем фильтром и позволяет сохранить исходную дорожку без перекодирования, если формат конечного контейнера её поддерживает.
При создании скрипта важно не подставлять путь к MKV или TS вместо DGI. DGSource ожидает проект, созданный индексатором. Если оболочка генерирует строку DGSource("source.mkv"), проблема находится в шаблоне или макросах оболочки, а не в DGIndexNV. Правильная цепочка выглядит как медиафайл → DGIndexNV → DGI → DGSource → фильтры.
Параметры deinterlace и fieldop
DGSource способен учитывать полевую структуру и использовать аппаратный деинтерлейсер. Значение deinterlace=0 оставляет деинтерлейс выключенным, 1 даёт один выходной кадр на исходный кадр, 2 формирует double-rate результат с выводом по кадру на поле. Выбор зависит от содержимого: спортивная или студийная чересстрочная съёмка обычно выигрывает от сохранения полной временной частоты, тогда как прогрессивное видео не должно проходить через деинтерлейс без причины.
Для материала с pulldown параметр fieldop важнее механического включения deinterlace. Honor Pulldown Flags следует исходной сигнализации, Force Film используется для соответствующего film-сценария, Ignore Pulldown Flags игнорирует эти флаги. Если кадры после открытия дублируются или движение имеет регулярный рывок, сначала проверяют fieldop и природу telecine, а уже потом добавляют сторонний фильтр.
Работа через VapourSynth
В VapourSynth принцип тот же: плагин DGDecNV загружается в окружение, а DGSource получает путь к DGI и возвращает видеоклип. Разница лишь в синтаксисе скрипта и архитектуре конкретной оболочки. В интеграциях используется вызов вида core.dgdecodenv.DGSource(r"...\source.dgi"). Для 64-битного фильтрового стека все используемые бинарные компоненты должны согласовываться по архитектуре.
VapourSynth удобен, когда последующая обработка уже построена вокруг Python-подобного API: QTGMC, восстановление прогрессивной структуры, тонмаппинг, дебандинг, шумоподавление и масштабирование могут выполняться после DGSource без промежуточного видеофайла. DGI остаётся только индексом, а кадры идут через память непосредственно к следующим фильтрам и кодировщику.
Если вместе с DGSource используются другие GPU-фильтры, надо учитывать суммарную видеопамять. Ошибка, возникающая только при параллельном запуске нескольких VapourSynth-задач, часто связана не с DGI, а с тем, что декодер и дополнительные CUDA/OpenCL-модули конкурируют за VRAM. Уменьшение числа одновременных процессов в таком случае полезнее повторного индексирования.
Интеграция со StaxRip
StaxRip умеет регистрировать DGIndexNV как preprocessor двух типов: индексирование без демультиплексирования и индексирование с извлечением дорожек. Для первого варианта используется команда с -i, -o и -h; для второго добавляется -a. После успешного шага StaxRip получает DGI и формирует source filter через DGSource.
Порядок preprocessors имеет значение. Для MKV в некоторых рабочих схемах выше DGIndexNV оставляют mkvextract, если требуется штатный диалог выбора контейнерных дорожек StaxRip. Для MP4 аналогичную роль может выполнять MP4Box. Это не означает, что DGIndexNV не умеет индексировать такие контейнеры; речь о том, какая программа отвечает именно за извлечение дополнительных дорожек и метаданных в конкретной автоматизации.
Если DGIndexNV поставлен выше специализированного демультиплексора, оболочка может передать ему файл раньше и тем самым обойти собственную логику выбора аудио или субтитров. Поэтому при проблеме диалог выбора не появляется проверяют приоритет обработчиков, а не настройки самого DGI. Разделение ответственности делает конвейер понятнее: DGIndexNV отвечает за видеоиндекс, контейнерный инструмент — за контейнерные сущности, кодировщик — за сжатие.
Интеграция с MeGUI и другими оболочками
MeGUI и сходные программы используют DGIndexNV как индексатор перед созданием AviSynth-скрипта. Типичная задача оболочки — запустить DGIndexNV, получить DGI, подставить его в DGSource и передать параметры crop или полевой обработки в шаблон. Пользователь при этом может почти не видеть главное окно индексатора, но технически этап остаётся тем же.
Если интеграция внезапно выдаёт ошибку при VC-1, AVC или HEVC, полезно разделить проблему на две части. Сначала открыть тот же исходник непосредственно в DGIndexNV и вручную сохранить DGI. Если это удаётся, аппаратный декодер и исходник, вероятнее всего, исправны, а ошибка находится в командной строке, путях или версии плагина, которую вызывает оболочка. Если же ручной запуск падает на том же месте, дальнейшая диагностика должна идти от GPU и потока.
Особое внимание требуется к путям. Некоторые оболочки после индексирования сами читают и переписывают DGI, например чтобы сделать путь полным или изменить параметры crop. Если кодировка символов обработана неправильно, исходный индекс может быть испорчен уже после успешной работы DGIndexNV. При подозрении сравнивают DGI до и после действий оболочки и временно используют простой путь без нестандартных символов, чтобы локализовать проблему.
Практический сценарий: телевизионная запись TS
Для вещательного TS разумно начинать с проверки программы и PID. Откройте файл, дождитесь появления кадра, убедитесь, что выбрана нужная телепрограмма, и просмотрите список аудио. Если таблицы корректны, PAT/PMT обычно даёт правильный набор автоматически. При неправильной программе попробуйте повторное обнаружение PID; Raw нужен прежде всего для повреждённых или нетипичных записей.
Далее решите, нужен ли весь файл. Если начало содержит несколько минут до передачи, а конец — хвост следующей программы, можно либо индексировать весь TS и обрезать кадры в скрипте, либо создать отдельный Trimmed TS, принимая ограничение по точкам без потерь. Первый вариант предпочтительнее, когда нужна точность до кадра: DGI индексирует оригинал, а Trim() в AviSynth/VapourSynth выбирает ровно требуемые декодированные кадры.
Аудио лучше демультиплексировать сразу, если конечная задача требует отдельного кодирования. При предупреждении о смене параметров дорожки не игнорируйте его автоматически: телевизионные записи могут менять режим звука между рекламой и программой. После создания DGI коротко откройте скрипт, проверьте начало, середину и конец, а затем запускайте длительное кодирование.
Практический сценарий: M2TS и материал с Blu-ray
M2TS обычно содержит видео, несколько аудиодорожек и PGS. DGIndexNV хорошо подходит для получения DGI по AVC, HEVC, MPEG-2 или VC-1, но структуру диска нельзя сводить к одному случайно выбранному M2TS, если фильм использует seamless branching, несколько углов или плейлист из множества сегментов. В таком случае правильная последовательность должна быть определена на уровне MPLS/риппинга, а уже затем передана индексатору.
Если источник представлен корректным плейлистом или заранее собранной последовательностью, при сохранении проекта выберите только нужные аудио и PGS. Для forced-субтитров сначала выясните, действительно ли флаги forced выставлены внутри дорожки. Полный PGS безопаснее как исходный материал: его можно проанализировать позже и извлечь обязательные реплики специализированным инструментом.
Для VC-1 и старых Blu-ray особенно полезна проверка нескольких кадров после индексирования. Если один source filter показывает артефакт, а другой нет, сохраните одинаковые кадры и сравните. Не следует сразу обвинять диск: причиной может быть сочетание конкретного профиля потока, аппаратного декодера и драйвера. Повторяемый короткий фрагмент намного полезнее для диагностики, чем описание в середине фильма иногда квадраты.
Практический сценарий: MKV или MP4 без демультиплексирования
Когда нужен только видеопоток для фильтрации, MKV и MP4 можно индексировать без извлечения остальных дорожек. Это сокращает число промежуточных файлов. DGIndexNV создаёт DGI, а аудио и субтитры остаются в контейнере до тех пор, пока не понадобятся на стадии сборки или кодирования. Такой режим удобен для больших архивов, где видео обрабатывается, а исходный звук должен пройти в финальный MKV без изменений.
Но контейнерные метаданные, главы и вложения не являются задачей DGI. Если финальный файл должен сохранить главы, шрифты ASS, теги и несколько субтитров, их извлекают или переносят контейнерным инструментом отдельно. DGIndexNV не стоит превращать в универсальный remux-комбайн: его сильная сторона — индекс и декодирование видео, а не управление всеми сущностями Matroska.
Практический сценарий: HDR HEVC
Для HDR HEVC сначала проверяют аппаратную поддержку кодека и профиля на конкретном NVIDIA GPU. Если HEVC не поддерживается аппаратно, контейнер не изменит ситуацию. После успешного индексирования DGI может содержать сведения, полезные для последующей HDR-обработки. В окне можно включить HDR to SDR для удобного просмотра, но итоговый тонмаппинг выполняют уже в фильтровой цепочке.
Перед кодированием важно сохранить исходные цветовые характеристики: primaries, transfer и matrix должны быть известны downstream-инструменту, а статические HDR-метаданные при необходимости переносит кодировщик/мультиплексор. DGIndexNV решает задачу доступа к кадрам; он не заменяет полноценное управление цветом. Если после DGSource картинка выглядит серой или слишком яркой, сначала проверяют трактовку HDR на этапе просмотра, а не сам индекс.
Работа с несколькими исходными файлами
В некоторых задачах видеопрограмма разбита на последовательные файлы. Для корректной индексации важен не сам факт наличия нескольких имён, а непрерывность и совместимость потоков: одинаковый кодек, параметры последовательности и ожидаемая временная структура. Если части являются естественным продолжением одного транспортного потока, DGIndexNV может использовать их как составной источник в поддерживаемом сценарии. Если же файлы получены из разных кодирований, механическое объединение индекса не делает их совместимыми.
При соединении транспортных частей особенно внимательно следят за аудио. Даже когда видео продолжает декодироваться, следующая часть может содержать другой набор PID или иной формат звука. Именно для подобных ситуаций существует реакция на mismatched audio. Если материал должен стать одним финальным файлом, лучше устранить неоднородность осознанно — разделить обработку по сегментам и собрать результат после нормализации параметров, чем скрывать предупреждения.
Также нужно учитывать стыки GOP. У границы файлов декодеру может потребоваться опорный кадр из предыдущей части. Если части были разрезаны произвольным способом, начало следующего куска способно содержать зависимые кадры и артефакты. Индексатор не может восстановить отсутствующие данные. Правильный исходник должен содержать достаточную кодированную последовательность для декодирования каждого участка.
Информационный лог и диагностика временных меток
Enable Info Log имеет смысл включать не постоянно, а при разборе конкретного нестандартного файла. Лог фиксирует технические сообщения, которые исчезают из окна после завершения работы. Это помогает сопоставить момент ошибки с особенностями потока. Для TS особенно полезно логирование временных меток: PTS/DTS могут иметь разрывы, сбросы и переходы через границу счётчика, а downstream-инструменты реагируют на это по-разному.
Если после демультиплексирования звук уходит относительно видео, сначала нужно определить, возникла ли проблема в исходнике или после обработки. Сравните длительность и начало дорожек, посмотрите сообщения DGIndexNV, затем проверьте, не изменил ли аудиокодировщик задержку. Формат AAC, например, имеет собственные вопросы encoder delay, а перемещение звука в другой контейнер может требовать явного учёта временной привязки. DGIndexNV не может компенсировать ошибку, внесённую следующей стадией.
Лог полезен и при зависании на одном месте. Если индексатор стабильно останавливается на одной позиции, сохраните небольшой участок вокруг неё через подходящий инструмент или Trimmed TS, если поток допускает это. Повторяемая ошибка на одном пакете указывает на повреждение или редкую конструкцию битстрима. Случайное завершение на разных местах чаще заставляет проверять драйвер, VRAM, параллельные GPU-задачи и энергосбережение.
Проверка I-кадров и структуры GOP
DGI хранит информацию о типах кадров, поэтому его можно использовать как источник данных для анализа I-кадров. Это востребовано, когда нужно подобрать безопасные точки без потерь, синхронизировать внешнюю нарезку с random access или просто понять структуру GOP. Сам DGIndexNV показывает структуру при навигации, а автоматические скрипты могут разбирать текстовый индекс.
Однако наличие I-кадра не означает, что любая контейнерная операция в этой точке будет безусловно безопасной. Для AVC/HEVC важны IDR/CRA и зависимости между кадрами, а транспортный контейнер дополнительно имеет свои временные метки и служебные пакеты. Поэтому DGI полезен для анализа, но решение о физическом разрезе потока должно учитывать кодек и контейнер. Для кадр-точного результата проще декодировать и кодировать нужный диапазон.
Не стоит переносить числовые обозначения типов кадров из одного кодека в другой. Внутреннее представление DGI для AVC и HEVC различается. Если пишется парсер, он должен понимать формат конкретной секции DGI, а не искать одну и ту же цифру во всех проектах. Это особенно важно в автоматизации, где неверно найденный I-кадр может привести к систематически неправильным точкам разреза.
Производительность: где действительно помогает GPU
Аппаратное декодирование снимает с CPU значительную часть работы по распаковке поддерживаемого видеопотока. Но общая скорость проекта определяется самым медленным звеном. Если после DGSource стоит тяжёлый CPU-фильтр, переход на более быструю видеокарту почти не изменит итоговый fps. Если фильтры тоже работают на GPU, ограничителем может стать VRAM, копирование между устройствами или сам кодировщик.
Поэтому оценивать DGIndexNV отдельно от цепочки нужно на простом скрипте, который только открывает DGI и последовательно читает кадры. Если он работает стабильно и быстро, а полный скрипт медленный, оптимизируют фильтры. Если уже чистый DGSource даёт низкую скорость, проверяют режим декодирования, поддержку кодека, драйвер и дисковый ввод. Для сетевого исходника узким местом может быть хранилище, а не GPU.
Одновременные экземпляры DGSource делят видеопамять. При 4K/HEVC и дополнительных GPU-фильтрах запас уменьшается быстрее, чем при 1080p MPEG-2. Пакетный менеджер лучше настраивать с ограничением параллелизма. Надёжные две задачи, постоянно загружающие систему, полезнее восьми процессов, которые периодически падают из-за нехватки ресурсов.
Ограничения DGIndexNV, которые важно учитывать
Первое принципиальное ограничение — зависимость от NVIDIA для аппаратного декодирования. Это не просто опциональный ускоритель: архитектура DGDecNV построена вокруг видеокарты NVIDIA. На системе без подходящего GPU рациональнее выбрать другой source filter, чем пытаться заставить DGIndexNV работать через программный CPU fallback.
Второе ограничение — DGIndexNV не является финальным видеоконвертером. Он не предлагает профиль сжать в H.265, управление CRF, двухпроходный режим, современный mux-профиль и набор экспортных пресетов. Такие возможности появляются на следующем этапе — x264/x265, NVEncC, ffmpeg, StaxRip, MeGUI или другом кодировщике/оболочке. Это сознательное разделение задач, а не недостающая кнопка.
Третье — не все варианты AVC/HEVC поддерживаются. 4:2:2, 4:4:4 и lossless-потоки выходят за обозначенные возможности DGDecNV. Профиль надо проверять до длительного пакетного задания. Если материал профессиональный, снят в 10/12-bit 4:2:2 или хранится в lossless AVC, более универсальный программный декодер может оказаться правильнее даже при наличии мощной NVIDIA.
Четвёртое — не вся структура диска интерпретируется самим индексатором. Открытие VOB не означает разбор IFO со всеми углами, PGC и навигацией. Для Blu-ray сложная последовательность сегментов также должна быть корректно определена плейлистом или предварительным инструментом. DGIndexNV получает видеопоследовательность, но не заменяет полноценный анализатор авторинга диска.
Пятое — Output Trimmed TS ограничен структурой сжатого потока и не гарантирует произвольную кадр-точную lossless-границу. Для грубого выделения это полезный инструмент, для точного монтажа — нет. Если каждая единичная рамка важна, выбор делают в декодированном пространстве и затем кодируют результат.
Шестое — число параллельных DGSource ограничено видеопамятью. Ошибка при четвёртой задаче не обязательно означает повреждённый DGI, если первые три работают. Уменьшение параллелизма — нормальная инженерная мера, особенно при 4K и сложных аппаратных фильтрах.
Типичные ошибки и способы их устранения
| Симптом | Вероятная причина | Что проверить |
|---|---|---|
| Файл не открывается | Неподдерживаемый кодек/профиль или контейнерная проблема | Определите фактический кодек, chroma и lossless-режим; для TS проверьте PID |
| HEVC выдаёт ошибку декодера | GPU не поддерживает нужный HEVC-профиль | Возможности видеокарты, драйвер, допустимый режим D3D/DXVA для конкретного оборудования |
| Открывается не тот телеканал | Выбран неправильный PID | Detect PIDs: PAT/PMT, затем Raw и Set PIDs |
| Появляется Encrypted Audio Warning | Аудио помечено как encrypted | Проверьте, действительно ли дорожка зашифрована; отключение предупреждения не расшифровывает звук |
| DGI не загружается через Open | Использована неверная команда | Для готового индекса используйте File → Load Project |
| DGSource не находит исходник | Файл перемещён после создания DGI | Use Full Paths, путь внутри проекта, расположение исходного видео |
| Аудио отсутствует в AviSynth | DGI служит главным образом видеопроектом | Подайте демультиплексированный звук отдельно и выполните AudioDub при необходимости |
| Trimmed TS начинается не на выбранном кадре | Ограничения точки разреза сжатого потока | Используйте кадр-точный Trim после декодирования, если граница критична |
| PGS forced получился пустым | В дорожке нет корректных forced-флагов | Извлеките полный PGS и проверьте структуру субтитров |
| При нескольких заданиях появляются ошибки GPU | Заканчивается VRAM | Уменьшите число параллельных DGSource и другие GPU-фильтры |
| Окно чёрное, но индексирование идёт | Проблема отображения или выбран Disable Display | Настройки display/D3D; отдельно проверьте выход DGSource |
| Скрипт дёргается на film-материале | Неверная работа с pulldown | Параметр fieldop, порядок полей и реальную структуру кадров |
| После оболочки путь в DGI повреждён | Несовпадение кодировок при переписывании файла | Сравните DGI до/после оболочки, используйте поддерживаемый UTF-8 режим |
| Индексирование останавливается на одном месте | Повреждённый участок или редкая конструкция битстрима | Лог, короткий воспроизводимый фрагмент, альтернативный декодер для сравнения |
| Работа через Remote Desktop нестабильна | Аппаратный GPU-контекст в RDP не поддерживается данным сценарием | Запускайте задачу в обычной сессии или используйте альтернативный удалённый доступ |
Ошибка GPU decoder: Failed to create video decoder
Такое сообщение означает, что аппаратный декодер для выбранного потока не удалось создать. Первое действие — выяснить кодек и профиль. Затем проверяют, умеет ли конкретная NVIDIA декодировать его аппаратно, установлен ли подходящий драйвер и не конфликтует ли выбранный Decode Mode. Для старого/гибридного HEVC может иметь значение D3D/DXVA-конфигурация, но универсально включать все флаги сразу не стоит.
Если на том же GPU MPEG-2 работает, а HEVC нет, это не противоречие: аппаратные блоки поддерживают разные поколения кодеков. Если ошибка появилась после запуска нескольких задач, освободите VRAM и повторите один экземпляр. Если одна задача всё равно не создаёт декодер, причина скорее в аппаратной поддержке или режиме, чем в памяти.
No video sequence found и похожие сообщения
Такой симптом часто означает, что в выбранном потоке программа не нашла корректную видеопоследовательность. Для TS сначала исключают неверный PID. Затем проверяют, действительно ли файл начинается с полноценного участка видео: грубо отрезанный фрагмент может стартовать с зависимых данных без необходимых заголовков. Для элементарного потока полезно проверить его другим анализатором и убедиться, что расширение не маскирует иной формат.
Если проблема возникает только после объединения нескольких файлов, тестируют части по отдельности. Один повреждённый сегмент способен нарушить общий проход. Не следует перепаковывать файл десятком инструментов наугад: сначала локализуйте минимальный фрагмент, который не индексируется, иначе каждый remux добавляет новую переменную в диагностику.
Рассинхрон после демультиплексирования
Если видео и аудио были извлечены отдельно, синхронность зависит не только от длины дорожек, но и от начальной временной привязки. Контейнер может задавать задержку, а имя демультиплексированного аудиофайла или лог — сохранять подсказку о delay. При последующем кодировании нельзя просто удалить эту информацию. Особенно это заметно, когда начало аудио физически находится чуть позже первого видеокадра.
Сначала соберите тестовый фрагмент без повторного кодирования аудио. Если он синхронен, а после AAC/другого энкодера появляется смещение, проблема уже не относится к DGIndexNV. Если рассинхрон присутствует в исходных демультиплексированных дорожках, проверьте временные метки, стыки TS, смену формата и настройки mismatched audio. Для вещательной записи с разрывами иногда надёжнее обрабатывать сегменты по отдельности.
Чёрный или неправильный предпросмотр
Чёрное окно не обязательно означает, что DGI плохой. Если включён Disable Display или проблемы возникают только в GUI, откройте DGI через простой DGSource-скрипт и проверьте кадр там. Если скрипт декодирует нормально, неисправность относится к пути отображения — Use D3D, графической сессии, удалённому доступу или масштабированию окна. Если чёрные кадры идут и через DGSource, возвращайтесь к декодеру и исходному потоку.
Неверные уровни или странная яркость HDR тоже не следует путать с отсутствием декодирования. HDR на SDR-дисплее без тонмаппинга закономерно выглядит не так, как готовая SDR-копия. Для навигации можно использовать HDR to SDR, а точный контроль цвета выполнять в специализированной цепочке с известными матрицей и transfer.
Ошибки после сна, заставки и переключения GPU
Аппаратный декодер живёт в графическом контексте. Переход в standby, активация некоторых экранных режимов или переключение гибридной графики на ноутбуке способны этот контекст нарушить. Если длительный batch падает после периода бездействия, временно отключите сон и заставку на время задания. На системе с Optimus закрепите DGIndexNV и downstream-процессы за NVIDIA через системные/драйверные настройки.
На ноутбуках сама возможность корректно использовать аппаратный путь зависит от реализации переключаемой графики производителем. Поэтому успешная работа одной модели не гарантирует того же на другой с формально похожим GPU. Для производственного конвейера предпочтительнее проверить конкретную машину длительным последовательным чтением до запуска большого архива.
Как настроить повторяемый рабочий профиль
Если DGIndexNV используется регулярно, полезно один раз определить правила и не менять их от файла к файлу без причины. Выберите постоянный CUDA Device, задайте каталог для проектов, решите, нужны ли полные пути, определите политику PGS forced и TrueHD, а также реакцию на несовпадающее аудио. Для автоматических заданий включите логирование только там, где оно действительно нужно, чтобы рабочий каталог не заполнялся диагностикой.
Отдельно зафиксируйте стратегию демультиплексирования. Например: MKV индексируется без demux, а аудио и субтитры получает mkvextract; TS/M2TS индексируются и одновременно демультиплексируются DGIndexNV; элементарные потоки только индексируются. Такая схема уменьшает число ветвлений и упрощает расследование, потому что для каждого контейнера заранее известно, какой инструмент отвечает за дорожки.
Для HDR стоит иметь отдельный профиль: не включать случайные преобразования отображения в финальной цепочке, сохранять метаданные источника, а тонмаппинг выполнять только в скрипте. Для interlaced-материала — отдельный профиль проверки полей. Один универсальный набор deinterlace/fieldop почти неизбежно испортит хотя бы часть архива.
Как выбирать режим Demux
Решение начинается с конечной задачи. Если аудио должно пройти в финальный контейнер без изменений, его удобно извлечь один раз и больше не декодировать. Если звук будет обработан фильтрами, можно передать элементарную дорожку аудиодекодеру. Если контейнер содержит главы, вложения и текстовые субтитры, лучше оставить их специализированному демультиплексору контейнера, а DGIndexNV использовать для видео и тех потоков, которые он разбирает непосредственно.
| Задача | Рекомендуемый подход | Причина |
|---|---|---|
| Только видеокодирование MKV | Создать DGI без demux | Меньше промежуточных файлов, контейнерные данные остаются в исходнике |
| TS с отдельным кодированием аудио | Индекс + demux нужных аудиодорожек | Видео и звук сразу разделены для независимых цепочек |
| Blu-ray с PGS | Индекс + выбранный PGS или полный PGS | Субтитры можно обработать отдельно от видео |
| Пакетный архив, нужны все дорожки | CLI с режимом all tracks | Не требуется ручной выбор каждого файла |
| Только извлечение элементарного потока | Bare Demux | DGI не создаётся без дальнейшей необходимости |
Как использовать Selection без потери точности
Selection удобно применять для анализа и проектных границ, но для финального кадр-точного монтажа лучше разделить логическую и физическую обрезку. Логическая обрезка выполняется после DGSource: скрипт точно выбирает кадры N…M. Физическая lossless-обрезка TS ограничена ключевыми точками. Если проект в любом случае будет перекодирован, нет смысла заранее рисковать потерей нескольких кадров из-за Trimmed TS.
Хорошая схема для телевизионной передачи выглядит так: индексировать исходный TS целиком, найти границы в DGIndexNV, перенести номера кадров в скрипт, выполнить Trim и кодирование, а исходник удалить только после проверки готового файла. Trimmed TS использовать лишь для технических образцов или экономии места, когда небольшой сдвиг границы допустим.
При визуальном сравнении позиций полезно помнить, что один шаг навигации может перескакивать не на тот же тип структурной точки, который используется при lossless-разрезе. Поэтому курсор стоит на кадре 3809 и TS начнётся ровно с кадра 3809 — разные утверждения. DGIndexNV даёт точный декодированный доступ через DGI; контейнерный cut подчиняется другой логике.
Когда включать Full Info и Log Timestamps
Full Info оправдан, если кратких параметров недостаточно для решения: неизвестна полевой структура, контейнер сообщает одно, а визуальное поведение другое, или нужно сравнить два источника. В нормальном пакетном задании постоянное отображение всей информации не добавляет точности. Диагностические функции лучше включать по симптомам.
Log Timestamps особенно полезен для транспортного материала, снятого с эфира, захвата HDMI/тюнера и файлов после неудачного remux. Разрыв PTS, повторная инициализация программы или странная последовательность DTS может объяснить расхождение длительности. Но один только лог не исправляет метки. После обнаружения проблемы выбирают: remux корректным инструментом, разделение на сегменты, восстановление потока или обработка с явной синхронизацией.
Что делать с повреждённым TS
Повреждённый TS может проявляться пропусками кадров, зелёными блоками, остановкой навигации, ошибками PID или рассинхроном. Сначала определите, воспроизводится ли проблема всегда в одной точке. Если да, сохраните минимальный воспроизводимый участок. Если источник вещательный, отсутствие нескольких пакетов физически невосстановимо; задача состоит в том, чтобы пройти дефект предсказуемо и не распространить ошибку на остальной файл.
Raw PID detection помогает только тогда, когда повреждены таблицы идентификации, а сами пакеты видео присутствуют. Он не восстанавливает потерянные NAL units и не чинит битые кадры. Если декодер теряет синхронизацию из-за отсутствующих данных, иногда помогает remux/перепаковка корректным TS-инструментом, который отбрасывает мусор и пересобирает временные метки. После такого ремонта DGI надо создавать заново.
Если файл состоит из нескольких записей, соединённых простым бинарным concatenation, лучше не считать его одним чистым транспортом. На стыке могут сбрасываться PAT/PMT, PCR и PTS. Разделение на исходные сегменты и последующая нормальная сборка часто надёжнее, чем попытка индексировать огромный неоднородный файл одним проходом.
Работа с VC-1
VC-1 остаётся важным сценарием для части Blu-ray. DGIndexNV способен индексировать такой поток и передавать его DGSource, что полезно, когда современные универсальные source filters ведут себя неодинаково на старых VC-1-источниках. Однако аппаратная поддержка и драйвер по-прежнему важны: если конкретный GPU или режим декодирования не справляется, программная альтернатива может оказаться проще.
При VC-1 особенно полезно сравнивать поведение на коротком участке и не менять несколько параметров одновременно. Сначала базовый DGSource без фильтров, затем альтернативный source filter, затем полный скрипт. Если артефакт присутствует только в одном декодере, это конкретный декодерный вопрос. Если во всех — вероятнее проблема самого потока.
Работа с MPEG-2
MPEG-2 можно индексировать как DGIndexNV, так и классическим DGIndex. Выбор зависит от конвейера. DGIndexNV полезен, если весь проект уже стандартизован на DGI/DGSource и NVIDIA, либо рядом встречаются AVC/HEVC/VC-1. DGIndex остаётся узкоспециализированным вариантом для MPEG-1/2 с D2V/MPEG2Source и не требует NVIDIA.
Для DVD MPEG-2 помните об IFO: если нужен фильм с правильными углами, cell order и другими особенностями DVD, подготовьте корректную последовательность VOB на этапе рипа. Непосредственное открытие отдельных VOB-файлов не означает, что индексатор автоматически знает навигационную логику диска.
Работа с AVC/H.264
AVC — один из наиболее типичных кодеков для DGIndexNV: Blu-ray, старые камеры, телезаписи и MKV. Strict AVC может влиять на распознавание неоднозначных данных, а DGI сохраняет структуру кадров для быстрого random access. При нормальном файле дополнительные строгие режимы не нужны; их используют в диагностике, когда поток распознаётся ошибочно или содержит мусор перед первым корректным заголовком.
Для lossless-разреза AVC важна структура GOP и наличие подходящих random-access точек. Простое наличие визуального I-кадра не делает любой байтовый cut безопасным. Если задача — точный монтаж, используйте DGSource и последующее перекодирование. Если задача — быстро выделить большой самостоятельный кусок TS, Output Trimmed TS удобнее, но его границы проверяют после сохранения.
Работа с HEVC/H.265
HEVC сильнее зависит от поколения аппаратного декодера. Совместимая NVIDIA должна поддерживать конкретный HEVC-профиль; старые гибридные реализации могут требовать особого режима. Если видеокарта не умеет декодировать поток, программный fallback не является обычным путём DGIndexNV. Именно поэтому при HEVC первым делом проверяют возможности GPU, а не версию контейнера.
Кроме аппаратной совместимости действуют ограничения по chroma и lossless-вариантам. Профессиональный HEVC 4:2:2/4:4:4 не следует автоматически приравнивать к бытовому 4:2:0 HEVC Main/Main10. Если такой материал предназначен для цветокоррекции, разумнее выбрать source filter с программным декодированием нужного профиля.
Почему DGI лучше хранить рядом с исходником
Хранение DGI рядом с исходным видео уменьшает риск потерять соответствие между индексом и файлом. Это особенно удобно при относительных путях: папку можно перенести целиком, сохранив структуру. В больших проектах допустим отдельный cache-каталог, но тогда система именования должна однозначно связывать DGI с исходником, иначе два одинаковых basename из разных папок столкнутся.
После изменения исходного файла DGI следует считать недействительным, даже если имя и размер почти не изменились. Remux, trimming, исправление TS или повторная загрузка могут поменять смещения пакетов и структуру кадров. Надёжное правило: любой физически новый видеобитстрим получает новый индекс.
Тонкости просмотра и масштаба
Zoom и Force Zoom полезны при материалах с очень большим или, наоборот, небольшим разрешением. Масштаб окна влияет только на то, как кадр показан оператору; DGI и кадры, которые DGSource отдаёт в скрипт, от этого не меняются. Если при увеличении появляются ступеньки или смягчение, не следует делать вывод о качестве декодирования: это может быть обычная интерполяция области предпросмотра. Для проверки пиксель-в-пиксель сохраняют BMP или открывают DGI в просмотрщике, где можно гарантированно отключить масштабирование.
Force Zoom имеет смысл, когда автоматический размер интерфейса постоянно меняется из-за разных разрешений источников или мешает анализировать серию файлов одинаковым способом. В пакетной подготовке это вопрос удобства оператора, а не параметр финального изображения. Аналогично Playback Speed влияет только на темп предварительного воспроизведения. Номер и содержание декодированного кадра не зависят от того, просматривался ли материал в реальном времени или ускоренно.
Перенос проекта и очистка промежуточных файлов
Перед переносом рабочего задания полезно понимать зависимости между файлами. Минимальный набор для повторного открытия — исходное видео, DGI и плагин DGSource подходящей архитектуры. Демультиплексированные аудио и PGS нужны, если дальнейший скрипт или mux ссылается именно на них. BMP, информационные логи и временные файлы можно удалить после диагностики, если они больше не участвуют в процессе. Такая дисциплина не даёт рабочей папке превратиться в набор непонятных дублей.
Если проект переносится на другой диск, относительные ссылки обычно переживают перенос целой папки проще. При полных путях после копирования DGI может продолжить указывать на старый диск. Исправлять индекс вручную допустимо только при полном понимании его формата; в обычной работе безопаснее заново создать DGI. Индексирование не меняет качество и занимает меньше времени, чем расследование скрытой ошибки пути в середине длинного кодирования.
Промежуточный DGI не стоит архивировать как единственную копию источника. Он ценен только вместе с битстримом, который описывает. Если цель — долговременное хранение, архивируют исходное видео и, при желании, DGI как ускоряющий кэш. При восстановлении архива индекс всегда можно построить заново, а утраченный исходник восстановить из DGI нельзя.
Сравнение DGIndexNV с аналогами
У source filters и индексаторов похожая конечная роль — дать AviSynth/VapourSynth предсказуемый доступ к кадрам, — но способы сильно различаются. DGIndexNV выделяется аппаратным декодированием NVIDIA и собственным DGI, а также встроенными функциями TS/PID и demux. Универсальные FFmpeg-based решения проще переносить между компьютерами и обычно охватывают больше редких профилей, зато не повторяют весь транспортный инструментарий DGIndexNV.
| Программа | Лучше подходит для | Главное ограничение |
|---|---|---|
| DGIndexNV | AVC/HEVC/MPEG-2/VC-1, TS/M2TS и DGI/DGSource на NVIDIA | Нужен совместимый NVIDIA GPU; не все HEVC/AVC профили поддерживаются |
| FFMS2 | Универсального FFmpeg-based индексирования разных контейнеров и кодеков | Нет встроенного DGIndexNV-подобного workflow с PID, Trimmed TS и DGI |
| L-SMASH Works | MP4/MOV и libavformat-based источников в AviSynth | Иная модель индексации; сложные вещательные TS не являются его специализированной областью |
| BestSource | Современного программного декодирования широкого набора форматов в скриптах | Не заменяет специализированные функции DGIndexNV по TS/demux/PID |
| DGIndex | MPEG-1/2, DVD и D2V/MPEG2Source без требования NVIDIA | Ограничен MPEG-1/2 и не решает AVC/HEVC/VC-1 задачи DGIndexNV |
| DGIndexIM | Схожего аппаратного подхода на совместимой Intel-графике | Привязан к другой аппаратной платформе и собственной цепочке индекса |
Практический выбор зависит от исходников. Если основная масса — TS/M2TS с AVC/HEVC/MPEG-2/VC-1, есть подходящая NVIDIA и нужны DGI, demux и анализ PID, DGIndexNV даёт цельный технический процесс. Если важнее максимальная широта кодеков, редкие 4:2:2/4:4:4 профили или работа на системах без NVIDIA, программный source filter на базе FFmpeg обычно рациональнее.
Для чистого MPEG-2 DGIndex остаётся прямой и простой альтернативой: D2V/MPEG2Source решают именно этот класс задач без GPU-зависимости. Для MP4/MOV с обычным AVC/HEVC L-SMASH Works или BestSource могут уменьшить количество специализированных стадий. Выбирать индексатор только по потенциальной скорости не стоит — стабильность на конкретном материале и предсказуемая обработка таймстампов важнее нескольких секунд на построении индекса.
Как выбрать рабочую схему по типу проекта
Архив телезаписей
Для большого архива TS полезна схема DGIndexNV → DGI + выбранное аудио → скрипт → кодировщик → mux. Она хорошо разделяет стадии и позволяет отдельно повторить только ту, где возникла ошибка. До пакетного запуска тестируют несколько характерных файлов: обычный эфир, запись со сменой аудио, повреждённый участок, другой телеканал. Если все проходят одинаковую конфигурацию PID/demux, профиль можно масштабировать на архив.
Blu-ray с несколькими языками
Сначала определяют правильный плейлист и набор сегментов, затем индексируют видео. Аудио и PGS извлекают выборочно, не все подряд. Forced-флаг проверяют на реальном диске, а не предполагают по названию языка. DGI хранится рядом с рабочей копией источника. Финальный mux выполняется только после проверки длительности каждой сохранённой дорожки.
Единичный MKV для фильтрации
Если нужен только источник кадров, demux можно не включать: создайте DGI и сразу откройте через DGSource. Аудио, главы и субтитры останутся в MKV для последующего переноса. Такой сценарий минимизирует промежуточные данные и подчёркивает основную функцию DGIndexNV — подготовку видео к скриптовой обработке.
Кадр-точная обрезка
Индексируйте исходник целиком, найдите начало и конец в окне, затем перенесите кадры в Trim внутри AviSynth/VapourSynth. Не используйте Output Trimmed TS как замену кадр-точному монтажу. После декодирования любой кадр доступен точно; после физического lossless cut действует структура GOP. Если конечный файл всё равно кодируется, декодированный Trim — более предсказуемый путь.
Контроль перед длительным кодированием
Перед многочасовым заданием достаточно нескольких коротких проверок. Откройте DGI в DGSource, посмотрите первый кадр, участок в середине и конец. Для interlaced/telecine материала проверьте движение. Для HDR убедитесь, что downstream-цепочка правильно понимает цвет. Для отдельного аудио соберите минутный тест и проверьте синхронность. Эти действия обнаруживают ошибки конфигурации быстрее, чем анализ уже готового большого файла.
- исходный файл доступен по пути, записанному в DGI;
- выбран правильный видеопоток и PID;
- нужные аудио и PGS действительно демультиплексированы;
- DGSource открывает начало, середину и конец без ошибки;
- fieldop/deinterlace соответствуют реальной структуре кадров;
- видеопамяти хватает для выбранного числа параллельных задач;
- сон и заставка не прерывают аппаратный контекст;
- финальный mux учитывает задержку аудио и нужные метаданные.
Практические вопросы по настройкам
Нужно ли всегда включать Use Full Paths?
Нет. Полные пути хороши для стационарного проекта, относительные — для переносимой папки. Главное, чтобы стратегия была известна всему конвейеру. Если оболочка затем сама переписывает DGI, её поведение тоже надо учитывать. Ошибка пути проявляется уже при DGSource, поэтому её легко отличить от ошибки декодирования.
Нужно ли всегда демультиплексировать аудио?
Нет. Если звук будет извлечён специализированным контейнерным инструментом или просто перенесён из исходного MKV при финальном mux, лишний demux не нужен. Для TS/M2TS совместное индексирование и извлечение нужного аудио часто удобно, потому что все технические дорожки получают понятное происхождение в одном шаге.
Стоит ли включать PGS Forced Subtitles Only?
Только если вы уверены в корректности forced-флагов. Для неизвестного диска безопаснее извлечь полный PGS и проверить его. Потерять нужные строки из-за некорректного авторинга неприятнее, чем временно сохранить лишний субтитровый файл.
Что делать, если DGIndexNV и другой декодер дают разные кадры?
Сравнить одинаковый номер кадра до любых фильтров, сохранить BMP и определить, повторяется ли различие. Затем проверить источник в третьем декодере. Если расхождение только у одного, исследуют его режим и аппаратную поддержку. Если все показывают одинаковый дефект, проблема, вероятно, находится в битстриме. Для telecine сначала убедитесь, что декодеры выводят кадры с одинаковой политикой pulldown.
Можно ли удалить исходное видео после создания DGI?
Нет, если DGI ещё нужен. Индекс не содержит полного видео и ссылается на исходник. Удалять исходник можно только после завершения цепочки и проверки результата либо если DGI больше не потребуется. Хранить один DGI без соответствующего видео бессмысленно.
Можно ли использовать DGI после remux исходника?
Не следует. Даже если видеопоток кажется тем же, физическая структура и смещения могут измениться. Новый файл должен получить новый DGI. Это особенно важно после ремонта TS, trimming и перепаковки частей: старый индекс описывает прежнее расположение данных.
Границы ответственности DGIndexNV
Хороший способ избежать ошибок — явно разделить, какую задачу решает каждый компонент. DGIndexNV анализирует и индексирует видео, умеет demux и технический TS-trim. DGSource выдаёт кадры из DGI. AviSynth/VapourSynth выполняет фильтрацию и кадр-точный монтаж. Кодировщик сжимает видео. Контейнерный mux собирает видео, аудио, субтитры, главы и метаданные. Когда одна стадия пытается заменить все остальные, процесс становится труднее диагностировать.
Именно поэтому отсутствие экспортного мастера или монтажной шкалы не является признаком неполноты DGIndexNV. Его ценность в узкой технической задаче: создать устойчивый мост между сложным сжатым источником и кадрами, которые можно обрабатывать в скрипте. Для пользователя, которому нужен одной кнопкой MP4, такой подход избыточен; для воспроизводимой кодировочной цепочки — наоборот, полезен.
Итог
DGIndexNV оптимален там, где требуется аппаратно декодировать на NVIDIA AVC/H.264, HEVC/H.265, MPEG-2 или VC-1, построить DGI и затем обращаться к исходнику через DGSource. В дополнение к индексированию программа даёт инструменты, которых обычно нет у универсального source filter: обнаружение и ручной выбор PID, demux дорожек, PGS forced-only, логирование временных меток, сохранение BMP, навигацию по кадрам и Output Trimmed TS.
Рабочая схема остаётся надёжной, если помнить о границах: DGI зависит от исходного файла, HEVC и профессиональные chroma-профили зависят от аппаратной поддержки, Trimmed TS не заменяет кадр-точный монтаж, а параллельные DGSource расходуют VRAM. При этих условиях DGIndexNV хорошо выполняет именно то, для чего нужен техническому видеоконвейеру: один раз разобрать источник и дать последующим фильтрам предсказуемый доступ к кадрам без лишнего промежуточного перекодирования.