Udostępnij przez


Obsługa kodu czasu SMPTE

[Funkcja skojarzona z tą stroną, windows Media Format 11 SDK, jest starszą funkcją. Został zastąpiony przez Source Reader i składnik zapisywania ujścia . czytnika źródeł i składników zapisywania ujścia zostały zoptymalizowane pod kątem systemów Windows 10 i Windows 11. Firma Microsoft zdecydowanie zaleca, aby nowy kod używał czytnika źródeł i modułu zapisywania ujścia zamiast zestawu SDK windows Media Format 11, jeśli jest to możliwe. Firma Microsoft sugeruje, że istniejący kod, który używa starszych interfejsów API, należy przepisać go do korzystania z nowych interfejsów API, jeśli to możliwe.]

Zestaw WINDOWS Media Format SDK zapewnia ograniczoną obsługę kodu czasu SMPTE, który jest standardowym formatem kodu czasowego dla filmów i telewizji. Możesz uwzględnić dane kodu czasu SMPTE z przykładami jako rozszerzeniami jednostek danych. Część danych rozszerzenia jest strukturą WMT_TIMECODE_EXTENSION_DATA zawierającą informacje z oryginalnej sygnatury czasowej SMPTE.

Obsługa kodu czasu SMPTE w plikach ASF jest dostarczana z limitami wydajności. Każda próbka ze skojarzonym sygnaturą czasową SMPTE wymaga transportu 14 bajtów w strukturze sygnatury czasowej. W scenariuszu przesyłania strumieniowego zwiększone wymaganie dotyczące przepustowości może być katastrofalne. W związku z tym sugerowane jest, że kody czasu SMPTE są utrwalane tylko w plikach ASF podczas procesu edytowania wideo, co jest zwykle wykonywane z plikami lokalnymi. Po utworzeniu pliku końcowego należy usunąć rozszerzenia jednostki danych.

Sygnatury czasowe SMPTE można odczytywać tak samo jak każde inne rozszerzenie jednostki danych, ale obiekty odczytu zapewniają zintegrowaną obsługę wyszukiwania za pomocą kodu czasu SMPTE. Aby móc wyszukiwać sygnatury czasowe SMPTE, należy najpierw zaindeksować plik za pomocą kodu czasu SMPTE. Indeksator można skonfigurować tak, aby indeksował kody czasu przy użyciu metody IWMIndexer2::Configure.

Korzystając z czytnika asynchronicznego, można nawigować po pliku za pomocą sygnatur czasowych SMPTE przy użyciu metod interfejsu IWMReaderTimecode i IWMReaderAdvanced3::StartAtPosition metody. W przypadku czytnika synchronicznego użyj IWMSyncReader2::SetRangeByTimecode.

funkcji plików ASF

konfigurowanie rozszerzeń jednostek danych