使用 Kinesis 影片串流中內嵌的中繼資料 - Amazon Kinesis Video Streams

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 Kinesis 影片串流中內嵌的中繼資料

若要使用 Kinesis 影片串流中的中繼資料,請使用 的實作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"); } } }

此界面位於 使用剖析器程式庫觀察攝影機的輸出 中的 FragmentMetadataVisitor 類別​。

FragmentMetadataVisitor 類別包含 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(); } }

KinesisVideoRendererExample​ 類別包含如何使用 BasicMkvTagProcessor​ 的範例。以下範例將新增 BasicMkvTagProcessor 至應用程式的 MediaProcessingArguments 中。

if (renderFragmentMetadata) { getMediaProcessingArguments = KinesisVideoRendererExample.GetMediaProcessingArguments.create( Optional.of(new FragmentMetadataVisitor.BasicMkvTagProcessor()));

片段中繼資料送達時將呼叫 BasicMkvTagProcessor.process 方法。您可以用 GetTags​ 擷取累積的中繼資料。若要擷取單一中繼資料項目,請先呼叫 clear 清除收集的中繼資料,然後再次擷取中繼資料項目。