Поддержка кода времени SMPTE

[Функция, связанная с этой страницей, Windows Media Format 11 SDK, является устаревшей функцией. Она была заменена средствами чтения источника и модуля записи приемников. Средство чтения источника и модуль записи приемников оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде средство чтения исходного кода и модуль записи приемников вместо пакета SDK для Windows Media Format 11, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]

Пакет SDK для формата Windows Media предоставляет ограниченную поддержку кода времени SMPTE, который является стандартным форматом кода времени для фильмов и телевидения. Вы можете включить данные кода времени SMPTE с примерами в качестве модулей данных. Часть данных расширения представляет собой WMT_TIMECODE_EXTENSION_DATA структуру, содержащую сведения из исходной метки времени SMPTE.

Поддержка кода времени SMPTE в ASF-файлах включает ограничения производительности. Для каждого примера со связанной меткой времени SMPTE требуется транспорт 14 байт в структуре метки времени. В сценарии потоковой передачи это увеличение требований к пропускной способности может быть катастрофическим. В результате рекомендуется сохранять коды времени SMPTE только в ASF-файлах во время редактирования видео, что обычно выполняется с локальными файлами. После создания окончательного файла следует удалить расширения единиц данных.

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

С помощью асинхронного средства чтения можно перемещаться по файлу по меткам времени SMPTE с помощью методов интерфейса IWMReaderTimecode и метода IWMReaderAdvanced3::StartAtPosition . В синхронном средстве чтения используйте IWMSyncReader2::SetRangeByTimecode.

Функции файлов ASF

Настройка расширений модуля данных