DGIndex

DGIndex индексирует MPEG‑1 и MPEG‑2 потоки, создаёт проект D2V для точного доступа к кадрам через DGDecode, показывает параметры видео и звука, демультиплексирует элементарное видео и аудиодорожки, рассчитывает задержку звука и помогает выбрать корректную обработку pulldown перед дальнейшим кодированием или фильтрацией.

Основной результат работы DGIndex — не новый видеофайл, а индекс .d2v. В нём записаны ссылки на исходные MPEG-файлы, позиции ключевых участков потока, признаки кадров и полей, параметры декодирования, выбранный диапазон и часть настроек, которые затем использует DGDecode. Поэтому программа особенно полезна там, где MPEG‑2 нужно открыть в AviSynth или VapourSynth без промежуточного перекодирования, а также когда требуется аккуратно извлечь видео или звук из VOB, MPG, TS/M2TS и родственных MPEG-контейнеров.

DGIndex умеет читать MPEG‑1/2 elementary stream, program stream, VOB, транспортные потоки, PVA и несколько распространённых вариантов файлов с теми же типами потоков. Он может объединить последовательность частей в один логический источник, проанализировать pulldown и порядок полей, выбрать нужные PID в транспортном потоке, выгрузить аудио без перекодирования либо декодировать AC‑3 в WAV, сохранить MPEG‑видео как отдельный .m1v или .m2v и подготовить индекс для дальнейшей обработки.

Скачать DGIndex

Оценка 9.7Рекомендуем
  • Конвертация видео
  • Сжатие файлов
  • Просто для новичков
Скачать бесплатно на Windows
Лучшая альтернатива
DGIndex
Оценка 8.5
  • Только MPEG‑1/2
  • Один диапазон проекта
  • D2V зависит от исходников
Скачать DGIndex
Загрузка начнётся после нажатия

Что именно делает DGIndex

Окно DGIndex с открытым MPEG-видео и панелью навигации

DGIndex решает узкую задачу подготовки MPEG‑источника к точному декодированию и последующей обработке. Во время индексирования программа проходит по потоку, находит опорные точки для случайного доступа и описывает структуру GOP. Само видео при обычном Save Project не переписывается и не перекодируется: D2V остаётся небольшим текстовым проектом, а кадры затем берутся из исходного MPEG. Такой подход экономит место и исключает дополнительную потерю качества до того момента, когда пользователь действительно запускает фильтрацию или финальное кодирование.

Внутри D2V сохраняются не только позиции I‑картинок. Проект содержит тип MPEG, сведения о контейнере, выбранный iDCT, режим обработки repeat‑first‑field, параметры яркости и кадрирования, частоту кадров, диапазон проекта и ссылки на исходные части. Для транспортного потока дополнительно фиксируются PID видео, аудио и PCR, а также размер транспортного пакета. В результате декодер может восстановить последовательность кадров с учётом структуры конкретного файла, а не обращаться к MPEG как к непрерывному массиву без индекса.

Вторая крупная функция — демультиплексирование. Пункт Save Project and Demux Video одновременно создаёт D2V и извлекает MPEG‑1/2 видеопоток в .m1v или .m2v. В меню Audio можно указать демультиплексирование выбранных дорожек, всех доступных дорожек либо декодирование одной AC‑3 дорожки в WAV. Это полезно, когда дальше видео и звук должны обрабатываться раздельно.

  • Индексация: создание D2V без перекодирования исходного MPEG.
  • Анализ: Frame Rate, Video Type, Frame Type, Sequence, Field Order, Colorimetry, битрейт, VOB/Cell ID и сведения об аудио.
  • Навигация: переход по I‑кадрам, выбор одного диапазона начала и конца, Preview и Play.
  • Работа с TS: обнаружение PAT/PMT, PSIP или сырых PID и ручная установка Video/Audio/PCR PID.
  • Демультиплексирование: MPEG‑видео и поддерживаемые аудиопотоки без обязательного перекодирования.
  • Подготовка к frameserving: D2V для DGDecode, а при необходимости — автоматическая генерация AVS по шаблону.

Какие файлы имеет смысл открывать

DGIndex ориентирован именно на видео MPEG‑1 и MPEG‑2. Расширение файла вторично: важнее реальный тип потока внутри. Практический набор включает elementary stream, обычные MPEG program stream, VOB с DVD, transport stream из цифрового телевидения и захватов, M2TS с MPEG‑2 видео, PVA, а также файлы с расширениями вроде MPG, MPEG, M1V, M2V, VRO, TS или M2T, если их содержимое соответствует поддерживаемой структуре MPEG.

Это ограничение принципиально. DGIndex не является универсальным источником для H.264, HEVC, AV1, VP9 или произвольного MP4/MKV только потому, что такие контейнеры могут встречаться в современной работе. Если задача состоит в индексировании широкого набора кодеков, логичнее смотреть на FFMS2 или L‑SMASH Works; если нужен D2V именно для MPEG‑1/2, специализированность DGIndex обычно является преимуществом, потому что его параметры напрямую отражают MPEG‑структуру и pulldown.

При открытии нескольких файлов они должны относиться к одному совместимому типу потока. Нельзя собрать в одном File List смесь MPEG‑1 и MPEG‑2 или одновременно соединить program stream и transport stream. Множественный список предназначен прежде всего для последовательных частей одного материала — например, набора VOB-файлов одного title set или сегментов записи, которые должны восприниматься как единый непрерывный источник.

Тип источникаЧто делает DGIndexПрактическое замечание
MPEG‑1/2 elementary streamИндексирует видео и создаёт D2VНет контейнерных аудиодорожек, работа сосредоточена на видеопотоке
MPEG program stream / MPGИндексирует видео, обнаруживает и демультиплексирует аудиоНекоторые нестандартные program stream требуют особого разбора аудио
DVD VOBОбъединяет последовательность VOB, показывает VOB/Cell ID, извлекает дорожкиПорядок частей в File List критичен
Transport stream / TS / M2TSИндексирует выбранную программу по PIDПри ошибочном выборе PID видео может не открыться или будет выбран чужой поток
PVAИндексирует MPEG‑видео и может работать с аудиоДля аудио действуют ограничения, характерные для потоковых источников

Открытие файлов и окно File List

Работа начинается с File → Open или клавиши F2. После выбора источника появляется File List. Если выбрать сразу несколько файлов, DGIndex сортирует их автоматически, но программа оставляет пользователю ручное управление порядком. Кнопки ADD, UP, DOWN, DEL и DEL ALL позволяют добавить часть, поднять или опустить её, удалить выбранную строку либо очистить весь список.

Правильный порядок особенно важен для VOB и многосегментных записей. DGIndex воспринимает список не как набор независимых клипов, а как одну последовательность. Индекс, frameserving и демультиплексирование будут идти в том же порядке. Если части переставлены, результат тоже окажется переставленным; программа не использует структуру DVD-меню для автоматического восстановления замысла диска.

Файлы можно перетащить в окно DGIndex мышью. После drag-and-drop всё равно открывается File List, поэтому порядок остаётся доступным для проверки. Удобно использовать это при работе с группой VOB, но не следует автоматически принимать сортировку за доказательство правильной последовательности: названия, созданные сторонними рекордерами, иногда сортируются не так, как пользователь ожидает.

После подтверждения кнопкой OK части открываются как непрерывный материал. Если начало первого файла было отрезано внутри GOP и первые B/P‑картинки не имеют необходимых опорных кадров, DGIndex может показывать первые декодируемые кадры с особенностями, связанными с отсутствующими ссылками. Это не повод менять Field Operation; сначала нужно понять, не начинается ли исходник посреди GOP.

Load Project и повторное открытие D2V

File → Load Project открывает существующий D2V и заново подключает перечисленные в нём MPEG‑источники. При этом восстанавливаются iDCT Algorithm, Field Operation, YUV→RGB Scale, Luminance Filter, Cropping/Clipping и точки выбранного диапазона. Аудионастройки намеренно не считаются частью такого восстановления и остаются в том состоянии, в котором были до загрузки проекта.

Это различие важно при повторной подготовке проекта. Если D2V загрузили только для проверки видео, всё выглядит ожидаемо, но повторное Save Project может демультиплексировать звук иначе, чем при исходном запуске, если Output Method или выбранные audio ID были изменены. Перед повторным сохранением имеет смысл заново открыть меню Audio и проверить способ вывода.

D2V не содержит копию видео. Если в проект записаны абсолютные пути и исходный VOB/MPG/TS перемещён или переименован, декодер не сможет открыть его по старому адресу. В таком случае либо возвращают файлы на прежнее место, либо корректируют ссылки, либо создают проект заново. Для переносимых папок удобнее заранее продумать настройку Use Full Paths.

Главное окно, навигация и выбор диапазона

После загрузки DGIndex показывает декодированный кадр и временную шкалу. Ползунок служит для быстрого перехода по материалу, а кнопки со стрелками влево и вправо перемещают позицию к предыдущему или следующему I‑кадру. В режиме обычной навигации программа ориентируется именно на I‑кадры, поэтому изображение прыгает крупными шагами; плавная смена всех кадров происходит при Play, Preview или через frameserving.

Кнопки [ и ], а также Home и End, задают начало и конец выбранного диапазона. По умолчанию выбран весь материал. Можно задать только один непрерывный интервал: DGIndex не хранит список множественных вырезок, не склеивает десятки несмежных фрагментов на таймлайне и не заменяет монтажную программу. Его диапазон — это ограничение того, какую часть источника индексировать, предпросматривать и, при соответствующей команде, демультиплексировать.

Границы привязаны к точкам, пригодным для работы с GOP. Поэтому наличие Single Step не превращает инструмент в редактор с произвольным покадровым резом. Single Step позволяет рассмотреть отдельные кадры во время воспроизведения, но точки проекта по‑прежнему задаются логикой MPEG и I‑кадров. Если требуется точный монтаж по любому кадру с сохранением структуры GOP, понадобится другой инструмент и, возможно, частичное перекодирование возле границ.

Для извлечения короткого тестового фрагмента удобно перейти на I‑кадр перед нужной сценой, поставить [, затем перейти к I‑кадру после сцены и поставить ]. Далее Save Project and Demux Video создаст D2V и elementary video stream только для выбранной части. Это полезный способ получить небольшой MPEG‑образец без повторного кодирования, но начало и конец будут соответствовать допустимым GOP‑границам.

Preview, Play, Stop и Pause/Resume

Preview запускается клавишей F5 и проходит от начала до конца выбранного диапазона. Play по F6 начинает воспроизведение с текущей позиции. Stop соответствует Esc, а Space переключает Pause/Resume. Важно, что DGIndex воспроизводит здесь видео без звука: наличие тишины в Preview не означает, что аудиопоток отсутствует или повреждён.

Play может временно показывать макроблоки на первых кадрах после произвольного прыжка по шкале, потому что для мгновенного предпросмотра не всегда декодируются все предыдущие опорные картинки. Это особенность окна просмотра, а не доказательство повреждения экспортируемого .m2v или кадров через DGDecode. Если артефакт исчезает спустя несколько кадров и отсутствует при последовательном декодировании, не нужно автоматически включать исправляющие опции.

В Options → Playback Speed доступны Single Step, Super Slow, Slow, Normal, Fast и Maximum. Normal ориентируется на частоту самого потока, Fast примерно удваивает темп, а Maximum декодирует настолько быстро, насколько позволяет система. Single Step полезен для визуального изучения чередования кадров и полей, но он не меняет правила задания диапазона.

Information Panel: что читать в первую очередь

Information Panel появляется при Preview, Play и во время сохранения проекта. Это один из наиболее ценных элементов DGIndex: здесь одновременно видны характеристики видео, обнаруженные аудиодорожки и состояние текущей операции. Значения в режиме Preview относятся к реально просмотренному участку, поэтому короткий просмотр одного эпизода не всегда описывает весь фильм, особенно если материал гибридный или параметры меняются по ходу записи.

Поля Stream Type, Profile, Frame Size и Display Size описывают контейнерную и кодирующую структуру. Stream Type показывает elementary, program, PVA или transport stream, включая размер TS-пакета там, где он известен. Frame Size — кодированный размер, а Display Size берётся из sequence display extension, если такая информация присутствует. Поэтому эти две величины не обязаны совпадать.

Aspect Ratio отображает aspect ratio из MPEG-потока. Его нельзя трактовать как указание растянуть пиксели до квадратных без учёта кодированного размера и display size. DGIndex показывает то, что записано в синтаксисе MPEG; окончательная геометрия кадра в цепочке обработки может зависеть от SAR/DAR и от того, как последующий инструмент применяет метаданные.

Frame Rate — частота воспроизведения с учётом текущего Field Operation. Поэтому изменение Honor Pulldown Flags на Force Film может изменить отображаемое значение. Video Type помогает оценить наличие pulldown: при наличии соответствующих флагов DGIndex показывает процент Film или Video, причём два значения дополняют друг друга до 100 процентов и отображается доминирующая сторона.

Sequence сообщает состояние progressive_sequence, Frame Struct — кодируется ли материал frame picture или field pictures, а Frame Type следует флагу progressive_frame. Последнее поле нельзя принимать за окончательный диагноз содержимого. Прогрессивный материал может быть закодирован в интерлейсной структуре и наоборот; визуальная проверка движения и анализ cadence остаются важны.

Coding Type показывает I, P или B для текущей декодированной картинки. При включённом pulldown отображаемый кадр может собираться из разных картинок, поэтому для чистого просмотра coding type удобно временно использовать Ignore Pulldown Flags. Field Order показывает текущий порядок полей — Top или Bottom. Для сложных источников стоит проверять не один кадр, а достаточно длинный отрезок.

Colorimetry отражает матрицу, заявленную в MPEG. Если поток не сообщает её явно, DGIndex делает допущение и помечает значение звёздочкой. В старых SD-записях и некоторых нестандартно подготовленных файлах эта информация особенно важна: неверное предположение о матрице позже приводит к отличиям цвета при преобразовании YUV↔RGB.

Счётчики Coded # и Playback # помогают увидеть влияние repeat flags. Playback # может быть выше Coded #, если Honor Pulldown Flags создаёт дополнительные отображаемые поля или кадры. Frame Rpts и Field Rpts отдельно показывают повторы, а при Ignore Pulldown Flags эти счётчики не растут.

Bitrate — скользящее значение по ближайшим отображаемым кадрам, Bitrate (Avg) — среднее по просмотренному участку, Bitrate (Max) — максимальное встреченное значение. Они подходят для диагностики потока, но не являются результатом теста скорости кодирования. В правой части Audio перечисляются найденные audio ID и их параметры, а внизу Elapsed, Remain, FPS и Info показывают состояние операции и ошибки.

Field Operation и работа с pulldown

Меню Video → Field Operation определяет, как DGIndex трактует флаги repeat_first_field и связанную с ними схему отображения MPEG‑2. Это одна из настроек, которая напрямую влияет на число выдаваемых кадров и заявленную частоту проекта. Ошибка здесь способна дать неверную длительность, неправильный cadence или лишние повторения, поэтому Field Operation выбирают по структуре конкретного источника, а не по привычке.

Honor Pulldown Flags следует флагам потока. Это безопасный базовый режим, когда нужно сохранить авторскую схему отображения и не делать предположение, что содержимое целиком представляет собой телесинованный фильм. При 3:2 pulldown DGIndex использует RFF/TFF, чтобы воспроизвести последовательность так, как она задумана для 29,97 fps. Для смешанных источников, где часть материала снята как видео, а часть пришла с киноплёнки, этот режим обычно предпочтительнее принудительного Film.

Force Film предназначен для источника, в котором почти всё содержимое образует корректную film cadence и pulldown можно снять, вернув прогрессивную последовательность примерно 23,976 fps из NTSC-ориентированного MPEG‑2. Применять его только потому, что Information Panel иногда показывает Film, нельзя. Если внутри есть вставки Video, титры, телепроизводство, анимационные участки с необычным cadence или монтажные переходы, принудительное решение может создать неравномерность движения и неправильный набор кадров.

Ignore Pulldown Flags заставляет DGIndex игнорировать отображательные повторы и работать с кодированными картинками без применения RFF. Режим полезен для диагностики: например, когда нужно видеть coding type без влияния pulldown или понять реальную структуру сохранённых картинок. Он не является универсальным способом исправить интерлейс и не заменяет деинтерлейс или IVTC.

РежимЧто происходитКогда использовать
Honor Pulldown FlagsRFF/TFF применяются по данным MPEGОбычный безопасный вариант, смешанные и неочевидные источники
Force FilmПовторяющиеся поля исключаются по film cadenceМатериал фактически целиком Film и это подтверждено анализом
Ignore Pulldown FlagsRFF игнорируютсяДиагностика кодированных картинок и специальных сценариев

Практический алгоритм прост: открыть достаточно длинный участок, запустить Preview и смотреть одновременно на Video Type, Frame Rate, Frame Type и реальное движение. Если DGIndex показывает устойчивый Film на почти всём материале и источник действительно телесинован, Force Film может быть уместен. Если процент заметно меняется, встречаются видеовставки или происхождение материала неизвестно, лучше сохранить Honor Pulldown Flags и решать IVTC/деинтерлейс дальше в фильтрах, где есть больше контроля.

Для PAL ситуация иная: само наличие 25 fps не требует Force Film. Если при PAL ошибочно включить принудительный Film, можно получить некорректную частоту порядка 20 fps. В таком случае возвращаются к Honor Pulldown Flags и заново запускают Preview. Не стоит переносить NTSC-рецепт на PAL только потому, что оба источника могут быть прогрессивными по содержимому.

Frame Type не равен типу содержимого

Одна из типичных ошибок — увидеть в Information Panel Frame Type: Interlaced и немедленно решить, что нужен деинтерлейс. DGIndex показывает флаг progressive_frame в MPEG‑2, то есть способ кодирования текущей картинки. Этот флаг не доказывает, что два поля сняты в разные моменты времени. Прогрессивный кадр может быть упакован в интерлейсную структуру, а некорректно маркированный поток способен сообщать обратное.

Поэтому оценка должна учитывать движение. На статичном кадре интерлейс почти невозможно диагностировать визуально. Нужен участок с горизонтальным или диагональным перемещением, прокруткой текста либо панорамой. Для film source после телесина важен cadence, а не отдельный кадр. DGIndex даёт исходные признаки, но окончательное решение о IVTC или деинтерлейсе принимает пользователь.

Поля Sequence и Frame Struct добавляют контекст. Progressive sequence говорит о структуре последовательности, Frame/Field picture — о способе кодирования картинок. Вместе с Field Order и повторными флагами это помогает понять, почему один MPEG ведёт себя иначе, чем другой, хотя оба имеют одинаковые 720×480 и 29,97 fps.

iDCT Algorithm: зачем эта настройка нужна

Video → iDCT Algorithm выбирает алгоритм обратного дискретного косинусного преобразования, используемый при MPEG‑декодировании. Настройка сохраняется в D2V и может затем учитываться DGDecode. В классической документации перечислены MMX, SSE MMX, SSE2 MMX, 64-bit Floating Point, IEEE‑1180 Reference, Skal SSE MMX и Simple MMX; варианты, недоступные текущему процессору, из меню исключаются.

С практической точки зрения это не ползунок качества кодирования. Исходный MPEG уже закодирован; iDCT определяет способ восстановления блоков при декодировании. Reference ориентирован на точность, быстрые SIMD-варианты — на производительность. Для типичной подготовки D2V разумно использовать поддерживаемый быстрый вариант по умолчанию, а менять его только тогда, когда требуется конкретная воспроизводимость или сравнение декодеров.

Если в D2V вручную указать алгоритм, который система не поддерживает, DGIndex/DGDecode не могут физически использовать недоступные инструкции и переходят к допустимому варианту. Поэтому копирование чужого INI вместе с номером iDCT не гарантирует идентичный внутренний путь декодирования на другой машине.

При современной 64‑битной работе часть названий старых SIMD-алгоритмов выглядит архаично, но смысл настройки сохраняется: D2V фиксирует ожидание декодера. Не стоит включать самый медленный Reference без конкретной причины только ради слова reference — для обычного монтажно-кодировочного конвейера заметной практической пользы это чаще всего не даёт, а скорость декодирования может снижаться.

YUV→RGB, яркость и кадрирование

DGIndex в основном работает с MPEG‑видео, которое хранится в YUV, однако предпросмотр и отдельные операции могут требовать преобразования. Пункт Video → YUV → RGB выбирает диапазон преобразования: PC Scale или TV Scale. Это не команда перекодирования всего проекта в RGB. Значение записывается в D2V как параметр, который может использоваться при соответствующем преобразовании в дальнейшей цепочке.

TV Scale сохраняет телевизионный диапазон при интерпретации яркости, PC Scale растягивает его на полный диапазон RGB. Если бездумно сменить этот режим, картинка в RGB-просмотре может показаться контрастнее или бледнее, хотя сами YUV-данные источника не исправились. Для цветокоррекции лучше понимать, где именно происходит YUV→RGB и какой диапазон ожидает следующий фильтр.

Luminance Filter

Luminance Filter даёт два параметра: Gamma и Offset. Gamma меняет яркость нелинейно, Offset сдвигает её на постоянную величину. Диапазон значений сохраняется в D2V, а DGDecode способен применить те же параметры к выдаваемому видео. Это отличает функцию от простой косметики окна просмотра: изменение может стать частью frameserving, если декодер читает проект и следует записанным настройкам.

Использовать Luminance Filter стоит осознанно. Он не анализирует уровни автоматически, не является полноценным модулем цветокоррекции и не восстанавливает клиппированные белые или чёрные. Если задача сложнее простого сдвига/гаммы, обычно лучше оставить исходный D2V нейтральным и делать коррекцию позже специализированными фильтрами с измерителями уровней.

Cropping Filter

Cropping Filter задаёт Left, Right, Top и Bottom и показывает эффект на кадре. В самом D2V эти значения называются Clipping. DGDecode читает их и выдаёт уже обрезанное изображение, поэтому кадрирование становится частью исходной операции чтения, а не отдельным Crop в скрипте.

У такого подхода есть плюс — один и тот же проект сразу несёт необходимые границы. Но есть и минус: человек, открывающий D2V позже, может не заметить, что часть изображения удаляется ещё на источнике. В командной работе или при длительном архивировании безопаснее фиксировать это в сопроводительных заметках либо выполнять Crop явно в AviSynth/VapourSynth, если прозрачность конвейера важнее удобства.

Перед обрезкой полезно проверить, относится ли чёрная полоса к кодированному изображению или к реальному display area. Frame Size и Display Size в Information Panel могут различаться. Слепое удаление строк только потому, что окно показывает лишние области, способно изменить ожидаемую геометрию и нарушить требования последующего кодера к кратности размеров.

HD Display и просмотр структуры полей

Для крупного MPEG‑2 DGIndex умеет уменьшать изображение при показе и предоставляет режимы HD Display, позволяющие смотреть уменьшенный кадр либо отдельный квадрант в полном масштабе. Это полезно не для повышения качества просмотра, а для диагностики: в масштабе 1:1 легче рассмотреть гребёнку, структуру полей и мелкие артефакты, которые исчезают при половинном уменьшении.

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

Сохранение кадра и работа с BMP

File → Save BMP сохраняет текущий отображаемый кадр в обычный BMP. Это удобный способ получить точный кадр из MPEG для визуального сравнения, заметок или анализа в графическом редакторе. Отдельный пункт Video → Copy Frame to Clipboard копирует показанный кадр в буфер обмена без промежуточного файла.

Такие кадры отражают текущие настройки отображения, поэтому при сравнении двух источников нужно следить за YUV→RGB, Luminance Filter, Cropping и Field Operation. Иначе различие в BMP может происходить не из исходного файла, а из разных параметров DGIndex. Для документирования проблем полезно записывать, какой режим был выбран.

Save BMP не превращает DGIndex в пакетный генератор кадров. Если нужны сотни изображений, thumbnails, PNG/JPEG или выбор по временным меткам, рациональнее создать D2V и выполнить извлечение через AviSynth/VapourSynth либо другой инструмент. В DGIndex эта функция рассчитана на единичный текущий кадр.

Transport Stream: PAT/PMT, PSIP и PID

При открытии transport stream меню Stream становится особенно важным. Один TS может содержать несколько программ, несколько аудиопотоков и служебные таблицы. DGIndex должен знать, какой Video PID декодировать и какой Audio PID анализировать или извлекать. Если выбор сделан неверно, окно может остаться без видео, показать не ту программу либо выдать ошибки.

Detect PIDs: PAT/PMT — предпочтительный первый способ. DGIndex читает таблицы PAT/PMT в первом входном файле, показывает обнаруженные программы и связанные PID. Пользователь выделяет нужный поток и назначает его кнопками Set Video, Set Audio и, при необходимости, Set PCR. Это надёжнее ручного перебора, когда таблицы в записи присутствуют и корректны.

Detect PIDs: PSIP предназначен для транспортных потоков, где информация о программах идёт через PSIP, характерный для ATSC. Он решает похожую задачу, но читает другой тип служебных таблиц. Если источник пришёл из наземного цифрового вещания и обычный PAT/PMT не помогает, этот вариант имеет смысл проверить.

Detect PIDs: Raw сканирует встречающиеся PID без уверенного знания того, какие аудио и видео относятся к одной программе. Этот режим нужен для повреждённых, урезанных или нетипичных TS, где таблиц нет. Плата за универсальность — ручная проверка сочетаний. Raw показывает кандидатов, но не всегда способен объяснить их взаимосвязь.

Set PIDs позволяет ввести Video, Audio и PCR PID вручную в шестнадцатеричной форме. Ручная установка полезна, если PID уже известны из анализатора потока или документации устройства. Если ошибочно назначить аудиопоток как видео или наоборот, поведение не определено; при странных сбоях разумно сбросить Video и Audio PID в зарезервированное значение 0x02, заново открыть источник и повторить обнаружение.

PCR PID нужен не во всех сценариях. Для обычного индексирования и демультиплексирования основными являются Video и Audio PID; PCR становится существеннее при логировании временных меток и диагностике синхронизации. Не следует выбирать случайный PCR только для того, чтобы заполнить поле.

Команда StreamЧто читаетКогда применять
Detect PIDs: PAT/PMTТаблицы программ MPEG‑TSОсновной способ для нормального TS
Detect PIDs: PSIPPSIPATSC и источники с соответствующими таблицами
Detect PIDs: RawФактически встречающиеся PIDНет корректных PAT/PMT, нужен ручной подбор
Set PIDsРучные значенияPID заранее известны или автообнаружение ошибается

Почему M2TS может открыться, но показывать не тот поток

Расширение M2TS говорит о транспортном контейнере, но не определяет, какая программа должна быть выбрана. В многопрограммной записи первый обнаруженный поток может быть не тем, который нужен пользователю. Если картинка неожиданно имеет другое разрешение, язык аудио не совпадает или временная шкала выглядит странно, проверьте список PAT/PMT и PID до любых попыток чинить декодирование.

Второй источник ошибок — обрезанный TS, начавшийся после служебных таблиц. Тогда PAT/PMT может не встретиться достаточно рано, и Raw detection оказывается полезнее. Для длительных вещательных записей имеет смысл попробовать фрагмент, где таблицы присутствуют, либо определить PID внешним анализатором и передать их в Set PIDs.

Меню Audio и способы вывода звука

Аудиочасть DGIndex рассчитана на извлечение дорожек при индексировании MPEG. В Audio → Output Method доступны Disable, Demux Tracks, Demux All Tracks и Decode AC3 Track to WAV. Первые три режима не меняют структуру самого видеоиндекса; они определяют, будут ли рядом с D2V созданы аудиофайлы и в каком виде.

Disable полностью отключает аудиовывод. Это хороший выбор, когда D2V нужен только как источник видео и звук будет получен из контейнера другим инструментом. Demux Tracks извлекает выбранные audio ID в исходном сжатом или PCM-формате без перекодирования. Demux All Tracks пытается выгрузить все обнаруженные дорожки, что удобно при DVD, где заранее не хочется выбирать язык или комментарии.

Decode AC3 Track to WAV отличается принципиально: AC‑3 декодируется, выполняется выбранный downmix и при необходимости применяются DRC, ресэмплинг или нормализация. Это уже не lossless demux исходного AC‑3. Если дальнейший кодировщик принимает AC‑3 напрямую и нужно сохранить оригинальную дорожку, выбирают Demux, а не Decode.

Среди реально поддерживаемых для демультиплексирования типов встречаются AC‑3, DTS, AAC, MPEG Audio и LPCM. Конкретный набор определяется тем, что реально лежит в MPEG-потоке. Расширение выходного файла соответствует типу аудио; для MPEG Audio поведение расширений может дополнительно зависеть от INI-настройки.

Select Track(s) и audio ID

В program stream вроде DVD VOB DGIndex показывает audio ID и позволяет выбрать несколько дорожек. Номера здесь лучше воспринимать именно как идентификаторы потоков, а не как дорожка 1 = английский. Язык из IFO не является основой этой панели, поэтому назначение дорожки нужно определять по метаданным диска, каналам, битрейту или последующей проверке.

В имени демультиплексированного AC‑3 DGIndex обычно отражает техническую информацию: ID/номер, конфигурацию каналов, битрейт и рассчитанную задержку. Такой файл удобнее синхронизировать вручную, потому что значение DELAY видно прямо в имени. Но переносить число задержки на другой диапазон без проверки нельзя: задержка зависит от точки начала проекта.

Для transport stream и PVA логика аудио отличается от DVD-подобных program stream: одновременно выбирается один аудиопоток, а идентификация опирается на PID. Поэтому привычное Demux All Tracks не означает, что DGIndex обязательно разом извлечёт все языки из произвольного многопрограммного TS так же, как из VOB. Сначала задают нужный Audio PID.

Demux Audio-Only Stream

File → Demux Audio-Only Stream нужен, когда вход не содержит пригодного видеопотока и обычный Save Project невозможен. Команда извлекает аудио из всего источника, не учитывает выбранный диапазон и не рассчитывает delay так, как Save Project. Кроме того, в этом режиме нельзя использовать Decode AC3 to WAV; для декодирования AC‑3 нужен обычный проект с видео.

Эта команда полезна для отдельного MPEG-аудиопотока или транспортного файла, из которого требуется достать звук без создания D2V. Если же видео присутствует и важна синхронизация с выбранным диапазоном, лучше использовать Save Project с соответствующим Output Method, потому что тогда DGIndex может связать расчёт задержки с начальной точкой проекта.

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

DGIndex вычисляет смещение звука относительно видео и добавляет его в имя демультиплексированной дорожки. Значение вроде DELAY -320ms означает, что при последующем объединении аудио требуется учитывать отрицательное смещение. Это не ошибка звука как таковая, а информация о временной привязке PTS/SCR относительно выбранной границы проекта.

Значение зависит от старта. Если переместить левую границу на следующий I‑кадр, задержка может измениться. Поэтому нельзя один раз посмотреть DELAY на полном VOB, затем вырезать другой диапазон и механически использовать старое число. Для каждой реально сохраняемой выборки корректнее брать delay, рассчитанный при её индексировании.

Слишком большое или явно абсурдное значение может указывать на скачок временной базы около начала потока. Для таких случаев существует Tools → Analyze Sync. Он анализирует, какой delay получился бы при старте с разных I‑кадров, и помогает обнаружить точку, после которой временные метки становятся разумными.

Если первая GOP содержит нарушенную временную информацию, практическое решение иногда состоит в том, чтобы перейти кнопкой > на следующий I‑кадр, заново поставить [ и сохранить проект уже с него. Это лучше, чем вручную выдумывать компенсацию на десятки секунд, не понимая происхождения скачка.

Декодирование AC‑3 в WAV

Режим Decode AC3 Track to WAV предназначен для тех случаев, когда следующему этапу нужен несжатый двухканальный WAV, а не исходный AC‑3. В отличие от Demux Tracks здесь происходит полноценное декодирование. Поэтому перед запуском Save Project нужно проверить DRC, тип downmix, частоту дискретизации и Normalization: все эти параметры меняют итоговый WAV.

Многоканальный AC‑3 при таком выводе сводится в два канала. DGIndex не создаёт шестиканальный WAV как прямую копию 5.1. Если требуется сохранить все исходные каналы для дальнейшего декодирования специализированным инструментом, правильнее демультиплексировать AC‑3 без преобразования.

Dynamic Range Control

Подменю Dolby Digital Decode → Dynamic Range Control предлагает Off, Light, Normal и Heavy. DRC использует метаданные, записанные в Dolby Digital, чтобы уменьшать разницу между тихими и громкими фрагментами. Off сохраняет полный доступный динамический диапазон, Light вмешивается умеренно, Normal сильнее сжимает диапазон, Heavy делает разницу между тихими и громкими эпизодами ещё меньше.

Наличие переключателя не означает, что любой AC‑3 обязательно изменится. Если в дорожке нет подходящих DRC-метаданных или они заданы так, что эффект минимален, переключение может быть почти незаметным. Для архивной подготовки исходника обычно логичнее оставить Off и не вносить необратимое решение на этапе декодирования; для бытового стерео, где тихие реплики теряются на фоне шума, DRC может быть осознанным выбором.

Lo/Ro и Lt/Rt

Опция Dolby Surround Downmix определяет способ сведения многоканального AC‑3 в стерео. В выключенном состоянии используется обычный Lo/Ro downmix, рассчитанный на двухканальное воспроизведение. Во включённом — Lt/Rt, где surround-компоненты матрицируются так, чтобы совместимый Dolby Pro Logic декодер мог позже частично восстановить пространственную структуру.

Выбор зависит от назначения файла, а не от количества исходных каналов само по себе. Для обычного WAV, который будут слушать как стерео, Lo/Ro понятнее. Для цепочки, где стереосигнал затем проходит через Pro Logic-подобное декодирование, нужен Lt/Rt. LFE при таком стереодекодировании DGIndex не подмешивает как полноценный отдельный канал, поэтому получившийся WAV нельзя считать 5.1 в двух каналах без потерь.

48 → 44.1 kHz

Подменю 48 → 44.1KHz действует только при Decode AC3 Track to WAV. Off сохраняет 48 кГц, а Low, Mid, High и UltraHigh включают ресэмплинг до 44,1 кГц с разным компромиссом между скоростью и качеством. Для DVD-видео, где 48 кГц является естественной частотой, перевод в 44,1 кГц не нужен без конкретного требования дальнейшей системы.

Ресэмплинг удлиняет обработку и создаёт новый PCM-сигнал, поэтому выполнять его на всякий случай не стоит. Если конечный кодировщик нормально принимает 48 кГц, сохранение исходной частоты уменьшает число преобразований. 44,1 кГц имеет смысл, когда этого требует конкретный аудиоформат или последующий рабочий процесс.

Normalization и Pre-Scale Decision

Normalization масштабирует декодируемый WAV так, чтобы максимальный пик достиг заданного процента от полного уровня. При обычной Normalization DGIndex делает дополнительный проход: сначала создаёт проект и аудиофайл, затем анализирует и нормализует его. Это полезно для простых задач, но не заменяет полноценный loudness-нормалайзер и не ориентируется на LUFS.

Pre-Scale Decision использует предварительный проход для вычисления коэффициента усиления до окончательного декодирования. В классической логике DGIndex этот способ предпочтительнее обычной двухпроходной Normalization, потому что масштабирование встраивается раньше и уменьшается риск лишних ошибок квантования. Для него уровень задают ползунком Normalization, но сам чекбокс обычной Normalization не включают; затем активируют Pre-Scale Decision.

Если после вычисления pre-scale изменить выбранную аудиодорожку, расчёт перестаёт соответствовать содержимому и должен быть выполнен заново. Нельзя использовать gain, вычисленный для одной AC‑3 дорожки, как универсальный коэффициент для другой.

Save Project: создание D2V

File → Save Project, обычно F4, запускает индексирование выбранного диапазона и создаёт файл .d2v. Если в Audio выбран demux, одновременно появляются аудиофайлы. В процессе Information Panel показывает параметры, счётчики, скорость, оставшееся время и сообщения об ошибках. Сохранение может занимать заметное время на длинном источнике, потому что поток нужно последовательно проанализировать, но видео не перекодируется.

Ключевой момент: D2V — индекс и набор инструкций, а не сам видеоклип. Размер такого файла несопоставимо меньше MPEG, потому что в нём нет копий всех кадров. При открытии через DGDecode декодер снова обращается к исходным VOB/MPG/TS и использует индекс, чтобы правильно найти нужную область.

Если в Audio выбрано Demux Tracks или Demux All Tracks, звук выводится в ту же рабочую область, что и проект, согласно настройкам и типу потока. Имя файла содержит технические признаки, позволяющие отличать дорожки. Когда важна дальнейшая автоматизация, лучше не переименовывать такие файлы до того, как AVS-шаблон или скрипт уже сформированы.

Save Project and Demux Video

Save Project and Demux Video делает всё то же, что Save Project, и дополнительно извлекает видео в elementary stream. MPEG‑1 получает расширение .m1v, MPEG‑2 — .m2v. Это именно демультиплексирование: кодированные MPEG-картинки не пережимаются новым кодеком.

Если File List содержит несколько последовательных частей, DGIndex создаёт один объединённый elementary video stream для выбранного диапазона. Поэтому команда удобна для подготовки видеопотока из набора VOB перед authoring или специализированной MPEG-обработкой. Но объединение корректно только тогда, когда части совместимы и действительно образуют непрерывную последовательность.

Не следует включать video demux, если нужен только frameserving через DGDecode. D2V уже содержит всё необходимое для доступа к исходному видео, а дополнительный .m2v лишь занимает место. Демультиплексируйте видео, когда следующий инструмент требует elementary stream или когда нужно получить самостоятельный MPEG-видеопоток.

Как устроен файл D2V

D2V — обычный текстовый файл с тремя логическими частями: header, settings и data. В заголовке указана версия формата проекта, число исходных файлов и их пути. В settings записываются тип потока, MPEG Type, iDCT, YUVRGB Scale, Luminance Filter, Clipping, Aspect Ratio, Picture Size, Field Operation, Frame Rate и Location; для transport stream появляются PID и размер TS-пакета.

Data section содержит индекс по I‑картинкам и сведения о следующих за ними картинках. В каждой строке фиксируются позиция в исходном файле, параметры GOP, признаки progressive/open/closed, VOB/Cell для DVD и битовые флаги отдельных картинок, включая тип I/P/B, TFF, RFF и progressive_frame. Именно эта часть позволяет декодеру выполнять корректный случайный доступ.

Поле D2VСмыслОткуда берётся
Stream_TypeElementary, Program, Transport или PVAОпределяет DGIndex
MPEG_TypeMPEG‑1 или MPEG‑2Определяет DGIndex
iDCT_AlgorithmВыбранный метод iDCTНастройка пользователя
YUVRGB_ScaleTV/PC scale для RGB-преобразованияНастройка пользователя
Luminance_FilterGamma и OffsetНастройка пользователя
ClippingОбрезка слева, справа, сверху и снизуНастройка Cropping Filter
Aspect_RatioAspect ratio из MPEGСчитывает DGIndex
Picture_SizeРазмер кадра после clippingВычисляет DGIndex
Field_OperationHonor, Force Film или IgnoreНастройка пользователя
Frame_RateЧастота и точная дробьОпределяется с учётом Field Operation
LocationНачало и конец выбранного диапазонаМетки таймлайна

Формат проекта проверяется DGDecode. Если декодер сообщает, что D2V несовместим или obsolete, чаще всего нужно проверить соответствие DGIndex и DGDecode. Использование старого DGDecode.dll из общей папки плагинов вместе с новым D2V — типичная причина ошибки. Исправление состоит не в ручном удалении строки версии, а в согласовании компонентов.

Редактировать D2V вручную допустимо только при понимании формата. Путь к файлу можно поправить текстовым редактором, но изменение offset, flags, Field Operation или Frame Rate для эксперимента способно разрушить точный доступ. Если исходник доступен, безопаснее пересоздать индекс с нужными настройками.

Use Full Paths и перенос проекта

Options → Use Full Paths определяет, будут ли D2V и автоматически создаваемые AVS хранить абсолютные пути или относительные ссылки. При включённой опции проект точно знает исходное расположение файлов на диске, но перенос папки на другой компьютер или диск ломает ссылки. При выключенной — пути строятся относительно расположения D2V, что удобнее для автономной рабочей папки.

Если проект состоит из movie.d2v, нескольких VOB и скрипта в одной структуре каталогов, относительные пути обычно практичнее. Папку можно целиком перенести, сохранив взаимное расположение. Абсолютные пути полезны, когда исходники лежат в общей медиатеке и их не планируют перемещать.

Важно отличать относительный путь от поиска файла по имени. DGDecode не сканирует весь компьютер. Он разрешает путь относительно D2V/скрипта по правилам проекта. Если относительная структура изменилась, ссылку всё равно придётся исправить.

AVS Template: автоматическое создание скрипта AviSynth

DGIndex может сформировать AVS рядом с D2V по пользовательскому шаблону. В шаблоне специальная метка __vid__ заменяется именем проекта D2V, __aud__ может быть заменена именем аудиофайла, а __del__ — значением задержки для применения через DelayAudio. Это удобно для повторяемого процесса индекс → готовый AviSynth-скрипт.

Шаблон не является мастером фильтров. Пользователь сам пишет обычный AVS с LoadPlugin, MPEG2Source и нужными фильтрами, а DGIndex только подставляет пути и delay. Если требуется сложная логика deinterlace/IVTC, её нужно заранее описать в шаблоне или отредактировать созданный AVS.

В диалоге Options → AVS Template есть действия Don't Use Template, Change Template File и Keep Current Template. Если шаблон активен, после Save Project DGIndex создаёт AVS только при отсутствии файла с таким именем. Он не должен без предупреждения перетирать уже отредактированный пользователем скрипт.

Метка __aud__ однозначна, когда выводится одна аудиодорожка. При множественном demux она относится к первой открываемой дорожке, поэтому для автоматической сборки AVS с конкретным языком проще индексировать нужный audio ID отдельно или вручную указать файл.

Минимальная схема AviSynth

Базовая логика выглядит так: загрузить совместимый DGDecode, вызвать MPEG2Source с D2V, затем применить фильтры и передать AVS кодировщику. Несмотря на имя функции MPEG2Source, DGDecode способен работать и с MPEG‑1, если проект создан DGIndex. D2V остаётся связующим индексом между источником и декодером.

Аудио DGDecode через MPEG2Source автоматически не приклеивает как универсальный контейнерный источник. Если DGIndex демультиплексировал AC‑3/MPA/DTS или создал WAV, аудио подключают подходящим источником отдельно и синхронизируют с учётом DELAY. Такой разделённый подход делает происхождение рассинхронизации понятнее.

Если D2V содержит Cropping или Luminance Filter, DGDecode может применить эти параметры ещё на стадии чтения. Поэтому перед добавлением дополнительного Crop или уровней в AVS нужно знать, что уже записано в проекте, иначе коррекция будет выполнена дважды.

Использование с VapourSynth

В современных 64‑битных сборках DGDecode поддерживается сценарий чтения D2V из VapourSynth. Принцип остаётся тем же: DGIndex создаёт индекс MPEG‑1/2, а декодирующий плагин выдаёт кадры в скрипт. Это не делает DGIndex источником для H.264/HEVC — ограничение самого индексатора по MPEG‑1/2 сохраняется.

Для VapourSynth особенно важно не смешивать D2V с индексами других систем. FFMS2 использует .ffindex, L‑SMASH Works — .lwi, D2VWitch тоже создаёт D2V, но рассчитан на другую реализацию декодирования. Совпадающее назначение индексировать видео не означает взаимозаменяемость любого индексного файла с любым source-плагином.

Если D2V читается, но геометрия не совпадает с ожиданием, проверьте Clipping в проекте. Параметр может применяться декодером ещё до пользовательских фильтров. Для 1088→1080 MPEG‑2 также нужно учитывать coded size и display size: эти величины не всегда совпадают.

Options: параметры процесса и воспроизведения

Process Priority предлагает High, Normal и Low. Это приоритет процесса Windows, а не настройка качества. Low удобен при фоновом индексировании, если параллельно нужно работать в другой программе; High может ускорить получение процессорного времени, но не изменяет алгоритм индексирования и не гарантирует пропорциональный прирост скорости.

Loop Playback зацикливает Preview/Play внутри диапазона. В сочетании с небольшой выборкой и режимом Normal или Slow это полезно для повторного просмотра cadence, смены полей или короткого участка с артефактом. Зацикливание не влияет на Save Project.

Playback Speed управляет только темпом предпросмотра. FPS в Information Panel при Maximum показывает фактическую скорость декодирования окна, а не исходный frame rate. Поэтому нельзя путать, например, 120 FPS в статусе с параметром видео 29,97 fps.

Force Open GOPs in D2V File

Опция Force Open GOPs in D2V File предназначена для редкого случая, когда поток ошибочно помечает GOP как closed, хотя для корректного случайного доступа требуется считать его open. Симптом — блоковые артефакты именно при seek/frameserving, которые не объясняются предпросмотром после случайного прыжка.

Включение заставляет D2V маркировать GOP как open независимо от исходных флагов. Это может убрать макроблоки при случайном доступе, но делает seek медленнее, потому что декодеру приходится захватывать больше контекста. Поэтому опцию не следует включать глобально для надёжности; сначала нужно подтвердить проблему на конкретном потоке.

Log Quant Matrices и Log Timestamps

Log Quant Matrices создаёт диагностическую информацию о встречающихся quantization matrices. Это инструмент для анализа MPEG-структуры, а не функция улучшения качества. Он полезен, если нужно понять, меняются ли матрицы внутри материала или почему разные участки кодировались неодинаково.

Log Timestamps записывает временные метки аудио и видео и нужен прежде всего при расследовании рассинхронизации. Такой dump можно затем использовать в Analyze Sync. В обычном проекте, где delay выглядит разумно и звук синхронен, постоянное логирование только создаёт лишние файлы.

Force Fusion-Style Audio

Некоторые program stream не следуют DVD-подобной схеме private stream 1 и не содержат ожидаемый audio substream header. Для них существует Force Fusion-Style Audio, переключающий особый разбор. Использовать его следует при конкретном источнике, где стандартный DVD-подобный парсер не видит аудио или видит его неверно.

Для обычных VOB опция не нужна. Она также не является универсальным способом найти пропавший звук в любом файле. Сначала стоит установить реальный тип контейнера, проверить PID/ID и Information Panel, а уже затем менять стиль разбора.

Enable Info Log

При включённом Enable Info Log закрытие Information Panel создаёт текстовый .log рядом с первым входным файлом. В него попадают те же параметры, которые отображались в панели. Это удобно для пакетной диагностики и командной строки: можно получить сведения о потоке, не записывая их вручную.

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

Tools: диагностика и исправление D2V

Меню Tools предназначено не для повседневного индексирования, а для случаев, когда обычный D2V даёт подозрительную синхронизацию, меняющийся field order или требуется исследовать внутреннюю структуру проекта. Здесь важны три команды: Analyze Sync, Fix D2V и Parse D2V.

Analyze Sync

Analyze Sync берёт dump временных меток, ранее созданный через Log Timestamps, и строит последовательность значений audio delay для разных I‑кадров. Идея проста: если огромная задержка возникает только на самой первой GOP, а со следующей становится нормальной, проблема находится в начале потока, а не во всей аудиодорожке.

В отчёте анализируется выбранный audio ID. Для transport/PVA, где аудиопоток выбирается через PID, внутренний audio ID в этой операции имеет специальную логику и не должен путаться с PID. Вывод интерпретируют только вместе с точкой старта проекта: delay, вычисленный для конкретного I‑кадра, корректен, когда проект действительно начинается с него.

Analyze Sync не сдвигает звук сам. Он объясняет, где временная база становится разумной, после чего пользователь либо меняет стартовую точку, либо решает проблему дальше в mux/filter chain. Это принципиально безопаснее, чем применить произвольный DelayAudio на десятки секунд только потому, что первое число в имени AC‑3 выглядит большим.

Fix D2V

Fix D2V корректирует флаги TFF/RFF в проекте, когда источник содержит переходы между top-field-first и bottom-field-first и downstream-фильтр требует постоянного field order. Инструмент не перекодирует MPEG и не переписывает исходник — меняется проект D2V, то есть инструкция для последующего декодирования.

При коррекции исходный вариант проекта сохраняется с окончанием .bad, а исправленный D2V получает обычное имя. Это полезно, потому что алгоритмическая коррекция не обязана быть правильной для каждого патологического потока. Если после Fix D2V движение или поля выглядят хуже, можно сравнить поведение с сохранённым исходным проектом.

Fix D2V не следует применять к материалу с frame-repeat RFF только потому, что поле Field Order меняется. Повторные флаги могут быть частью нормальной cadence. Сначала нужно установить, что речь именно о нежелательных переходах доминирования полей, а не о штатной телесин-структуре.

Parse D2V

Parse D2V превращает внутренние данные проекта в более читаемый текстовый анализ и открывает его в системном редакторе. Для проекта movie.d2v создаётся файл вида movie.parse.txt. Он полезен, когда нужно увидеть структуру GOP, поле/кадр, влияние Field Operation и другие признаки без ручного декодирования шестнадцатеричных flags.

Обычному пользователю Parse D2V не нужен для создания AVS. Это диагностический инструмент для понимания того, почему конкретный участок ведёт себя необычно. Особенно полезен он при гибридном pulldown, переходах field order и сравнении двух вариантов D2V, созданных с разными Field Operation.

Командная строка DGIndex

DGIndex поддерживает автоматизацию через CLI. Это удобно для больших библиотек DVD-архивов, повторяемых тестов и интеграции в скрипты. Есть традиционный синтаксис с параметрами вида -IF=, -OF= и более привычный Unix-style вариант с -i, -o, -fo, -om. Если в командной строке присутствует знак =, используется legacy parsing; без него — Unix-style parsing.

CLI не создаёт новый набор возможностей — он автоматизирует те же решения, что доступны в GUI. Поэтому перед пакетной индексацией лучше один раз проверить типичный файл вручную: выбрать Field Operation, понять audio ID/PID и убедиться, что D2V корректно открывается. Ошибка в параметре, размноженная на сотни файлов, стоит дороже нескольких минут ручной проверки.

Unix-styleНазначениеЭквивалент в интерфейсе
-iВходной файл или список файловFile → Open / File List
-aiАвтодобавление последовательных файловАвтосбор последовательности
-oИмя проекта без расширенияSave Project
-odD2V плюс demux videoSave Project and Demux Video
-rgДиапазон проекта по file/offsetМетки [ и ]
-apAudio PIDStream → Set PIDs
-vpVideo PIDStream → Set PIDs
-ppPCR PIDStream → Set PIDs
-iaiDCT AlgorithmVideo → iDCT Algorithm
-foField OperationVideo → Field Operation
-yrYUV→RGB scaleVideo → YUV→RGB
-tnAudio track/audio IDAudio → Select Track(s)
-omAudio Output MethodAudio → Output Method
-drcDRC для AC‑3→WAVDolby Digital Decode
-dsdDolby Surround downmixDolby Surround Downmix
-dsa48→44,1 кГцAudio → 48→44.1KHz
-atAVS templateOptions → AVS Template
-previewКороткий Preview для логаPreview
-minimizeРабота в свёрнутом состоянииАвтоматизация
-hideСкрытая работаАвтоматизация
-exitВыход после операцииЗавершение batch-задачи

Для -fo значения соответствуют режимам: 0 — Honor Pulldown Flags, 1 — Force Film, 2 — Ignore Pulldown Flags. Для -om: 0 — без аудиовывода, 1 — Demux Tracks, 2 — Demux All Tracks, 3 — Decode AC3 to WAV. Такие числа удобно хранить в скрипте рядом с комментариями, иначе через несколько месяцев команда становится нечитаемой.

Ключ -preview можно сочетать с Enable Info Log, чтобы получить log характеристик входа без ручного открытия панели. Это подходит для предварительной классификации коллекции: определить размеры, frame rate, audio ID и другие поля, а затем уже решить, какие файлы требуют Force Film, специальных PID или ручной диагностики.

Если имена содержат пробелы, их нужно корректно заключать в кавычки. Unix-style parsing лучше переносит современные пути, чем старый синтаксис с квадратными скобками, однако при существующем legacy batch нет необходимости переписывать всё только ради стиля — оба варианта предназначены для автоматизации.

Практический сценарий: DVD VOB в D2V

Для DVD-задачи сначала выбирают последовательность VTS_XX_1.VOB, VTS_XX_2.VOB и далее, относящуюся к нужному title set. Нулевой VOB часто содержит меню и служебные данные, поэтому механически добавлять все VOB из VIDEO_TS не следует. DGIndex не читает навигационную структуру как authoring-программа: пользователь отвечает за правильный набор.

После Open проверяют File List и порядок частей. Затем запускают Preview на характерном участке. Для NTSC смотрят Video Type и cadence, для PAL — frame rate и реальное наличие интерлейса. Field Operation оставляют Honor Pulldown Flags, пока нет уверенного основания для Force Film.

В Audio выбирают Demux All Tracks, если требуется получить все дорожки, или Demux Tracks и нужные audio ID, если достаточно конкретного звука. Для последующей обработки исходного Dolby Digital предпочтительнее demux AC‑3 без WAV-декодирования. После этого Save Project создаёт D2V и аудиофайлы.

В AviSynth D2V открывают через DGDecode. Если нужно удалить телесин, а Force Film не использовался из-за гибридного материала, IVTC выполняют фильтрами в скрипте. Такой подход сохраняет D2V максимально нейтральным и позволяет менять обработку без повторной индексации, пока исходные файлы и базовые параметры проекта остаются теми же.

Если нужны только несколько секунд исходного MPEG для анализа, задают диапазон по I‑кадрам и используют Save Project and Demux Video. Получившийся .m2v будет без аудио; звук при необходимости демультиплексируется отдельно. Это важное свойство: elementary video stream нельзя ожидать воспроизвести со звуком как обычный MPG.

Практический сценарий: запись DVB/HDTV в TS

Для вещательного TS после открытия в первую очередь проверяют Stream → Detect PIDs: PAT/PMT. Если список программ найден, выбирают нужный Video PID и нужный Audio PID. Только после этого имеет смысл оценивать картинку и звук. Иначе DGIndex может анализировать первый попавшийся поток, а пользователь будет пытаться исправить неверное разрешение настройками, хотя выбран другой канал.

Если PAT/PMT отсутствуют, запускают Raw detection. Полезно ориентироваться на типы потоков и смотреть, появляется ли осмысленная картинка после назначения Video PID. Для Audio PID можно переключать кандидаты и проверять Information Panel. PCR выбирают, когда нужен timestamp-анализ; для простого D2V он обычно не является первым параметром, который следует менять.

Transport stream из эфира может содержать discontinuity, ошибки пакетов и скачки PTS. DGIndex старается продолжать декодирование, но D2V не способен физически восстановить потерянные MPEG-данные. Если в одном месте есть битые макроблоки и Information Panel фиксирует ошибки, это уже свойство записи. Отдельный remux/repair иногда помогает структуре контейнера, но не возвращает отсутствующие блоки изображения.

При M2TS с MPEG‑2 HD полезно сравнивать Frame Size и Display Size. Кодированная высота может быть 1088, тогда как отображаемая — 1080. Не нужно автоматически вырезать восемь строк, не понимая, как декодер и последующая система уже интерпретируют display size. Проверяйте реальный кадр после DGDecode.

Практический сценарий: извлечение аудиодорожек

Если цель — получить оригинальные AC‑3/DTS/MPA/AAC/LPCM из VOB/MPG, выбирают Demux Tracks или Demux All Tracks и сохраняют проект. Demux предпочтительнее декодирования, когда нужно сохранить исходный битовый поток: не меняются кодек, канальная конфигурация и динамический диапазон.

Имя с DELAY сохраняют до этапа mux. Если финальный контейнер или редактор умеет задавать смещение аудио, используют это число. Если звук декодируется в WAV и затем обрабатывается в AviSynth, можно применять эквивалентную задержку в скрипте. Важно соблюдать знак: отрицательная и положительная задержка требуют противоположного направления сдвига.

Для LPCM из некоторых транспортных источников результат может быть сырым PCM, который нужно затем упаковать в WAV подходящим аудиоинструментом. Не следует переименовывать raw PCM в .wav и ожидать корректного заголовка — контейнер WAV содержит служебное описание формата.

Практический сценарий: короткий MPEG-фрагмент без перекодирования

DGIndex удобен для подготовки диагностического образца из большого VOB или MPG. Откройте источник, перейдите на I‑кадр перед проблемой, установите начало, затем на I‑кадр после проблемы и поставьте конец. Команда Save Project and Demux Video создаст elementary video stream выбранной области без повторного MPEG‑кодирования.

Ограничение — GOP-гранулярность. Если артефакт находится в одном B‑кадре, нельзя гарантировать, что .m2v начнётся ровно с него. Для воспроизводимого образца это даже полезно: декодер получает необходимые опорные кадры, а не обрезанный зависимый кадр без контекста.

Если образец предназначен для обмена, не забывайте, что .m2v не содержит звук. При проблеме A/V sync лучше приложить исходный небольшой program/transport segment, созданный специализированным cutter, либо сохранить соответствующий аудиопоток и указать delay. DGIndex сам не ремультиплексирует демультиплексированные потоки обратно в MPG.

Что DGIndex не делает

DGIndex не является универсальным видеоконвертером. Он не предлагает выбор H.264/H.265/AV1, CRF, bitrate pass, preset, profile современных кодеков или готовые профили устройств. Если конечная задача — получить MP4 для телефона, DGIndex может быть только источниковым этапом для MPEG‑2, а собственно кодирование выполняет другой инструмент.

Программа не является нелинейным редактором. Она задаёт один диапазон и двигается по I‑кадрам для границ проекта, но не имеет многодорожечного таймлайна, переходов, титров, нескольких точек монтажа и smart rendering произвольной последовательности. Для монтажа DVD/TS нужны специализированные MPEG-редакторы или NLE.

DGIndex не занимается расшифровкой защищённых DVD. Если VOB зашифрован, сначала должен существовать легально доступный расшифрованный MPEG-источник. Сам индексатор работает с данными, которые может прочитать как MPEG.

Он также не исправляет физически повреждённый поток. Force Open GOPs меняет интерпретацию GOP в D2V, Fix D2V корректирует флаги порядка полей, PID-инструменты помогают выбрать правильную программу, но ни одна из этих функций не восстанавливает утраченные TS-пакеты или отсутствующие reference frames.

Типичные ошибки и их решения

DGDecode сообщает, что D2V несовместим

Проверьте, какой DGDecode.dll реально загружает AviSynth/VapourSynth. Частая ситуация — новый файл лежит рядом со скриптом, но в общей папке plugins остаётся другой экземпляр, который подхватывается автоматически. D2V содержит идентификатор формата и ожидает совместимый декодер. Обходить проверку ручным редактированием заголовка не нужно.

После перемещения папки D2V перестал открываться

Откройте D2V текстовым редактором и посмотрите верхние строки со списком источников. Если там абсолютный путь на старый диск, верните исходники или исправьте путь; для дальнейших проектов рассмотрите Use Full Paths = off и относительную структуру каталогов. Если файл переименован, индекс сам его не найдёт.

Preview идёт без звука

Это нормальное поведение: Play и Preview в DGIndex показывают видео без аудио. Проверяйте Tracks в Information Panel и Audio Output Method. Наличие аудиодорожки подтверждается её обнаружением/демультиплексированием, а не звуком из окна просмотра.

В начале Play появляются блоки

После произвольного seek первые кадры могут не иметь полностью декодированного контекста. Перезапустите Preview немного раньше и посмотрите, исчезает ли артефакт при последовательном декодировании. Только если блоки устойчиво проявляются именно при random access через DGDecode, а поток неправильно помечает closed GOP, имеет смысл пробовать Force Open GOPs.

Сохранённый WAV звучит иначе, чем AC‑3

Проверьте, не включены ли DRC, Dolby Surround Downmix, 48→44.1KHz, Normalization или Pre-Scale. Decode AC3 Track to WAV неизбежно выполняет декодирование и стереосведение; это не битовая копия AC‑3. Для сохранения исходной дорожки используйте Demux.

Delay выглядит огромным

Не исправляйте число вслепую. Включите Log Timestamps, выполните Analyze Sync и посмотрите значения на нескольких I‑кадрах. Если скачок относится только к началу, сдвиньте старт проекта на следующую корректную GOP и пересчитайте. Если аномалия продолжается, вероятна проблема временной базы самого источника.

TS открывается чёрным экраном

Сбросьте Video/Audio PID в 0x02, заново откройте поток и запустите Detect PIDs: PAT/PMT. Если таблицы не найдены — Raw. Не выбирайте аудио PID как video. В многопрограммных потоках убедитесь, что оба PID относятся к одной программе.

Force Film дал неправильную скорость

Вернитесь к Honor Pulldown Flags и повторите Preview. Force Film применяют к подтверждённому film cadence, а не ко всему прогрессивно выглядящему MPEG. Для PAL 25 fps принудительный Film особенно часто является ошибочным выбором. Смешанный NTSC-material лучше обрабатывать IVTC-фильтрами после индексирования.

В AviSynth изображение уже обрезано

Проверьте Cropping Filter/Clipping в D2V. Если проект сохранялся с ненулевыми значениями, DGDecode может применить их на источнике. Либо пересоздайте D2V без Cropping, либо учитывайте уже выполненную обрезку и не добавляйте повторный Crop.

Файл D2V открывается, но source path неверный

Если список файлов в D2V был отредактирован, убедитесь, что порядок исходных частей остался тем же. Поменять только путь каталога безопаснее, чем переставить VOB местами. Index data ссылается на номера файлов и byte positions; несоответствие списка и данных делает проект логически неверным.

Нет нужной аудиодорожки в списке

Для transport stream проверьте Audio PID, а не только Select Track(s). Для нестандартного program stream попробуйте определить, относится ли источник к случаю Fusion-style audio. Если это обычный VOB, проверьте, действительно ли выбран правильный title set и содержит ли данный VOB нужный stream ID.

Ограничения, о которых важно знать заранее

Главное ограничение — область кодеков. DGIndex специализирован на MPEG‑1/2. Это достоинство для DVD и broadcast MPEG‑2, но плохой выбор как единый универсальный индексатор современной медиатеки. Для H.264/HEVC/AV1 понадобится другой source framework.

Второе ограничение — связь D2V с оригиналами. Проект не автономен: без исходных файлов видео из него восстановить нельзя. При архивировании нужно хранить MPEG вместе с D2V либо считать индекс расходным файлом, который можно пересоздать.

Третье — интерфейс ориентирован на техническую структуру MPEG. Термины RFF, TFF, PID, GOP, iDCT, program/transport stream и audio ID не спрятаны за автоматическим мастером. Для опытной обработки это плюс, но новичку требуется понимать, что именно меняет каждый параметр.

Четвёртое — один диапазон проекта. DGIndex не хранит EDL из множества кусков и не позволяет вырезать несколько рекламных блоков одной операцией. Такие задачи нужно переносить в скрипт, MPEG-редактор или монтажную программу.

Пятое — Preview не является полноценным плеером: нет звука, возможны временные артефакты после seek, масштаб HD может быть уменьшен. Его назначение — диагностика и выбор параметров, а не комфортный просмотр фильма.

Консервативные настройки для первого D2V

Если источник неизвестен и задача — сначала получить корректный нейтральный индекс, лучше не активировать специальные исправления заранее. Откройте файлы в правильном порядке, оставьте Field Operation в Honor Pulldown Flags, не меняйте Luminance/Cropping, отключите Force Open GOPs и выберите аудиовывод только по реальной необходимости. Затем Preview даст исходные признаки, на основании которых уже принимаются решения.

НастройкаРазумная отправная точкаМенять, когда
Field OperationHonor Pulldown FlagsFilm cadence подтверждён или требуется диагностический Ignore
iDCTПоддерживаемый быстрый вариантНужна конкретная воспроизводимость декодирования
Luminance Filter0 / 0Коррекция намеренно должна быть частью D2V
Cropping0 со всех сторонТочно известны границы, которые нужно убрать на source-этапе
Force Open GOPsOffПодтверждены random-access блоки из-за неверной маркировки GOP
Audio OutputDisable или DemuxНужен конкретный звук или AC‑3→WAV
48→44.1 kHzOffСледующий этап действительно требует 44,1 кГц
NormalizationOffНужен нормализованный WAV именно на этом этапе

Такой подход отделяет анализ от вмешательства. D2V легко пересоздать, но на длинном DVD/TS это всё равно время, а неправильный Force Film или скрытый Crop способен обнаружиться только после кодирования. Чем меньше необязательных преобразований выполняется в индексаторе, тем проще затем найти источник расхождения.

Как проверить готовый проект перед кодированием

После Save Project откройте D2V через тот же DGDecode, с которым планируется дальнейшая работа, и проверьте начало, середину и конец. В начале важны доступ к первой GOP и sync, в середине — стабильность cadence и field order, в конце — отсутствие неожиданного обрыва. Для многосегментного File List дополнительно проверьте стыки между исходными файлами.

Если проект использует Force Film, посмотрите участки с титрами, телеграфикой и монтажными вставками — именно там чаще обнаруживается Video material внутри film-потока. Если использовался Cropping, сравните размеры кадра с ожидаемыми. Если демультиплексирован звук, проверьте имя с DELAY и убедитесь, что выбран нужный язык/канальная конфигурация.

Отдельно полезно сохранить Info Log для проблемного источника. Если позднее результат изменится из-за другого D2V или другой настройки, лог поможет понять, что видел DGIndex на этапе индексирования: frame rate, video type, field order, bitrate и audio IDs. Это особенно ценно при редких DVD/TV-записях, которые нельзя легко получить повторно.

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

ПрограммаЛучше подходит дляГлавное ограничение
DGIndexТочного индексирования MPEG‑1/2, D2V, анализа pulldown и demux DVD/TSРаботает именно с MPEG‑1/2
D2VWitchКроссплатформенного создания D2V для MPEG‑1/2 и дальнейшего чтения через d2vsourceНет полноценного GUI-анализа уровня DGIndex
FFMS2 / ffmsindexУниверсального индексирования множества контейнеров и кодеков для AviSynth/VapourSynthДля VOB/TS точность seek зависит от демультиплексора и режима
L‑SMASH WorksЧтения и индексирования широкого набора современных форматов через LWLibavSourceНе создаёт классический DGIndex D2V
DVD2AVIПростых старых MPEG‑2/DVD-процессов, где уже построен workflow вокруг его D2VМеньше диагностических и исправляющих возможностей

Практический выбор определяется не универсальностью вообще, а следующим этапом. Если исходник — DVD/VOB, MPEG‑2 broadcast или TS с MPEG‑2, а дальше нужен DGDecode, DGIndex остаётся наиболее прямым вариантом: он понимает pulldown, PID, audio delay и структуру D2V именно в контексте MPEG‑1/2. Если в одной очереди лежат H.264, HEVC, MKV, MP4 и MPEG‑2, FFMS2 или L‑SMASH Works уменьшают число разных source-инструментов. D2VWitch удобен, когда нужен D2V в кроссплатформенном VapourSynth-процессе, но GUI-анализ и встроенный audio/video demux DGIndex там не являются центральной частью задачи.

DVD2AVI ближе всего к DGIndex по исторической логике открыть MPEG/VOB → создать D2V, однако при технически сложных потоках у DGIndex больше средств диагностики: PAT/PMT/Raw PID, Analyze Sync, Parse D2V, Force Open GOPs, логирование временных меток и расширенная информация. Поэтому возвращаться к DVD2AVI ради обычного D2V обычно имеет смысл только при жёсткой зависимости старого проекта от его поведения.

Когда DGIndex особенно уместен

Первый типичный случай — архив DVD. Исходный MPEG‑2 не хочется сначала пережимать в промежуточный AVI, но нужен точный доступ из AviSynth для deinterlace, IVTC, resize, denoise и последующего современного кодирования. D2V решает именно эту промежуточную задачу, сохраняя исходный битстрим нетронутым.

Второй — вещательные MPEG‑2 transport streams. Здесь помимо индекса важна возможность увидеть программы/PID и выбрать нужный поток, а также получить информацию о временных метках и синхронизации. Универсальный декодер может просто открыть первое видео, тогда как DGIndex позволяет явно зафиксировать выбор.

Третий — подготовка elementary stream для authoring или анализа. Save Project and Demux Video извлекает .m2v без повторной компрессии, одновременно оставляя D2V для проверки. При необходимости звук демультиплексируется рядом и сохраняется в исходном формате.

Четвёртый — диагностика telecine. Information Panel, Field Operation и Parse D2V дают достаточно данных, чтобы понять, где применяются RFF/TFF и почему один и тот же 29,97-fps MPEG может содержать film cadence, video material или смесь. DGIndex не выполняет сложный адаптивный IVTC сам, но хорошо подготавливает информацию для такого решения.

Когда лучше выбрать другой инструмент

Если исходник — H.264/AVC, HEVC, AV1, VP9 или обычный MKV/MP4 с современными кодеками, DGIndex не является подходящим универсальным индексатором. FFMS2 и L‑SMASH Works покрывают этот класс задач шире. Попытка сначала перекодировать современный файл в MPEG‑2 только ради DGIndex бессмысленно добавляет потерю качества.

Если нужна визуальная нарезка десятков эпизодов с точными покадровыми границами, лучше MPEG-редактор или NLE. DGIndex допускает один диапазон и строит проект вокруг GOP, поэтому его таймлайн предназначен для индексирования, а не для полноценного монтажа.

Если требуется только извлечь один поток из современного контейнера без D2V и без анализа pulldown, специализированный demuxer может быть проще. Сила DGIndex проявляется, когда demux связан с последующим точным MPEG‑декодированием и диагностикой структуры, а не сам по себе.

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

Можно ли открыть D2V как видеофайл?

D2V сам по себе не содержит видео. Его открывает source-декодер, например DGDecode, который по индексу читает оригинальные MPEG-файлы. Если исходники удалены, один D2V недостаточен для восстановления изображения.

Почему D2V очень маленький по сравнению с VOB?

Потому что в нём хранятся пути, настройки и индексные данные, а не сжатые кадры MPEG. Маленький размер — нормальное свойство проекта, а не признак незавершённого сохранения.

Можно ли перемещать исходные VOB после индексирования?

Можно, но ссылки в D2V должны остаться действительными. При абсолютных путях их придётся исправить или пересоздать проект. При относительных путях достаточно сохранить взаимное расположение каталогов.

Нужно ли всегда включать Force Film для NTSC DVD?

Нет. Force Film применяют, когда Preview подтверждает устойчивый film cadence почти на всём нужном диапазоне. Смешанный материал безопаснее индексировать с Honor Pulldown Flags и обрабатывать IVTC дальше.

Почему Preview молчит, хотя аудио найдено?

Так устроен DGIndex: Preview и Play предназначены для видеоанализа и не воспроизводят звук. Аудио проверяют по Information Panel и по результату demux/decode.

Нужно ли демультиплексировать видео для AviSynth?

Нет. Для DGDecode достаточно D2V и оригинальных MPEG-файлов. .m2v нужен только если его требует другой этап.

Можно ли получить все дорожки из TS одной командой?

Не так же, как из DVD program stream. В transport/PVA аудио выбирается через PID, и одновременно работа ориентируется на один аудиопоток. Для нескольких языков может потребоваться повторный проход с другим Audio PID или внешний TS-demuxer.

Чем Demux отличается от Decode AC3 to WAV?

Demux копирует исходный аудиобитстрим из контейнера. Decode расшифровывает AC‑3 в PCM WAV и может применять downmix, DRC, ресэмплинг и нормализацию. Если нужен оригинал без изменения, выбирают Demux.

Что означает AC3 3/2 в Information Panel?

Запись 3/2 описывает основные каналы: три фронтальных и два surround. LFE учитывается отдельно и не участвует в обычном стерео-downmix как полноценный канал. Поэтому обозначение отличается от бытового 5.1, хотя речь может идти о той же многоканальной программе.

Можно ли использовать D2V от DGIndex в любой программе?

Нет. D2V — специализированный индексный формат, и конкретный читатель должен поддерживать его версию и семантику. DGDecode рассчитан на проект DGIndex; другие инструменты могут иметь собственные D2V-парсеры, но совместимость следует проверять отдельно.

Почему кадр в окне выглядит растянутым?

DGIndex показывает кодированный frame size, а конечный display aspect может зависеть от aspect ratio и display size MPEG. Это особенно заметно у DVD с анаморфным 16:9: кодированные пиксели не обязаны быть квадратными.

Что делать, если Field Order меняется по ходу файла?

Сначала подтвердить, что это действительно нежелательные переходы, а не нормальное действие RFF. Для проекта с реальными TFF/BFF transitions существует Fix D2V, но исходный вариант сохраняют и результат обязательно сравнивают на движении.

Рабочая памятка для надёжного результата

  1. Соберите только те MPEG/VOB/TS части, которые действительно относятся к одному материалу, и проверьте порядок в File List.
  2. Для TS сначала определите Video/Audio PID, желательно через PAT/PMT, и только затем анализируйте параметры.
  3. Запустите Preview на достаточно длинном и характерном участке; не принимайте решение о Field Operation по одному кадру.
  4. Оставляйте Honor Pulldown Flags, если нет уверенного основания для Force Film.
  5. Не включайте Cropping, Luminance, Normalization и Force Open GOPs на всякий случай.
  6. Для сохранения оригинального звука используйте Demux; AC‑3→WAV выбирайте только когда PCM действительно нужен.
  7. Сохраняйте значение DELAY вместе с дорожкой и не переносите его между разными точками старта проекта без пересчёта.
  8. Для frameserving достаточно D2V: video demux не обязателен.
  9. Храните совместимый DGDecode рядом с проектом или контролируйте, какой экземпляр загружается системой скриптов.
  10. После индексирования проверяйте начало, стыки частей, середину и конец через реальный source-плагин, а не только окно DGIndex.

DGIndex наиболее полезен тогда, когда его используют как технический индексатор, анализатор MPEG и demuxer, а не пытаются превратить в универсальный конвертер. Правильный D2V сохраняет структуру исходного MPEG и передаёт следующему этапу точную информацию о кадрах, pulldown, диапазоне и параметрах декодирования; специальные фильтры и финальное кодирование при этом остаются в AviSynth, VapourSynth или выбранном кодировщике.

DGIndex.ini и настройки между запусками

Часть параметров DGIndex хранится не в D2V, а в DGIndex.ini. Это объясняет ситуацию, когда новый источник открывается уже с теми же PID, приоритетом, шаблоном AVS или служебными опциями, которые использовались раньше. INI удобен для постоянного рабочего профиля, но одновременно может переносить неуместную настройку с одного файла на другой. Особенно осторожно следует относиться к сохранённым transport PID: значения от предыдущего TS не обязаны соответствовать следующей записи.

К настройкам, которые могут сохраняться между сеансами, относятся выбранный iDCT, некоторые параметры Options, путь к AVS Template, Use Full Paths, Force Open GOPs, Fusion-style audio, Info Log и PID. Поэтому при неожиданном поведении полезно не только смотреть D2V, но и проверить текущее состояние меню. Простое закрытие и повторный запуск программы не гарантирует возврат к нейтральным значениям.

В INI также существуют служебные параметры, не вынесенные в основной интерфейс. Например, Use_MPA_Extensions определяет, будут ли MPEG-аудиофайлы получать универсальное расширение .mpa или расширение по слою — .mp1, .mp2, .mp3. Параметр уведомления после завершения Save Project определяет, будет ли окно выведено на передний план и/или подан звуковой сигнал. Эти опции не влияют на структуру D2V и качество декодирования.

Что хранитсяГде искатьПочему это важно
Пути и порядок исходных MPEGD2VОпределяют, откуда DGDecode берёт кадры
Field Operation, iDCT, ClippingD2VНепосредственно влияют на выдачу проекта
Выбранный диапазонD2VОграничивает часть исходника, доступную через проект
Audio Output MethodТекущее состояние/INI, не восстанавливается Load Project как видеопараметрПовторное сохранение может вывести другой набор аудио
AVS TemplateINIОпределяет автоматическое создание скрипта
Transport PIDINI и D2V для конкретного проектаСтарые PID могут быть неверны для нового TS
Use Full PathsINIВлияет на переносимость новых проектов

Если DGIndex начинает вести себя непредсказуемо после серии экспериментов, полезнее последовательно проверить текущие галочки и значения, чем сразу считать MPEG повреждённым. Для воспроизводимой пакетной работы ещё надёжнее задавать критичные параметры в командной строке: тогда результат меньше зависит от того, что было сохранено в INI предыдущим интерактивным запуском.

Как читать имя демультиплексированного аудиофайла

DGIndex старается включать в имя аудиовыхода данные, которые потребуются на следующем этапе: тип потока, идентификатор дорожки, конфигурацию каналов, битрейт и задержку. Например, запись с фрагментом AC3 T01 3_2ch 384Kbps DELAY -320ms сообщает, что это AC‑3, одна из обнаруженных дорожек, конфигурация основных каналов 3/2, битрейт 384 кбит/с и отрицательное смещение 320 мс.

Такое имя лучше временно сохранять без упрощения. Если сразу переименовать файл в audio.ac3, позже легко забыть знак и величину DELAY или перепутать дорожки с одинаковым кодеком. После того как аудио уже синхронизировано в финальном mux или значение явно записано в скрипт, техническое имя можно заменить более удобным.

Обозначение 3/2 не следует читать как в файле только пять каналов и потерян .1. Это техническая запись основных каналов; LFE рассматривается отдельно. При простом demux AC‑3 исходный битстрим сохраняется, тогда как при Decode AC3 to WAV DGIndex выполняет стереосведение и поведение LFE определяется правилами downmix.