Suporte a código de hora SMPTE
[O recurso associado a esta página, do SDK do Windows Media Format 11, é um recurso herdado. Foi substituído por de Leitor de Origem e do Gravador do Coletor de. de Leitor de Origem e Gravador do Coletor foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use de Leitor de Origem e o Gravador do Coletor em vez de do SDK do Windows Media Format 11, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]
O SDK do Formato de Mídia do Windows fornece suporte limitado para código de tempo SMPTE, que é um formato de código de hora padrão para filmes e televisão. Você pode incluir dados de código de hora SMPTE com exemplos como extensões de unidade de dados. A parte de dados da extensão é uma estrutura WMT_TIMECODE_EXTENSION_DATA que contém as informações do carimbo de data/hora do SMPTE original.
A manutenção do código de hora SMPTE em seus arquivos ASF vem com limites de desempenho. Cada exemplo com um carimbo de data/hora SMPTE associado requer o transporte dos 14 bytes na estrutura do carimbo de data/hora. Em um cenário de streaming, esse maior requisito de largura de banda pode ser catastrófico. Como resultado, é sugerido que os códigos de tempo SMPTE sejam mantidos apenas em arquivos ASF durante o processo de edição de vídeo, que normalmente é feito com arquivos locais. Quando o arquivo final é criado, você deve remover as extensões da unidade de dados.
Você pode ler carimbos de data/hora SMPTE da mesma forma que faria para ler qualquer outra extensão de unidade de dados, mas os objetos de leitura fornecem suporte integrado para pesquisa por código de hora SMPTE. Para poder pesquisar carimbos de data/hora SMPTE, primeiro você deve indexar o arquivo pelo código de hora SMPTE. Você pode configurar o indexador para indexar códigos de tempo usando o método IWMIndexer2::Configure.
Usando o leitor assíncrono, você pode navegar por um arquivo por carimbos de data/hora SMPTE usando os métodos da interfaceIWMReaderTimecodee o método IWMReaderAdvanced3::StartAtPosition. Com o leitor síncrono, use IWMSyncReader2::SetRangeByTimecode.
Tópicos relacionados