Поддержка кода времени SMPTE
[Функция, связанная с этой страницей, пакет SDK для Windows Media 11, является устаревшей функцией. Он был заменен средства чтения источника и записи приемника. средства чтения источников и записи приемника оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать новый код средства чтения исходного кода и записи приемников вместо пакета SDK для Windows Media 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.
Связанные разделы