GSpot

GSpot Codec Information Appliance помогает определить, чем на самом деле закодированы видео- и аудиопотоки в медиафайле, проверить наличие подходящих системных кодеков, увидеть параметры контейнера, частоту кадров, разрешение, битрейт и соотношение сторон, а для поддерживаемых форматов — проверить цепочку DirectShow-фильтров и структуру GOP. Программа особенно полезна при диагностике AVI, MPEG и VOB, когда файл не воспроизводится, идёт без звука, открывается не тем декодером или требует понять, какие именно фильтры Windows выбирает для его обработки.

Рабочая логика GSpot строится вокруг анализа уже существующего файла, а не его перекодирования. Пользователь открывает ролик через File → Open или перетаскивает его в окно, после чего сведения распределяются по блокам File, Container, User Data / Metadata, Audio, Video и Proposed Codec Solutions and Tests. Если проблема связана не с содержимым файла, а с конфигурацией Windows, в меню System можно просмотреть зарегистрированные кодеки и DirectShow-фильтры, их типы, merit, драйверные файлы и проблемные записи.

Наиболее сильная сторона утилиты — сочетание сведений о самом медиафайле с информацией о том, как этот файл пытается воспроизводить конкретная система. Поэтому одинаковый AVI может иметь одни и те же FourCC, размер кадра и битрейт на двух компьютерах, но разные результаты тестового рендеринга из-за другого набора сплиттеров, декодеров и их приоритетов. В современных контейнерах глубина анализа неодинакова: для AVI и MPEG инструменты заметно содержательнее, тогда как MOV, WMV, MP4 и особенно форматы, появившиеся или получившие распространение позднее, могут давать лишь часть сведений.

Скачать GSpot

Оценка 9.7Рекомендуем
  • Конвертация видео
  • Сжатие файлов
  • Просто для новичков
Скачать бесплатно на Windows
Лучшая альтернатива
GSpot
Оценка 8.5
  • Слабая поддержка MKV
  • Зависит от DirectShow
  • Нет монтажа и конвертации
Скачать GSpot
Загрузка начнётся после нажатия

Для каких задач нужен GSpot Codec Information Appliance

GSpot относится к диагностическим инструментам: он отвечает на вопросы что находится внутри файла, какой кодек должен это декодировать, зарегистрирован ли такой кодек в Windows и какую цепочку DirectShow реально собирает система. Это принципиально отличается от видеоредактора, конвертера или проигрывателя. Утилита может запустить тестовый граф и воспроизвести его для проверки, но её назначение — не смотреть фильмы и не менять кодирование, а локализовать источник проблемы.

Типичный случай — AVI открывается в одном проигрывателе и не открывается в другом. Расширение .avi сообщает только о контейнере, а внутри могут находиться потоки DivX, XviD, Motion JPEG, DV, MPEG-4 ASP и множество менее распространённых вариантов. GSpot читает идентификатор видеокомпрессии, показывает понятное название, затем сопоставляет его со своей таблицей кодов и с зарегистрированными в системе компонентами. Для звука аналогично отображается WaveFormatTag или распознанное имя формата, частота дискретизации, битрейт, число каналов и статус доступности декодера.

Вторая группа задач связана с MPEG-файлами и VOB. Здесь важны не только имя кодека и разрешение, но и фактическая частота кадров, поля, признаки progressive/interlaced, GOP, I/P/B-кадры, repeat-first-field и 3:2 pulldown. GSpot умеет показывать часть этих признаков в основном окне, а подробную картину строит подсистема Visual GOP Structure. Она не исправляет структуру потока, но позволяет понять, почему файл неудобно резать без перекодирования, где расположены ключевые кадры и как между кадрами проходят зависимости.

Третья группа — диагностика установленной мультимедийной среды Windows. Команда System → List Codecs and Other Filters выводит зарегистрированные VFW, ACM, DirectShow и DMO-компоненты. Для DirectShow особенно полезны имя фильтра, CLSID, merit и путь к драйверному файлу: эти данные помогают отличить отсутствие нужного декодера от ситуации, когда декодер есть, но проигрывание перехватывает другой фильтр с более высоким приоритетом.

Главное окно GSpot с данными MPEG-2, аудио и цепочкой кодеков

Как устроено главное окно

Главное окно GSpot выглядит плотным, потому что почти всё пространство отдано полям, индикаторам и диагностическим кнопкам. Слева расположены сведения о файле, контейнере, пользовательских RIFF-полях и аудиопотоке; справа — видеоданные; снизу — тесты кодеков и DirectShow. Такой интерфейс рассчитан не на пошаговый мастер, а на одновременное сравнение параметров. При диагностике это удобно: например, можно сразу сопоставить FourCC, статус установленного декодера, частоту кадров, размер кадра и текст цепочки фильтров.

Поля снабжены всплывающими подсказками. Для ряда коротких обозначений это важнее, чем кажется: в видеоблоке встречаются сокращения, рассчитанные на пользователя, знакомого с MPEG-терминами. Наведение мыши позволяет расшифровать назначение конкретного индикатора — например, поле максимального числа последовательных B-кадров. В подсистеме VGS справка вынесена ещё и в кликабельные ссылки i и base key, открывающие пояснения к цветам, группировке и оверлеям.

Меню состоит из пунктов File, System, Options, Tables и Help. Для базовой работы достаточно первых двух: через File открывают файл и используют операции, связанные с его анализом и выводом информации, а через System исследуют зарегистрированные мультимедийные компоненты Windows. Options содержит настройки поведения анализа, включая полный проход по файлу, а Tables даёт доступ к справочным таблицам известных аудио- и видеокодов.

Цветовая индикация служит не украшением, а способом быстро выделять статус. Зелёные поля обычно означают нормальное распознавание или наличие подходящего компонента, красные — проблему, жёлтые или нейтральные состояния требуют чтения текста рядом. Полагаться только на цвет не следует: сообщение Codec Status Undetermined не равно кодек отсутствует, а зелёная надпись Codec(s) are Installed ещё не гарантирует, что выбранный проигрыватель построит тот же граф и воспроизведёт файл корректно.

Открытие файла и первый диагностический проход

Самый надёжный способ начать — File → Open и выбор проблемного файла. Поддерживается также перетаскивание мышью, а для привычных сценариев Windows можно использовать передачу файла через Send To. После открытия GSpot считывает заголовки и, где это предусмотрено форматом, выполняет дополнительный анализ. Если включён полный скан, программа может пройти заметную часть или весь поток, поэтому на большом или повреждённом MPEG ожидание будет длиннее, чем у простой утилиты, читающей только первые килобайты.

Сначала имеет смысл смотреть не на строку Codec, а на сочетание трёх блоков: Container, Video и Audio. Container отвечает на вопрос, действительно ли файл похож на тот формат, который обещает расширение, и нет ли явной структурной ошибки. Video показывает фактический тип компрессии и параметры изображения. Audio даёт аналогичную информацию о звуке. Если один из потоков отсутствует, это тоже видно сразу: не нужно предполагать, что пропал звук из-за кодека, когда звуковой дорожки в файле вообще нет.

Затем проверяют статусы кодеков. Для хорошо распознаваемого AVI GSpot способен сообщить, что подходящий видеокодек или аудиокодек зарегистрирован. Если статус отрицательный, сначала фиксируют точное имя и код формата, а уже потом решают, какой декодер нужен. Практика установки случайного codec pack поверх существующей конфигурации часто усложняет диагностику: появляется несколько фильтров для одного типа потока, меняются merit и приоритеты, а исходная причина становится менее очевидной.

Если формально всё установлено, переходят к нижней панели Proposed Codec Solutions and Tests. Кнопка первого уровня в группе MS A/V заставляет Windows построить DirectShow-граф для файла. В текстовом поле появляется последовательность Source/Splitter/Decoder/Renderer. Кнопка следующего уровня может запустить построенный граф для практической проверки. Так можно отличить ситуацию декодер зарегистрирован от ситуации граф действительно собирается и выдаёт изображение и звук.

GSpot анализирует MP4 с H.264/AVC и AAC и показывает неопределённый статус кодеков

Что означает Codec Status Undetermined

Статус Undetermined следует читать буквально: GSpot не смог надёжно сделать вывод о доступности декодера для данного потока своим обычным способом. Это часто встречается там, где контейнер или поток поддерживается менее полно, чем классический AVI. Такой статус нельзя автоматически превращать в рекомендацию устанавливать новый кодек. Правильный следующий шаг — попробовать тест MS A/V и посмотреть, способен ли DirectShow построить цепочку.

Хороший пример — MP4 с H.264/AVC и AAC. GSpot может корректно распознать контейнер, марку ftyp, видеокодек AVC и аудиокодек AAC, но при этом оставить статус неопределённым. Если DirectShow-тест строит граф через подходящий splitter и ffdshow или другой H.264-декодер, файл фактически декодируется этой системой. Если же рендеринг завершается ошибкой, диагностическая ценность статуса повышается: теперь есть конкретный код ошибки или отсутствующая ступень графа.

Блок File: путь, размер и базовые признаки файла

В секции File показывается путь к открытому объекту, размер и служебный счётчик, если анализ связан с несколькими элементами. Путь полезен не только для идентификации: при работе с копиями одного ролика легко открыть не тот файл, особенно если названия совпадают. Размер помогает проверить, действительно ли сравниваются одинаковые версии, а также косвенно обнаружить явно обрезанную загрузку, когда ожидаемый многосотмегабайтный ролик занимает несколько мегабайт.

GSpot умеет распознавать повреждения, связанные с неправильной длиной или усечением, прежде всего в AVI. Сообщение File Length Correct означает, что заявленная структура и фактическая длина не противоречат друг другу в проверяемых местах. Обратное сообщение — повод сначала проверить целостность копирования или загрузки, а не искать новый кодек. Декодер не восстановит отсутствующий хвост файла и не исправит разрушенный индекс сам по себе.

Для файлов с несколькими логическими частями или нестандартными RIFF-структурами одной надписи о длине недостаточно. Смысл блока File — дать контекст; собственно структурные детали переходят в Container. Если контейнер сообщает об OpenDML, interleave, числе потоков или иных особенностях, эти данные имеют большее диагностическое значение, чем расширение имени.

Container: что можно узнать о контейнере

Секция Container — один из самых полезных элементов GSpot при работе с AVI. Здесь показываются вариант RIFF/AVI, сведения об OpenDML, interleave, наличие и взаимное расположение аудио- и видеоданных, доля видеопотока, предупреждения о длине и другие структурные признаки. Именно по этим сообщениям можно понять, что проблема относится не к H.263, XviD или MP3 как таковым, а к тому, как потоки упакованы.

Параметр interleave важен, когда звук заикается, отстаёт, слишком редко чередуется с видео или проигрыватель делает длинные обращения к диску. GSpot показывает интервал чередования в миллисекундах и/или кадрах для поддерживаемых AVI. Наличие OpenDML помогает распознать расширенный вариант AVI, применяемый для больших файлов и дополнительной индексации. Эти сведения особенно полезны при диагностике файлов, созданных VirtualDub, VirtualDubMod, старыми картами захвата и аппаратными видеорекордерами.

В MPEG/VOB блок имеет другой характер. GSpot может показать, что перед ним MPEG Program Stream или DVD VOB, число найденных видео- и аудиопотоков, системный битрейт и тип контейнера. Это не заменяет профессиональный анализатор транспортного потока, но быстро отвечает на практические вопросы: действительно ли файл является DVD-совместимым VOB, присутствует ли звуковая дорожка и какой тип MPEG-видео обнаружен.

Для MOV, WMV и ряда прочих форматов следует учитывать различную глубину разбора. Утилита умеет распознавать их и извлекать часть полей, однако не все контейнерные структуры представлены с той же подробностью, что AVI. Поэтому пустое поле не нужно интерпретировать как доказательство отсутствия параметра в исходном файле: иногда это просто граница парсера GSpot.

User Data / Metadata: RIFF-теги и скрытые строки

В блоке User Data / Metadata отображаются текстовые поля, найденные в контейнере. Для AVI это могут быть стандартные RIFF INFO-теги вроде названия, автора, программного обеспечения и комментариев, а также повторяющиеся USER-строки, оставленные кодером или программой обработки. В старых MPEG-4 AVI по таким строкам нередко можно определить семейство или сборку XviD/DivX, которой был создан поток, даже если внешне файл ничем не отличается от другого AVI.

GSpot способен показывать hidden ASCII — текстовые последовательности, обнаруженные в структурных областях файла. Это полезно как вспомогательная улика: там могут встречаться имя приложения, версия кодера, подписи служебных блоков или иные строки. Их нельзя считать абсолютно достоверной метаданной. Любая программа могла записать произвольный текст, а файл мог быть затем перемультиплексирован. Поэтому такие строки следует сопоставлять с FourCC, контейнером и реальными признаками потока.

Для RIFF-информации предусмотрено редактирование текстовых полей. Эта возможность не превращает GSpot в теговый редактор общего назначения: речь идёт именно о совместимых RIFF-метаданных, а не о произвольном наборе тегов MP4/MOV/MKV. Изменение заголовочных строк также не перекодирует видео и не исправляет проблемы декодирования. Если задача — только понять происхождение AVI, сначала лучше сохранить исходные значения, а править метаданные уже после диагностики.

Video: идентификатор кодека и имя формата

В верхней части видеоблока находятся поля Codec и Name. Для AVI поле Codec обычно отражает FourCC — четырёхсимвольный идентификатор компрессии, например XVID, DIVX, DX50, MJPG или иной код. Name — расшифрованное название по внутренней базе GSpot. Сопоставление полезно, потому что одно семейство кодеков может использовать несколько FourCC, а одно и то же устройство воспроизведения иногда принимает только определённый набор идентификаторов.

Нельзя путать FourCC с расширением. .avi не означает DivX, а .mp4 не означает H.264: контейнер и кодек — разные уровни. Именно это различие объясняет множество случаев, когда телевизор поддерживает AVI, но конкретный AVI не играет. GSpot позволяет увидеть не рекламное название контейнера, а фактический код видеопотока и затем сравнить его с техническими ограничениями устройства.

Для MPEG-4 ASP дополнительно могут отображаться признаки NVOP/PVOP/BVOP, GMC, QPel и другие флаги. Они важны для старых аппаратных DivX/XviD-плееров: устройство могло формально принимать MPEG-4, но не поддерживать Global Motion Compensation, Quarter Pixel или большое число B-кадров. GSpot не сертифицирует совместимость устройства, однако предоставляет именно те признаки, которые можно сверить с его документацией.

GSpot показывает XviD AVI с AC-3, параметрами потока и признаками MPEG-4

Статус установленного видеокодека

Строка Status сообщает результат сопоставления с мультимедийной подсистемой Windows. Codec(s) are Installed означает, что система содержит подходящий зарегистрированный компонент. Codec(s) are NOT Installed — что GSpot не нашёл соответствующего декодера. Это полезный первый фильтр, но не окончательный тест. В Windows воспроизведение зависит не только от decoder, но и от source filter, splitter, renderer, преобразователей цветового пространства и иногда сторонних фильтров, вставляющихся в граф.

Если кодек отсутствует, записывают точный FourCC и Name. Для Motion JPEG, например, GSpot может вывести mjpg и Motion JPEG. После установки подходящего компонента программу желательно закрыть и запустить снова, чтобы перечень системных фильтров перечитался. Если статус изменился на положительный, но проблема не исчезла, переходят к тестовому графу.

GSpot сообщает об отсутствующем DivX 3 Low-Motion видеокодеке

Параметры времени, кадров и битрейта

Блок с Len, Frms, kbps и Qf сводит базовые характеристики видеопотока. Len — длительность, Frms — число кадров в рамках доступного анализа, kbps — средний или вычисленный видеобитрейт, Qf — дополнительный расчётный показатель плотности потока, который удобнее использовать только для сравнения похожих файлов. Сам по себе Qf не является универсальной оценкой качества: разные кодеки, типы изображения, разрешения и настройки компрессии делают такое сравнение некорректным.

Ниже находятся Pics/s, Frames/s и Fields/s. В прогрессивном материале эти числа могут совпадать или логически сводиться к одной частоте. В чересстрочном MPEG-2 и материале с pulldown они расходятся: исходные картинки, отображаемые кадры и поля имеют разную частоту. Именно поэтому простое утверждение у файла 29,97 fps не всегда описывает реальную структуру.

Для DVD-видео типична ситуация, когда поток кодируется как 23,976 pictures per second, а при воспроизведении формируется 29,970 frames per second и около 59,94 fields per second. GSpot показывает эти значения рядом, а VGS может визуализировать повтор полей. Это помогает отличить истинный 29,97i от 23,976p с 3:2 pulldown и принять корректное решение при деинтерлейсе, inverse telecine или подготовке к монтажу.

При подозрении на неправильную длительность нужно сопоставлять Len, Frms и частоту кадров с Container. Если заголовок заявляет одно, индекс повреждён, а фактический поток обрывается раньше, отдельные числа могут быть вычислены по разным источникам. GSpot полезен именно тем, что показывает несколько независимых признаков, а не выдаёт одну магическую оценку целостности.

Размер кадра и соотношение сторон

В секции размеров отображаются Pic (w × h), иногда размер из sequence extension, а также SAR, PAR и DAR. В терминологии интерфейса эти величины помогают разделить размер хранимого кадра, пропорции пикселя и итоговое соотношение сторон при показе. Особенно важно это для DVD и другого стандартного видео, где 720×576 или 720×480 не означает квадратный пиксель и само по себе не определяет, должно изображение выглядеть как 4:3 или 16:9.

Например, PAL DVD хранит 720×576, но дисплейное соотношение задаётся параметрами MPEG и может быть 4:3 или 16:9. Если без учёта PAR растянуть 720×576 как есть, лица окажутся слишком узкими или широкими. GSpot выводит вычисленные отношения рядом, что удобно для проверки файла перед перекодированием в формат с квадратными пикселями.

Под основными полями есть область Resizing с кнопками целевых форматов вроде AVI, VCD, SVCD, DVD и CVD, а также вариантами 4:3 и 16:9. Это расчётный помощник, а не модуль перекодирования. Он подсказывает геометрию, но не создаёт новый файл. Фактическое масштабирование нужно выполнять в энкодере или видеоредакторе, отдельно контролируя фильтр ресайза, crop и способ обработки полей.

При сравнении с требованиями телевизора или портативного плеера сначала смотрят на исходный размер кадра, затем на FourCC, GMC/QPel/B-frames, битрейт и частоту. Совместимость редко определяется одним параметром. Устройство может принять XviD 640×352 и отклонить XviD 1280×720, даже если GSpot одинаково распознаёт кодек в обоих файлах.

Audio: код формата, частота, каналы и битрейт

Аудиоблок построен проще видеоблока, но для практической диагностики часто оказывается решающим. Поле Codec показывает код аудиоформата или его идентификатор, рядом выводится имя. Далее встречаются индикаторы CBR и VBR, а строка Info содержит частоту дискретизации, общий битрейт, число каналов и расположение каналов в той мере, в какой GSpot умеет это определить.

Если видео показывается, а звука нет, первым делом проверяют, существует ли аудиопоток и какой у него статус. Для AVI часто встречаются MP3, AC-3 и PCM; для MP4 — AAC; в DVD VOB типичны AC-3, MPEG Layer II, PCM и иногда DTS. GSpot распознаёт AAC, AC3, DTS и ряд других форматов, однако способность назвать формат и способность DirectShow его декодировать — разные вещи. Поэтому после идентификации нужен тест MS A/V.

Частота дискретизации важна и при подготовке к стандартам. Например, 44,1 кГц может нормально воспроизводиться на компьютере, но не соответствовать требованиям DVD-Video, где для основных аудиоформатов обычно используется 48 кГц. GSpot не преобразует 44,1 в 48 кГц, зато быстро показывает несоответствие, после чего ресемплинг выполняют в другом инструменте.

Индикаторы CBR/VBR помогают объяснить расхождение между мгновенной и средней нагрузкой, но не следует делать из них вывод о качестве. VBR у MP3 или другого формата означает изменяемую скорость потока, а не лучше или хуже. Для синхронизации важнее корректность таймстампов, interleave и обработка контейнера.

Proposed Codec Solutions and Tests: как читать нижнюю панель

Название Proposed Codec Solutions and Tests может создать впечатление, будто GSpot автоматически предложит скачать нужный компонент. На практике основная ценность панели — диагностические попытки рендеринга. Слева расположены группы GSpot Vid, GSpot Aud и MS A/V. Возможность отдельных тестов зависит от типа файла; для некоторых потоков сама программа прямо предлагает использовать системный MS A/V, потому что внутренний вариант рендера к этому типу не применяется.

Кнопка 1 в колонке MS A/V просит DirectShow построить граф. Если всё получилось, в поле справа появляется сообщение о render OK и список фильтров. Простейшая видеочасть AVI выглядит логически как Source → AVI Splitter → Video Decoder → Video Renderer, аудиочасть — как Source → AVI Splitter → Audio Decoder → Audio Renderer. Конкретные названия зависят от установленных компонентов и их merit.

Кнопка 2 используется для проигрывания собранного графа в тестовой области. Это важное различие: первая проверка показывает, что граф вообще можно построить, вторая — что он способен реально работать. Если граф строится, но при запуске нет изображения, сбой может происходить в renderer, color space converter, аппаратном ускорении или самом decoder. Если не строится уже первый шаг, текст ошибки обычно сужает круг поиска.

Результат GSpot нельзя переносить на любой проигрыватель один к одному. Windows Media Player и другие DirectShow-приложения часто используют похожий механизм, но VLC, MPlayer и современные плееры могут применять собственные встроенные декодеры. Поэтому файл способен без проблем играть в VLC, а GSpot при этом показывает отсутствие системного кодека. Это не противоречие: речь идёт о разных цепочках декодирования.

Как читать цепочку фильтров

В строках графа удобно искать четыре роли: источник, splitter/demuxer, decoder и renderer. Source Filter получает байты файла. Splitter разбирает контейнер и выделяет отдельные потоки. Decoder преобразует сжатые данные в несжатое видео или аудио. Renderer выводит картинку и звук. Между ними могут появляться дополнительные фильтры: преобразователь цветового пространства, аудиопроцессор, субтитровый фильтр, постобработка или сторонний компонент, который зарегистрирован для данного media type.

Если ожидается DivX Decoder Filter, а граф использует ffdshow MPEG-4 Video Decoder, это не обязательно ошибка. Но если задача — проверить работу именно DivX-декодера, GSpot показывает, что его перехватил другой фильтр. Тогда исследуют merit и настройки декодеров, а не переустанавливают файл. Аналогично, неожиданное присутствие старого splitter способно объяснить проблемы с seek, таймстампами или несколькими аудиодорожками.

При наведении на фильтры и через контекстные команды можно получить дополнительную информацию. Для DirectShow-фильтров с реализованной property page GSpot способен открыть штатное окно свойств. Это не собственные настройки GSpot: программа лишь вызывает интерфейс, предоставленный сторонним фильтром. Поэтому набор параметров отличается у XviD, ffdshow, 3ivx, аудиодекодеров и системных компонентов.

GSpot с тестовым графом и открытой страницей свойств XviD MPEG-4 Video Decoder

System → List Codecs and Other Filters

Команда System → List Codecs and Other Filters открывает отдельное окно со списком мультимедийных компонентов. Здесь встречаются типы DSH для DirectShow, VFW для Video for Windows, аудиокомпоненты ACM, DMO и служебные фильтры. Столбцы позволяют видеть формат или media type, имя, идентификатор, merit и драйверный файл. Для диагностики конфликтов это один из самых информативных экранов GSpot.

Строки раскрашиваются по роли и состоянию. В типичном списке отдельно различаются decoder, splitter, renderer, other и special, а проблемные записи выделяются красным. Красная строка может означать, что запись в реестре существует, но соответствующий файл отсутствует или компонент зарегистрирован некорректно. В таком случае установка ещё одного кодека редко помогает: сначала нужно понять, какой именно сломанный фильтр остаётся в системе.

Окно All Codecs and Filters в GSpot с красными проблемными фильтрами

Список можно сортировать по столбцам, что удобно при поиске конкретного имени или драйверного файла. Если известен FourCC или название decoder, достаточно найти совпадение; если проблема появилась после установки пакета кодеков, полезно отсортировать по driver file и увидеть, какие компоненты принадлежат одному набору. Merit показывает приоритет выбора DirectShow: фильтр с более высоким приоритетом может перехватывать поток у того decoder, который пользователь ожидал увидеть.

Контекстное меню строки содержит команды вроде Details, View Mediatypes и, где доступно, Property Sheet. Details открывает окно с типом, FourCC или форматом, Friendly Name, CLSID, Driver File, merit и диагностической строкой Problem. Такой экран удобно сохранять вместе с основным окном, когда требуется передать точные сведения специалисту.

Окно Filter Details в GSpot с путём к отсутствующему драйверному файлу

Экспертное управление регистрацией фильтров

В GSpot предусмотрен экспертный режим управления некоторыми фильтрами. Он включается через Options → Settings соответствующей настройкой codec management. После этого в контекстном меню списка могут появляться команды регистрации и снятия регистрации для компонентов, которые допускают такую операцию. Пользоваться ими нужно осторожно: unregister не удаляет файл с диска, но меняет доступность компонента для программ, использующих системную регистрацию.

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

После изменения регистрации список необходимо перечитать, а при существенных изменениях разумно перезапустить GSpot. В меню System также встречается команда перезагрузки данных фильтров. Цель — убедиться, что диагностическое состояние соответствует текущему реестру, а не кэшу, построенному при запуске.

Property Sheet: свойства DirectShow-фильтров

Property Sheet работает только для DirectShow-фильтров, разработчик которых реализовал соответствующую страницу свойств. Для VFW, ACM и DMO эта функция GSpot не применяется, а у многих DirectShow-компонентов пункт тоже будет неактивен. Поэтому серый пункт меню не означает неисправность — у фильтра просто нет такого интерфейса.

Открывать property page можно как из списка All Codecs and Filters, так и для фильтра, который уже появился в тестовом графе. Первый способ подходит для просмотра настроек без открытого медиафайла. Второй удобнее при диагностике: видно, что именно этот decoder или splitter сейчас участвует в рендеринге, и можно проверить его параметры в контексте проблемы.

У XviD, например, страница decoder может содержать постобработку, deblocking, deringing, выбор output colorspace и параметры aspect ratio. У ffdshow набор страниц намного шире и зависит от его конфигурации. GSpot не интерпретирует каждую настройку и не отвечает за результат изменения — это интерфейс соответствующего фильтра.

Список All Codecs and Filters в GSpot и открытая Property Sheet ffdshow

Property Sheet бывает полезна и для splitter. В официальных примерах GSpot показана страница 3ivx D4 Media Splitter с настройками обработки MOV/MP4 и frame accurate seeking. Такой случай хорошо демонстрирует назначение функции: проблема может быть не в видеодекодере, а в том, как контейнер разделяется на потоки. Тогда настройки splitter оказываются важнее параметров codec.

Даже системные MPEG-1-компоненты могут предоставлять собственные окна. Наличие страницы свойств не делает фильтр более подходящим для файла и не повышает его merit. Это всего лишь дополнительный канал диагностики. Главным критерием остаются корректный граф и фактическое воспроизведение.

Visual GOP Structure: для чего нужна VGS

Visual GOP Structure, или VGS, — наиболее специализированная функция GSpot. Она визуализирует структуру I-, P- и B-кадров в MPEG-1, MPEG-2, MPEG-4 и MPEG-видео внутри AVI, если формат поддерживается конкретным анализатором. В основном окне показывается краткая сводка: доля разных типов кадров, максимальная и средняя дистанция между I-кадрами, максимальное число последовательных B-кадров и признаки повторяющейся GOP-структуры. Кнопка с логотипом VGS открывает отдельное графическое окно.

Каждый прямоугольник в VGS соответствует кодированной picture, условно воспринимаемой как кадр. Цвет показывает тип: I-кадр, P-кадр, B-кадр или специальный S-VOP/GMC для некоторых MPEG-4 потоков. Дополнительные линии обозначают open/closed GOP, packed bitstream N-VOP и другие структурные признаки. Смысл визуализации не в красивой диаграмме, а в возможности увидеть регулярность, нарушения и зависимости, которые трудно понять по одной строке статистики.

Visual GOP Structure в GSpot и окно Base Key с расшифровкой типов кадров и GOP

Базовый ключ VGS

Ссылка base key открывает легенду. Она объясняет основные цвета picture types, группировку GOP/GOV, различие open и closed GOP, маркеры DivX 5 N-VOP в packed bitstream и признаки discontinuity. Такая легенда полезна перед любым серьёзным чтением VGS: один красный прямоугольник нельзя автоматически считать точкой безопасного монтажа, пока не понятны связи с соседними B/P-кадрами и границами GOP.

Для MPEG-4 ASP возможно присутствие фиолетовых S-VOP, связанных с GMC. В packed bitstream могут появляться тонкие вертикальные маркеры N-VOP. Эти элементы важны при проверке совместимости старых аппаратных проигрывателей. Некоторые из них не поддерживали packed bitstream или GMC, хотя формально воспроизводили XviD/DivX.

Layout Width: как увидеть повторяющийся GOP

Кнопка Layout Width подгоняет ширину визуального ряда к предполагаемой длине повторяющегося шаблона N. Если MPEG-2 имеет устойчивую структуру вроде IBBPBBP…, выравнивание строк по кратному N делает закономерность очевидной: I-кадры и группы оказываются в одних колонках. При обычной произвольной ширине тот же поток может казаться хаотичным только потому, что строки переносятся в неудобном месте.

VGS в GSpot с настройкой Layout Width для выявления повторяющейся структуры GOP

Функция не меняет анализируемый файл и не исправляет GOP. Она лишь управляет разметкой окна. Пользователь может добиться похожего эффекта ручным изменением размера, но автоматическая подгонка удобнее, когда GSpot уже вычислил вероятный период. Для MPEG-4, где ключевые кадры часто ставятся по смене сцены и строгого периода нет, такой режим менее показательен.

Presentation Order и Coded Order

B-кадры зависят как от предыдущих, так и от последующих опорных кадров, поэтому физический порядок кодирования может отличаться от порядка показа. Переключатель Presentation Order ↔ Coded Order позволяет рассмотреть оба представления. В presentation order кадры идут так, как зритель их видит; в coded order — в том порядке, в котором данные расположены для декодирования.

Это различие важно при анализе ошибок после грубого разрезания файла. Если отрезать поток в точке, где B-кадр ссылается на опорный кадр за границей нового фрагмента, первые кадры могут декодироваться неправильно. В presentation order зависимости не всегда очевидны, поэтому GSpot сочетает coded order с отдельным dependency overlay.

VGS в GSpot с переключением Presentation Order и Coded Order

Frame Number Overlay и позиция в ролике

Frame Number Overlay наносит на каждый цветной прямоугольник последнюю цифру номера кадра. Полный номер не помещается внутри маленького блока, поэтому при наведении курсора GSpot выводит его отдельно в верхней части окна вместе с типом picture и временной позицией. Это позволяет быстро связать аномалию в структуре с конкретным кадром и временным кодом.

VGS в GSpot с наложением номера кадра и отображением позиции во времени

Нумерация остаётся привязанной к привычному presentation order, даже когда визуальная раскладка переключена в coded order. Поэтому числа в coded view могут выглядеть непоследовательными. Это не ошибка счётчика: она как раз показывает реальное переставленное расположение B/P-кадров относительно порядка показа.

B-Frame Dependency Overlay и безопасные точки разреза

B-Frame Dependency Overlay рисует линии зависимостей между B-кадрами и опорными I/P-кадрами. В coded order особенно хорошо видно, какие элементы нельзя разорвать без потери ссылок. Официальная справка GSpot формулирует практический принцип: конец фрагмента следует выбирать там, где граница не пересекает линию зависимости; если к фрагменту затем присоединяется следующий, он должен начинаться с ключевого кадра.

VGS в GSpot с B-Frame Dependency Overlay и линиями зависимостей между кадрами

Closed GOP упрощает такую задачу, потому что зависимости не выходят за границу группы. Но и без closed GOP VGS помогает находить допустимые точки. Важно понимать роль программы: она показывает структуру, а не выполняет сам монтаж. Разрезать поток нужно инструментом, который умеет работать с данным контейнером и сохранять временные метки без повреждения.

Также нельзя переносить правила MPEG-2/ASP на любой современный кодек. VGS ориентирован на те структуры, которые умеет анализировать GSpot. Для H.264/AVC и особенно HEVC/AV1 требуются другие инструменты, если нужна полноценная картина ссылочных кадров и GOP.

Interlace / Field Info Overlay и pulldown

Для некоторых MPEG-2 доступен Interlace / Field Info Overlay. Он показывает, как поля формируют кадры, где применяется повтор поля и как выглядит 3:2 pulldown. В типичном NTSC DVD исходный материал 23,976p кодируется с флагами так, чтобы при телевизионном выводе получить примерно 29,97 кадров и 59,94 поля в секунду. VGS обозначает повторяемые верхние и нижние поля и помогает увидеть нарушение последовательности.

VGS в GSpot с Interlace and Field Info Overlay для MPEG-2 и 3:2 pulldown

Для PAL возможна другая картина: 25 кадров в секунду и 50 полей, часто без 3:2. Наличие interlace-флагов не всегда означает, что исходная картинка действительно была снята черезстрочно; MPEG-2 может содержать progressive material с полевым способом вывода. Поэтому интерпретацию нужно строить по совокупности Pics/s, Frames/s, Fields/s, progressive/interlaced индикаторов и VGS.

Этот оверлей полезен при inverse telecine и устранении гребёнки: он подсказывает, есть ли смысл восстанавливать исходные 23,976p или перед нами настоящий interlaced material. GSpot не выполняет IVTC и deinterlace, но позволяет не выбирать фильтр вслепую.

Поддерживаемые форматы и реальная глубина анализа

GSpot уверенно работает с задачами, ради которых он создавался: AVI, MPEG-1/2, VOB, DV и распространёнными аудио- и видеокодеками эпохи VFW/DirectShow. В перечне распознаваемых форматов присутствуют MPEG-1/2/4, DV1/2, MP4, MP3, H.263, H.264, FLV, AAC, AC3 и DTS. Для AVI внутренняя база содержит сотни идентификаторов видео- и аудиокомпрессии, что делает утилиту особенно полезной при встрече с редкими FourCC.

Поддержка контейнера не бинарна. Файл может быть распознан по сигнатуре и базовым полям, но не давать полного списка дорожек, профилей и современных расширений. MP4 анализируется лучше, чем простое чтение расширения: GSpot умеет определять ftyp и некоторые MPEG-4 характеристики. MOV и WMV также распознаются, но их поддержка не настолько полна, как AVI. Поэтому для глубокого анализа сложного MOV/WMV разумно дополнять результат другим инструментом.

Matroska/MKV не относится к сильным сторонам GSpot. На практике утилита может лишь ограниченно распознать такой файл или не дать нужных потоковых данных. Для MKV, WebM, HEVC, VP9, AV1, современных Dolby-профилей и контейнерных тегов предпочтительнее MediaInfo или ffprobe. Это не делает GSpot бесполезным: его уникальная ценность остаётся в системных DirectShow-фильтрах и VGS для старых форматов.

Форматы RealMedia, SWF и другие типы из большого списка базовой идентификации тоже следует воспринимать как может определить тип в большей степени, чем как обещание полноценной декомпозиции контейнера. Если задача требует всех дорожек, attachments, chapters, HDR-метаданных, mastering display или точных codec extradata, GSpot не предназначен для такого уровня.

AVI: наиболее содержательный сценарий

Для AVI программа раскрывает больше всего практической информации. Она показывает RIFF/AVI-структуру, OpenDML, интерлив, FourCC, версию или семейство кодера по известным сигнатурам, аудиоформат, частоты, битрейты, метаданные и статус системных компонентов. Именно поэтому GSpot до сих пор встречается в инструкциях по восстановлению старых архивов, оцифровок MiniDV, файлов с плат видеозахвата и коллекций DivX/XviD.

При проблеме есть звук, нет видео порядок действий простой. Сначала убедиться, что Container действительно AVI и длина корректна. Затем записать FourCC из Video. Если Status говорит, что кодек не установлен, найти подходящий decoder именно для этого FourCC. Если установлен, нажать MS A/V 1 и посмотреть граф. Когда decoder присутствует в графе, но renderer не выдаёт картинку, причина уже не сводится к отсутствию кодека.

При проблеме есть видео, нет звука аналогично изучается Audio. Иногда аудиоформат существует в системе, но splitter отдаёт поток с нестандартными параметрами или проигрыватель выбирает неподходящий processor. Присутствие AC3Filter, ffdshow Audio Decoder или другого элемента в графе сразу показывает, кто обрабатывает дорожку. Если цепочка заканчивается ошибкой до audio renderer, поиск нужно вести там.

Для файлов с рассинхронизацией смотрят interleave, VBR-аудио, длительность каждого потока и особенности OpenDML. GSpot не пересчитывает таймстампы и не строит новый индекс, но помогает понять, что именно требует последующего ремонта в VirtualDub-подобном инструменте или специализированном ремультиплексоре.

MPEG-1, MPEG-2 и VOB

В MPEG-файлах GSpot концентрируется на системном потоке, видеопараметрах и GOP. Для DVD VOB он способен распознать MPEG-2 video и тип аудио, показать системный битрейт, разрешение 720×480 или 720×576, display aspect ratio и признаки PAL/NTSC. Это удобно, когда файл формально имеет расширение MPG/VOB, но неизвестно, соответствует ли он типичной DVD-структуре.

У MPEG-2 особенно важны sequence extension, field order, progressive sequence/frame, repeat first field и частоты pictures/frames/fields. Неправильное чтение этих признаков приводит к ошибкам деинтерлейса: фильм 23,976p с pulldown можно испортить обычным deinterlace, а настоящий 29,97i — наоборот, нельзя просто отбросить поля. GSpot даёт диагностическую основу для выбора правильного процесса.

VGS позволяет увидеть длину GOP и распределение I/P/B. Длинный GOP экономит битрейт, но ухудшает произвольный доступ и усложняет точный разрез без перекодирования. Частые I-кадры облегчают seek и монтаж, но стоят битрейта. GSpot не оценивает, хорошо ли выбраны эти параметры, а показывает фактическую структуру, которую можно сравнить с требованиями проекта или устройства.

Если файл предназначен для DVD authoring, одной совместимости видео недостаточно. Нужно отдельно проверить аудио, допустимые частоты и битрейты, размер кадра, частоту и структуру программы. GSpot помогает заметить явные отклонения, но не является валидатором всех требований DVD-Video и не создаёт IFO/BUP.

MP4, H.264 и AAC: что можно и чего нельзя ожидать

GSpot способен распознавать MP4 и ftyp, идентифицировать H.264/AVC и AAC, отображать часть базовых параметров. На этом его возможности в современном MPEG-4 контейнере существенно уступают инструментам, которые продолжают развиваться вокруг ISO Base Media File Format. Не стоит ожидать подробного списка atoms/boxes, нескольких десятков дорожек, HDR, colour primaries, mastering metadata, Dolby Vision или современных профилей.

Практически полезный сценарий всё же существует: файл MP4 не играет в DirectShow-приложении. GSpot показывает AVC/AAC, затем MS A/V пытается построить системный граф. Если цепочка содержит MP4 splitter, H.264 decoder и audio decoder, можно проверить её кнопкой воспроизведения. Если GSpot пишет, что собственный тест для video type недоступен, это не означает невозможность системного рендера — нужно использовать MS A/V.

Для диагностики играет в VLC, не играет в старом редакторе GSpot также полезен как индикатор системной цепочки. VLC может декодировать файл встроенными библиотеками, тогда как редактор опирается на DirectShow. Если в системе отсутствует подходящий splitter или decoder, GSpot это покажет. Но если редактор использует собственный импортёр, GSpot не может гарантировать его поведение.

Проверка совместимости с аппаратным проигрывателем

Старые DVD/DivX-плееры часто декларировали поддержку AVI DivX/XviD, но имели набор скрытых ограничений: максимальное разрешение, уровень битрейта, число B-кадров, запрет GMC/QPel, определённый аудиоформат и требования к interleave. GSpot удобен тем, что большинство этих признаков показывает на одном экране. Можно открыть файл, который устройство воспроизводит, и файл, который отвергает, а затем сравнить параметры по пунктам.

Начинать следует с FourCC и размера кадра. Затем проверить BVOP, максимальное число последовательных B, QPel и GMC. После этого — частоту и аудио. Например, один XviD может содержать AC-3, другой MP3; устройство принимает только MP3 и выдаёт unsupported при AC-3. Или оба имеют MP3, но проблемный ролик использует 1280×720 вместо 640×352. Название контейнера в обоих случаях одинаково, поэтому без анализа легко обвинить не тот AVI в абстрактном смысле.

VGS добавляет возможность увидеть packed bitstream и структуру GOP. Для некоторых чипсетов packed bitstream был причиной рывков или несовместимости. Если документация устройства прямо ограничивает эти функции, GSpot помогает подтвердить их наличие. Если документация ничего не говорит, вывод строят только после сравнения нескольких заведомо рабочих и проблемных файлов — одна галочка сама по себе не доказывает причину.

Когда видео воспроизводится не тем декодером

Конфликт фильтров — классическая проблема старой DirectShow-среды. В системе одновременно могли быть DivX, XviD, ffdshow, Nero, CyberLink, ArcSoft, MainConcept, K-Lite и компоненты различных редакторов. Каждый регистрировал фильтры и media types. В результате AVI с XVID мог декодироваться не XviD Decoder, а ffdshow или коммерческим универсальным MPEG-4 decoder.

GSpot позволяет увидеть фактический выбор без гадания. Нажав MS A/V 1, пользователь получает цепочку. Если там нежелательный decoder, нужно выяснить, почему его выбрал DirectShow: merit, регистрация media type, настройки самого decoder или prefer внутри пакета. All Codecs and Filters показывает merit и драйверный файл, а Property Sheet — настройки, если фильтр их предоставляет.

Не следует сразу менять merit случайными утилитами. Сначала зафиксируйте рабочее состояние, выясните, какие приложения зависят от фильтра, и проверьте, не предусмотрен ли его собственный переключатель FourCC. ffdshow, например, позволял включать и выключать декодирование отдельных форматов. Отключение XviD внутри ffdshow часто безопаснее, чем глобальное снятие регистрации всего фильтра.

Если конкретный decoder падает, GSpot может перехватить сбой DirectShow и вывести предупреждение с предположительно виновным драйвером. Это важный диагностический сигнал: падение при попытке получить сведения о codec/filter означает повреждённую или конфликтующую компоненту, а не дефект самого AVI по умолчанию.

Проблемные кодеки и отсутствующие драйверные файлы

Красные строки в All Codecs and Filters требуют отдельного внимания. Один из типичных случаев — в реестре есть запись DirectShow, но DLL/AX/ACM-файл, на который она ссылается, удалён. GSpot показывает пометку File Missing и путь. Такой призрачный фильтр способен мешать рендерингу или как минимум засорять конфигурацию.

Другой вариант — компонент присутствует на диске, но его регистрация повреждена. Details помогает увидеть CLSID и driver file. Если проблема появилась после некорректного удаления программы, правильнее переустановить или корректно удалить именно этот пакет, чем вручную стирать DLL. Простое удаление файла без снятия регистрации как раз и создаёт красную File Missing запись.

GSpot не является автоматическим очистителем реестра. Его роль — показать факт и дать инструменты экспертного управления. Удаление или unregister имеет смысл только после понимания, что компонент не нужен. Системные Microsoft-фильтры, splitter и renderer лучше не трогать без конкретной причины.

Options → Settings и полный скан файла

В Options → Settings находятся параметры, влияющие на глубину анализа и экспертные функции. Практически важный переключатель — Enable Full File Scan When Possible (Default). При включённом полном скане GSpot получает дополнительные сведения из содержимого потока, но обработка большого или повреждённого файла может занимать заметное время.

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

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

Tables: встроенные справочники кодов

Меню Tables содержит таблицы аудио- и видеокодов. Они полезны, когда нужно расшифровать FourCC или WaveFormatTag независимо от открытого файла. В базе AVI у GSpot сотни записей: официальный перечень для рассматриваемого выпуска заявляет распознавание 719 видеокомпрессий и 245 аудиоформатов. Это особенно ценно для архивных AVI, где код выглядит как малоизвестные четыре символа, а сам decoder давно не используется.

Таблица не доказывает, что декодер установлен. Она лишь связывает идентификатор с известным названием и описанием. Установленные компоненты проверяются через Status и System → List Codecs and Other Filters. Поэтому ситуация код есть в Tables, но Codec(s) are NOT Installed совершенно нормальна: GSpot знает формат, однако Windows не содержит соответствующего decoder.

Обратный случай тоже возможен: в системе присутствует универсальный decoder, поддерживающий несколько FourCC, хотя отдельного кодека с таким названием пользователь не устанавливал. DirectShow-граф показывает реальную способность воспроизведения точнее, чем сравнение названий.

Копирование, текстовый вывод и многопользовательская диагностика

GSpot поддерживает копирование сведений и текстовый export с настраиваемым форматом. Это удобно, когда проблему обсуждают не на том компьютере, где находится файл. Вместо пересказа какой-то DivX можно передать FourCC, битрейт, размеры, аудиокод, статус, контейнер и цепочку фильтров. В списке кодеков отдельные строки и таблицу также можно копировать как текст через контекстное меню.

Скриншот остаётся полезным, потому что фиксирует цветовую индикацию и взаимное расположение полей, но текст удобнее для поиска по CLSID, имени driver file и ошибке DirectShow. Для обращения в техническую поддержку хорошая связка — снимок главного окна после анализа, текстовая цепочка MS A/V и Details подозрительного фильтра.

Заявленный multi-file/batch режим предназначен для последовательного анализа набора файлов, а не для массового изменения кодеков. Это соответствует общей философии GSpot: он извлекает сведения и формирует диагностический отчёт. Если нужно пакетно перекодировать сотни роликов, требуется другой инструмент.

Практический сценарий: файл не воспроизводится вообще

  1. Открыть файл через File → Open и проверить, появляется ли осмысленная информация в Container.
  2. Сопоставить расширение с фактическим контейнером. Если GSpot сообщает о другом типе или повреждении, сначала решить проблему файла.
  3. Проверить Video Codec/Name и Audio Codec/Info. Записать точные идентификаторы.
  4. Посмотреть Status обоих потоков. Отрицательный статус указывает на отсутствие подходящего зарегистрированного компонента.
  5. Если статусы положительные или неопределённые, нажать MS A/V 1 и прочитать граф/ошибку.
  6. При успешном графе нажать второй тест воспроизведения. Если он работает, сравнить его цепочку с приложением, где возникает проблема.
  7. Если граф не строится, открыть System → List Codecs and Other Filters и проверить splitter/decoder, упомянутые в ошибке.

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

Практический сценарий: изображение есть, звука нет

Сначала убедитесь, что в Audio действительно обнаружен поток. Если поле пустое и Container сообщает только один video stream, искать аудиокодек бессмысленно. Если поток есть, запишите Codec и Info. Для AC-3 важны частота и число каналов, для MP3 — CBR/VBR и битрейт, для AAC — факт распознавания и возможность системного рендера.

Далее нажмите MS A/V 1. В нормальном графе должна существовать аудиоветвь, заканчивающаяся renderer. Если splitter выделяет аудио, но decoder отсутствует, нужен соответствующий компонент. Если decoder есть, но граф обрывается перед renderer, проверьте настройки decoder и аудиовыхода. Если весь граф успешен, но конкретный проигрыватель молчит, сравнивайте его настройки и используемые фильтры с цепочкой GSpot.

При многоканальном AC-3 возможна ситуация, когда декодирование идёт, но downstream filter настроен на SPDIF passthrough или формат, который устройство вывода не принимает. Property Sheet фильтра тогда полезнее повторной установки. GSpot не управляет конечной акустической конфигурацией, но показывает, какой компонент нужно открыть.

Практический сценарий: звук есть, изображения нет

В Video проверяется FourCC/codec и размер кадра. Отрицательный Status обычно достаточно конкретен. Если кодек установлен, тестовый граф покажет выбранный decoder. Если в цепочке присутствует decoder, а затем Color Space Converter и Video Renderer, ошибка может быть связана уже с преобразованием формата пикселей или renderer.

Для Motion JPEG и старых capture-codecs бывает несколько взаимозаменяемых декодеров. Универсальный decoder может проигрывать файл, но приложение захвата или редактор ожидать VFW-компонент. GSpot показывает как DirectShow, так и VFW/ACM список, поэтому полезно выяснить, к какой мультимедийной подсистеме относится проблемное приложение.

Если речь о H.264 в MP4, Codec Status Undetermined сам по себе не отвечает на вопрос. Нужен MS A/V. Успешный H.264 decoder в графе доказывает только способность DirectShow; старый редактор может использовать собственный importer и всё равно не открыть файл.

Практический сценарий: файл играет в VLC, но не в Windows Media Player

Это один из случаев, где GSpot особенно нагляден. VLC использует собственные демультиплексоры и декодеры, поэтому может воспроизводить файл даже при полном отсутствии соответствующего системного codec. Windows Media Player старых поколений в значительной степени полагается на DirectShow. GSpot анализирует именно системную конфигурацию и поэтому способен показать, какой элемент отсутствует для WMP.

Если Video/Audio распознаны, но MS A/V не строит граф, проблема практически подтверждена на уровне DirectShow. Если граф строится и тест GSpot играет, но WMP нет, следует проверить различия renderer, настройки WMP, DRM/защиту или дополнительные фильтры, которые подключает сам проигрыватель. Установка ещё одного decoder в такой ситуации не является логичным первым шагом.

Практический сценарий: видео не принимается телевизором или DVD-плеером

GSpot не знает спецификацию конкретного устройства, поэтому работа строится методом сравнения. Откройте заведомо рабочий файл и запишите контейнер, FourCC, размер кадра, частоту, битрейт, QPel, GMC, B-frames и аудиоформат. Затем откройте проблемный файл и сравните только различающиеся параметры. Такой подход намного надёжнее, чем ориентироваться на одинаковое расширение.

Для DVD-подобного MPEG проверьте 720×480/576, PAL/NTSC, aspect ratio, частоту, структуру GOP и аудио. Для DivX/XviD-устройства — разрешение, QPel/GMC, packed bitstream, BVOP и audio codec. Если после нахождения отличия требуется исправление, GSpot уже выполнил свою часть: перекодировать или ремультиплексировать нужно другим ПО.

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

Откройте MPEG в GSpot и запустите VGS. Переключитесь в coded order и включите B-Frame Dependency Overlay. Ищите границу, которая не пересекается линиями зависимости. Closed GOP отмечаются отдельно и обычно являются удобными точками. Затем по Frame Number Overlay зафиксируйте номер и временную позицию.

После этого используйте инструмент, который действительно умеет резать соответствующий MPEG без перекодирования, задавая границу рядом с найденной точкой. Даже если резак принимает произвольный frame number, он может сам сдвинуть cut к I-frame или перекодировать небольшой участок. GSpot не управляет этим поведением; его задача — показать теоретически безопасную структуру исходного потока.

При соединении фрагментов следующий кусок должен начинаться с подходящего ключевого кадра и иметь совместимые параметры последовательности. Отсутствие линии зависимости на одной стороне не гарантирует, что два произвольных MPEG можно просто склеить: могут отличаться GOP, sequence headers, битрейт, aspect ratio или временные базы.

Практический сценарий: поиск причины сбоя DirectShow

Если при рендеринге появляется сообщение о том, что DirectShow crashed while GSpot was attempting to obtain information about a codec, внимательно прочитайте предполагаемый путь к компоненту. GSpot способен перехватить часть таких сбоев и указать фильтр или ACM/VFW-драйвер, который участвовал в момент ошибки. Это намного полезнее общего плеер закрывается.

Следующий шаг — найти компонент в All Codecs and Filters, открыть Details и установить его происхождение. Если это файл программы, недавно удалённой с компьютера, помогает корректная переустановка/удаление. Если это системный компонент, сначала проверяют целостность системы. Если сторонний codec, можно временно выключить его поддержку проблемного FourCC через собственные настройки или, в экспертном режиме, снять регистрацию — но только имея возможность вернуть состояние.

Ошибка VFW_E_UNSUPPORTED_STREAM указывает, что DirectShow не смог воспроизвести поток заданного формата в доступной конфигурации. Она не говорит, что файл обязательно повреждён. Сопоставьте её с Codec/Name и перечнем фильтров: если decoder отсутствует, причина очевидна; если присутствует, возможно, несовместим splitter или media type.

Практический сценарий: полный скан идёт слишком долго

На больших MPEG, повреждённых файлах или медленном носителе полный проход может занимать значительное время. Если задача — только узнать кодек, размер и базовый контейнер, откройте Options → Settings и снимите Enable Full File Scan When Possible (Default). После этого повторный анализ обычно ограничивается более быстрыми операциями.

Не забывайте, что часть статистики VGS и глубокой MPEG-информации зависит от просмотра потока. Быстрый режим сознательно жертвует подробностью. Для поиска редких ошибок GOP полный анализ, наоборот, стоит оставить включённым и дождаться результата.

Как интерпретировать частые сообщения

Сообщение или признакЧто означаетЧто делать дальше
Codec(s) are InstalledПодходящий компонент зарегистрированПроверить MS A/V граф, если воспроизведение всё равно не работает
Codec(s) are NOT InstalledGSpot не нашёл подходящего системного декодераЗафиксировать точный Codec/Name и установить совместимый компонент
Codec Status UndeterminedНадёжный вывод о доступности кодека не сделанИспользовать системный рендер и современный анализатор при необходимости
File Length CorrectПроверяемая структура не противоречит фактической длинеИскать проблему дальше в кодеке или графе
File Missing в списке фильтровЕсть регистрация, но драйверный файл не найденУстановить происхождение записи и корректно восстановить или удалить компонент
Render OKDirectShow смог построить графЗапустить тест воспроизведения и изучить выбранные фильтры
VFW_E_UNSUPPORTED_STREAMСистемный граф не поддерживает данный потокПроверить splitter, decoder и media type
Длительное scanningИдёт полный анализ содержимогоЖдать или временно отключить Full File Scan

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

Утилита не перекодирует видео, не меняет H.264 на MPEG-2, не ресемплирует аудио и не создаёт DVD. Кнопки Resizing рассчитывают значения, а не применяют фильтр. Test playback служит диагностике DirectShow, а не замене полнофункциональному проигрывателю. VGS показывает GOP, но не режет поток. Эти границы важно понимать, чтобы не искать в интерфейсе несуществующую кнопку исправить всё.

GSpot также не является универсальным инспектором современных контейнеров. Он не предназначен для полного анализа MKV/WebM, HEVC/AV1, HDR10/Dolby Vision, сложных субтитровых дорожек, chapters и attachments. При таких задачах полезнее MediaInfo/ffprobe, а GSpot имеет смысл подключать отдельно, если проблема касается старой Windows DirectShow-среды.

Ещё одно ограничение — зависимость результата рендера от конкретной машины. Цепочка фильтров на одном компьютере не является свойством файла. Если отправить AVI коллеге, его GSpot может показать другой splitter/decoder. Поэтому в отчёте полезно разделять параметры файла и состояние этой Windows.

Ошибки использования, которые мешают диагностике

  • Считать расширение кодеком. AVI, MP4 и MOV — контейнеры; кодек нужно читать в Video/Audio.
  • Устанавливать случайный codec pack до анализа. Это может добавить конфликты и изменить merit.
  • Считать Undetermined отсутствующим кодеком. Нужен системный тест рендера.
  • Считать Installed гарантией воспроизведения. Нужны splitter, renderer и корректный graph.
  • Менять merit без фиксации исходного состояния. Можно нарушить другие приложения.
  • Удалять DLL вручную. В реестре останется проблемная запись File Missing.
  • Пытаться исправить контейнер кнопками Resizing/VGS. Это аналитические инструменты, не редакторы.
  • Использовать GSpot как единственный источник для MKV/HEVC. Для современных форматов нужен более новый анализатор.

Сравнение GSpot Codec Information Appliance с аналогами

ПрограммаЛучше подходит дляГлавное ограничение
GSpot Codec Information ApplianceДиагностики AVI/MPEG, DirectShow-цепочек, системных кодеков и визуальной структуры GOPОграниченная глубина современных контейнеров и кодеков
MediaInfoПодробных метаданных большого числа современных контейнеров, дорожек и кодековНе показывает, какой DirectShow-фильтр Windows выберет для воспроизведения
VideoInspectorБыстрой проверки кодеков файла и наличия нужных компонентов WindowsМеньше специализированной информации по GOP и фильтрам, чем у GSpot
AVIcodecПростой идентификации аудио/видео в AVI и некоторых других старых контейнерахСлабее системная диагностика DirectShow и нет VGS
ffprobeСкриптуемого технического анализа современных потоков и контейнеровКомандная строка и отсутствие Windows-специфичного списка DirectShow-фильтров
Sherlock — The Codec Detective!Проверки установленных аудио- и видеокодеков Windows и проблемных записейНе заменяет подробный анализ структуры конкретного видеофайла

Практический выбор зависит от вопроса. Если нужно узнать все дорожки современного MKV или параметры HEVC, начинать рациональнее с MediaInfo или ffprobe. Если старый AVI не играет в DirectShow-приложении, GSpot полезнее, потому что связывает FourCC с реальными системными фильтрами. Если задача сводится к состоянию установленных кодеков, Sherlock может дать более простой список. Для MPEG-1/2/4 ASP, где важна структура I/P/B и точки потенциально чистого разреза, VGS остаётся специфическим преимуществом GSpot.

Как сочетать GSpot и MediaInfo

Эти инструменты не взаимоисключающие. MediaInfo лучше отвечает на вопрос что записано в контейнере для широкого спектра современных форматов. GSpot добавляет ответ что с этим сделает DirectShow на этом компьютере. В сложной ситуации разумно сначала получить нейтральный отчёт MediaInfo, затем открыть тот же файл GSpot и сравнить распознавание потоков с системным графом.

Если MediaInfo показывает H.264/AAC в MP4, а GSpot MS A/V не может построить цепочку, проблема почти наверняка относится к DirectShow-конфигурации, а не к отсутствию данных в файле. Если оба инструмента видят странную длительность или оборванный поток, сильнее подозрение на повреждение самого файла. Если GSpot видит AVI FourCC, а MediaInfo даёт дополнительные encoder settings, два отчёта дополняют друг друга.

Как подготовить полезный отчёт о проблемном файле

Для технической поддержки снимок должен показывать весь основной интерфейс после завершения анализа, а не только строку Codec. В кадре нужны Container, Audio, Video и Proposed Codec Solutions. Затем стоит выполнить MS A/V 1, чтобы цепочка фильтров попала в нижнее поле. Если подозревается системный компонент, вторым изображением открыть All Codecs and Filters и Details конкретной строки.

В текстовом сообщении перечислите расширение, фактический container, Video Codec/Name, Audio Codec/Info, размер кадра, частоту и точную ошибку. Не нужно писать кодеки все стоят без названий: GSpot как раз предназначен для того, чтобы заменить такую формулировку конкретными данными.

Если проблема воспроизводится только в одном приложении, обязательно укажите, работает ли тест GSpot и работают ли VLC/другой плеер с собственными декодерами. Это позволяет быстро отделить дефект файла от различий в архитектуре воспроизведения.

Частые вопросы о GSpot Codec Information Appliance

Почему GSpot показывает кодек установленным, но файл всё равно не играет?

Потому что наличие decoder — только один элемент цепочки. DirectShow ещё должен найти source/splitter, согласовать media types, подключить renderer и иногда преобразователь формата. Нажмите MS A/V 1 и смотрите реальный граф. Если он строится, запустите тест; если нет, текст ошибки укажет следующий уровень диагностики.

Почему Codec Status Undetermined не меняется после установки кодека?

Для некоторых контейнеров GSpot не умеет уверенно определять статус обычным методом. Закройте и заново запустите программу, затем используйте MS A/V. Успешный DirectShow graph информативнее самой надписи Undetermined.

Можно ли с помощью GSpot скачать недостающий кодек?

Нет. Утилита определяет идентификатор и состояние системы, но не является каталогом установщиков. После анализа нужно отдельно выбрать доверенный источник подходящего decoder. Лучше искать по точному FourCC или официальному названию формата, а не устанавливать первый найденный пакет.

Можно ли GSpot конвертировать AVI в MP4?

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

Что означают GSpot Vid/Aud и MS A/V?

Это разные диагностические пути. GSpot может выполнять собственные тесты для некоторых потоков, а MS A/V просит мультимедийную подсистему Windows построить общий DirectShow-граф. Для типов, которые внутренний тест не поддерживает, интерфейс обычно направляет пользователя к MS A/V.

Почему в графе используется ffdshow, хотя установлен XviD?

DirectShow выбирает фильтр по зарегистрированным media types, merit и настройкам. ffdshow мог быть настроен на XVID/DX50 и получить приоритет. Если требуется XviD Decoder, измените настройки конкурирующего фильтра или его приоритет осознанным способом, затем снова постройте граф.

Что делать с красными строками в All Codecs and Filters?

Открыть Details и выяснить, почему строка отмечена как Problem. Частая причина — отсутствующий driver file. Восстановите или корректно удалите исходный пакет. Не стирайте DLL вручную и не снимайте регистрацию системных фильтров без понимания последствий.

Зачем нужен merit?

Merit — один из механизмов приоритета DirectShow-фильтров при автоматическом построении графа. Чем выше приоритет подходящего фильтра, тем вероятнее его выбор, но решение зависит и от media types. GSpot показывает merit, чтобы объяснить конкуренцию нескольких splitter/decoder.

Можно ли определить, где безопасно разрезать MPEG?

VGS помогает увидеть I/P/B, closed GOP и линии зависимости. В coded order с B-Frame Dependency Overlay можно найти границы, не пересекающие зависимости. Сам разрез программа не выполняет, и итоговый инструмент должен корректно работать с контейнером и таймстампами.

Подходит ли GSpot для MKV?

Для полноценного анализа Matroska — нет. Если нужен список дорожек, codec parameters, chapters, attachments и современные форматы, используйте MediaInfo или ffprobe. GSpot имеет смысл оставить для задач AVI/MPEG и Windows DirectShow.

Почему полный анализ MPEG занимает много времени?

При включённом Full File Scan программа читает содержимое потока, чтобы собрать дополнительную статистику и VGS-данные. Для быстрого чтения заголовков можно временно отключить соответствующую опцию в Settings, понимая, что часть полей останется недоступной.

Можно ли доверять строкам User Data как точной версии кодера?

Их лучше использовать как вспомогательный признак. Текст может быть оставлен исходным энкодером, ремультиплексором или любой программой, которая редактировала RIFF. Сопоставляйте его с FourCC и структурными признаками.

Почему частота Pics/s отличается от Frames/s?

Так бывает у материала с полями и pulldown. Исходные pictures, отображаемые frames и fields могут иметь разные частоты. Для MPEG-2 нужно смотреть весь набор показателей и, при необходимости, Interlace/Field Info Overlay.

Показывает ли GSpot точное качество видео?

Нет. Битрейт и Qf — технические показатели, а визуальное качество зависит от кодека, исходника, настроек, сложности изображения и многих других факторов. Нельзя сравнивать два разных кодека только по Qf.

Что означает OpenDML в AVI?

Это расширенный вариант AVI-структуры, используемый для работы с большими файлами и дополнительной индексацией. Для пользователя GSpot это прежде всего указание на устройство контейнера; при ремонте и ремультиплексировании следует выбирать инструмент, который корректно поддерживает OpenDML.

Зачем GSpot показывает packed bitstream?

Для MPEG-4 ASP это важный исторический признак совместимости. Некоторые аппаратные плееры плохо работали с packed bitstream. В VGS соответствующие N-VOP отмечаются отдельно, поэтому можно сравнить проблемный файл с рабочим.

Может ли GSpot исправить неправильный aspect ratio?

Он может показать SAR/PAR/DAR и расчётные варианты resize, но не меняет поток автоматически. Исправление выполняют изменением контейнерного/кодекового флага или перекодированием в другом инструменте — в зависимости от того, где находится ошибка.

Итоговый рабочий алгоритм

Для старого AVI, MPEG или VOB разумно использовать GSpot в три этапа. Первый — идентификация файла: Container, Video, Audio, длительность, размеры и структурные предупреждения. Второй — проверка конкретной Windows: статусы кодеков, MS A/V graph и фактический test playback. Третий — углубление только там, где оно нужно: All Codecs and Filters для конфликтов, Property Sheet для настроек filter, VGS для GOP и interlace.

Если на первом этапе выясняется, что формат современный и GSpot даёт лишь базовые сведения, не нужно пытаться выжать из него больше — переходите к MediaInfo или ffprobe. Если файл полностью распознан, а проблема проявляется только в DirectShow-приложении, наоборот, именно системные функции GSpot становятся наиболее ценными. Такой подход сохраняет назначение инструмента: не подменять им весь набор видеоутилий, а использовать там, где он даёт конкретный диагностический ответ.

VFW, ACM, DirectShow и DMO: почему в GSpot несколько типов компонентов

Одна из причин, по которой GSpot остаётся полезным для старых Windows-сценариев, — он не сводит понятие кодек к одному списку DLL. В мультимедийной среде сосуществуют разные интерфейсы. VFW (Video for Windows) исторически используется многими AVI-приложениями и видеоредакторами. ACM (Audio Compression Manager) играет похожую роль для аудиокомпрессии. DirectShow строит граф из source, splitter, decoder, renderer и промежуточных фильтров. DMO — ещё один тип мультимедийных объектов, который встречается среди системных и сторонних компонентов.

Это объясняет ситуацию, когда один и тот же XviD-файл открывается в VirtualDub, но не в Windows Media Player, или наоборот. VirtualDub классического типа может использовать VFW-декодер, тогда как WMP — DirectShow. Наличие VFW-компонента не означает автоматически наличие подходящего DirectShow-filter, хотя некоторые пакеты устанавливают оба варианта. В списке GSpot тип компонента позволяет сразу увидеть, к какой подсистеме он относится.

При поиске причины важно знать архитектуру проблемного приложения. Если редактор прямо требует VFW, бессмысленно добиваться красивого DirectShow-графа и считать задачу решённой. Если проблема возникает в DirectShow-проигрывателе, наличие VFW codec может ничего не менять. GSpot помогает не смешивать эти уровни, но окончательное решение всё равно зависит от того, каким API пользуется конкретная программа.

DMO-компоненты часто воспринимаются как обычные кодеки, хотя у них другой механизм подключения. Property Sheet GSpot для них не применяется так же, как для DirectShow-фильтров. Поэтому отсутствие контекстного окна свойств у DMO или VFW не является недостатком конкретной установки: функция Property Sheet завязана именно на интерфейс, который предоставляет DirectShow-filter.

Как читать статистику GOP в основном окне

До открытия VGS GSpot уже показывает краткую статистику структуры кадров. Индикаторы I/P/B отражают наличие соответствующих picture types и их долю. Рядом выводятся данные о расстоянии между I-кадрами и максимальном числе B-кадров подряд. Для регулярного MPEG-2 это позволяет быстро оценить длину GOP, а для MPEG-4 ASP — увидеть, насколько encoder полагался на B-frames и насколько редко ставил keyframe.

Максимальная дистанция между I-кадрами важна для произвольного доступа. Чем дальше друг от друга ключевые кадры, тем больший участок decoder потенциально должен восстановить перед точным seek. Для потокового просмотра это не обязательно проблема, но для монтажа и быстрого перемещения по файлу слишком редкие I-кадры неудобны. GSpot не рекомендует конкретный предел: допустимая структура зависит от стандарта, устройства и задачи.

Средняя дистанция полезна вместе с максимальной. Если максимум велик, но среднее заметно меньше, keyframes могли дополнительно ставиться на сменах сцен. Если среднее почти совпадает с максимумом и VGS показывает регулярный шаблон, вероятно, encoder использовал фиксированный GOP. В MPEG-4 сценозависимые keyframes дают более нерегулярную картину.

Показатель максимальных последовательных B-frames помогает при проверке старого аппаратного decoder. Некоторые чипы поддерживали один или два B-VOP, но давали сбой на более длинных цепочках. Сама надпись BVOP показывает наличие B-кадров, а числовое поле уточняет структуру. Сравнение с рабочим файлом особенно эффективно, если устройство не публикует полную техническую спецификацию.

QPel, GMC, packed bitstream и другие признаки MPEG-4 ASP

QPel (Quarter Pixel) и GMC (Global Motion Compensation) были опциями MPEG-4 ASP, встречавшимися в DivX/XviD-файлах. На программном decoder они обычно не создают принципиальной проблемы при наличии поддержки, но старые аппаратные плееры часто имели ограничения. GSpot выводит соответствующие индикаторы, чтобы пользователь мог не гадать по имени XviD, а проверить реальный набор инструментов кодирования.

Packed bitstream относится к способу упаковки MPEG-4 AVI и связан с N-VOP. Он применялся для обхода особенностей AVI и B-frames, но некоторые decoder/устройства обрабатывали такие файлы хуже. В VGS packed bitstream отражается специальными вертикальными отметками. Для диагностики совместимости это более надёжный признак, чем название программы-энкодера в User Data.

Наличие GMC или QPel не означает, что файл повреждён. Это допустимые средства кодирования для соответствующего профиля. Проблема возникает только там, где decoder их не поддерживает. Поэтому правильное действие — сверить характеристики с возможностями целевого устройства или заменить параметры при перекодировании, а не пытаться лечить исходный AVI как битый.

Точно так же B-VOP и N-VOP не нужно автоматически удалять. GSpot предназначен для измерения, а не для упрощения потока. Если файл воспроизводится на нужном оборудовании, наличие продвинутых признаков само по себе не является ошибкой.

Сравнение одного файла на двух компьютерах

Полезный диагностический метод — открыть один и тот же файл в GSpot на рабочем и проблемном компьютере. Верхняя часть отчёта должна практически совпадать: container, FourCC, аудиоформат, длительность, размер кадра и большая часть потоковой статистики являются свойствами файла. Различаться будут Status и особенно Proposed Codec Solutions, потому что они зависят от зарегистрированных компонентов Windows.

Если на первом ПК цепочка содержит AVI Splitter → XviD Decoder → Video Renderer, а на втором — другой splitter и универсальный decoder, это уже конкретное направление поиска. Можно сравнить driver file и merit через System. Если на проблемном ПК граф вообще не строится, а на рабочем строится, вероятность повреждения файла резко снижается.

Такой подход полезен и в корпоративной среде, где набор кодеков на рабочих станциях должен быть одинаковым. GSpot не синхронизирует конфигурацию, но список фильтров и текстовый export позволяют увидеть различия. При этом нельзя просто копировать чужие DLL: регистрация, зависимости и лицензирование компонентов требуют штатной установки.

Работа со старыми архивами и файлами захвата

При разборе архивов конца 1990-х и 2000-х встречаются AVI с Indeo, Cinepak, Microsoft Video 1, MJPEG различных производителей, DV, HuffYUV, DivX 3/4/5, XviD, старые WaveFormatTag и проприетарные capture-codecs. Современный медиаплеер может открыть многие из них встроенными библиотеками, но если задача — восстановить исходную Windows-цепочку или открыть файл в старом редакторе, нужен точный FourCC и тип системного codec. GSpot для этого подходит лучше универсального плеера.

Сначала фиксируют исходные сведения и не перекодируют файл для удобства. Lossy-перекодирование может скрыть проблему и создать новое поколение потерь. Если найден MJPEG или DV, зачастую рациональнее установить совместимый decoder или использовать современный инструмент, который читает исходный поток напрямую, а конвертацию выполнять уже после проверки целостности.

User Data иногда показывает название карты захвата, VirtualDubMod, NanDub, XviD build или другого ПО. Эти строки полезны при реконструкции происхождения архива, но не должны заменять анализ bitstream. Если FourCC и metadata расходятся, доверять следует фактическому потоку и успешному декодированию.

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

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

FourCC определяет формат или исторически принятую метку компрессии, но не уникальный программный продукт. Несколько decoder могут заявлять поддержку XVID, DIVX, DX50 или MJPG. Универсальные фильтры вроде ffdshow специально обслуживали широкий набор FourCC. Поэтому из строки Codec нельзя вывести, какая DLL фактически будет вызвана Windows.

Именно здесь нужен MS A/V graph. Он показывает фактический decoder после выбора DirectShow. Если требуется конкретный программный компонент — например, оригинальный DivX Decoder Filter для проверки аппаратно-связанного workflow — название в графе важнее общей строки Codec(s) are Installed.

В VFW ситуация похожа: разные драйверы могут регистрировать совместимые FourCC. Старое приложение иногда перечисляет их по собственным правилам. Поэтому GSpot полезно использовать вместе с настройками самого приложения, а не ожидать, что системный список гарантирует одинаковый выбор везде.

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

Повреждение файла обычно проявляется уже на уровне Container: неверная длина, неожиданный конец, отсутствующая структура, невозможность прочитать заголовок или противоречивые параметры. Конфликт кодеков чаще проявляется после успешного распознавания: FourCC и длительность выглядят нормально, но DirectShow выбирает странный filter, падает при его загрузке или не может согласовать media type.

Если один и тот же файл одинаково плохо анализируется на нескольких компьютерах, подозрение смещается к файлу. Если верхняя часть отчёта одинакова, но граф на одном ПК работает, а на другом нет, причина почти наверняка системная. GSpot особенно полезен именно благодаря этому разделению.

Есть промежуточные случаи. Повреждённый индекс AVI может не мешать VLC, который умеет восстанавливать данные на лету, но ломать DirectShow splitter. Тогда проблема одновременно относится к контейнеру и конкретному способу воспроизведения. Поэтому нельзя сводить диагностику к одной зелёной или красной строке.

Когда имеет смысл использовать тестовый проигрыватель GSpot

Встроенное тестовое воспроизведение не предназначено для обычного просмотра, но оно даёт важный контрольный эксперимент. Если кнопка MS A/V 1 строит граф, а кнопка 2 воспроизводит картинку и звук, значит выбранная DirectShow-цепочка жизнеспособна хотя бы в условиях теста GSpot. Это полезный эталон при сравнении с приложением, где наблюдается ошибка.

Если тест показывает видео, а сторонний проигрыватель — чёрный экран, проверьте его собственные настройки output renderer, аппаратного ускорения и приоритетов filter. Если в GSpot тоже чёрный экран, откройте свойства decoder и выясните, какой output colorspace он выдаёт. Старые renderer могли иметь ограничения по YV12, YUY2, RGB и аппаратной поверхности.

Для звука аналогично: успешный audio graph подтверждает, что splitter, decoder и renderer согласовали формат. Но реальный проигрыватель может выбирать другой audio renderer или использовать passthrough. GSpot даёт базовую точку сравнения, а не универсальную гарантию.

Диагностика с минимальным вмешательством в систему

Лучший порядок при проблеме воспроизведения — сначала собрать информацию и только затем менять конфигурацию. GSpot позволяет пройти значительную часть диагностики без установки дополнительных пакетов: открыть файл, зафиксировать FourCC, посмотреть список уже зарегистрированных фильтров и построить граф. Только после этого принимается решение, действительно ли чего-то не хватает.

Если missing codec подтверждён, устанавливайте один целевой decoder из понятного источника. Затем перезапустите GSpot и повторите MS A/V. Если проблема — конкуренция фильтров, сначала используйте собственные настройки decoder для отключения конкретного формата. Unregister оставляйте как экспертный вариант, а изменение merit — как ещё более узкую меру.

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

Какие данные стоит переписать перед конвертацией

Если диагностика заканчивается решением перекодировать файл, GSpot помогает сохранить технический контекст. Запишите исходный размер кадра, DAR/PAR, частоту pictures/frames, interlace/pulldown, аудиочастоту и число каналов. Для DivX/XviD полезно знать, был ли исходник progressive и нет ли нестандартного aspect ratio. Для DVD — не перепутать 23,976p с pulldown и настоящий interlaced.

Эти сведения предотвращают типичные ошибки конвертации: растянутое изображение из-за игнорирования PAR, двойной deinterlace, неправильное преобразование 29,97/23,976, потерю каналов AC-3 или случайный ресемплинг. Сам GSpot новый файл не создаёт, но его отчёт помогает настроить другой encoder осмысленно.

После конвертации новый файл можно открыть повторно и сравнить только необходимые параметры. Не стоит ожидать полного совпадения: изменятся codec, bitrate и, возможно, container. Проверяют то, что должно сохраниться — длительность, пропорции, частоту воспроизведения и структуру аудио.

Где заканчивается диагностика GSpot

Хороший момент остановиться — когда получен конкретный ответ. Если выяснилось, что отсутствует decoder для DIV3, задача GSpot выполнена. Если обнаружен конфликт, где ffdshow перехватывает XVID, дальнейшие действия выполняются в настройках ffdshow или системы. Если VGS показал длинный open GOP и найдено место разреза, режет уже другое приложение. Если Matroska не разбирается глубоко, переходят к MediaInfo/ffprobe.

Попытка использовать один инструмент для всех этапов видеоработы обычно приводит к неверным ожиданиям. GSpot силён именно как узкая диагностическая утилита: идентификация старых кодеков, анализ AVI/MPEG и наблюдение за Windows multimedia stack. Чем точнее сформулирован вопрос, тем полезнее его плотный технический интерфейс.