As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Consuma metadados incorporados em um stream de vídeo do Kinesis
Para consumir os metadados em um stream de vídeo do Kinesis, use uma implementação de: MkvTagProcessor
public interface MkvTagProcessor { default void process(MkvTag mkvTag, Optional<FragmentMetadata> currentFragmentMetadata) { throw new NotImplementedException("Default FragmentMetadataVisitor.MkvTagProcessor"); } default void clear() { throw new NotImplementedException("Default FragmentMetadataVisitor.MkvTagProcessor"); } } }
Esta interface é encontrada na classe FragmentMetadataVisitor no Veja a saída das câmeras usando a biblioteca de analisadores.
A classe FragmentMetadataVisitor
contém uma implementação de MkvTagProcessor
:
public static final class BasicMkvTagProcessor implements FragmentMetadataVisitor.MkvTagProcessor { @Getter private List<MkvTag> tags = new ArrayList<>(); @Override public void process(MkvTag mkvTag, Optional<FragmentMetadata> currentFragmentMetadata) { tags.add(mkvTag); } @Override public void clear() { tags.clear(); } }
A classe KinesisVideoRendererExample
contém um exemplo de como usar um BasicMkvTagProcessor
. No seguinte exemplo, um BasicMkvTagProcessor
é adicionado ao MediaProcessingArguments
de um aplicativo:
if (renderFragmentMetadata) { getMediaProcessingArguments = KinesisVideoRendererExample.GetMediaProcessingArguments.create( Optional.of(new FragmentMetadataVisitor.BasicMkvTagProcessor()));
O método BasicMkvTagProcessor.process
é chamado quando metadados do fragmento chegam. É possível recuperar os metadados acumulados com GetTags
. Para recuperar um único item de metadados, primeiro chame clear
para limpar os metadados coletados e, em seguida, recupere os itens de metadados novamente.