

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Kinesis 비디오 스트림에 포함된 메타데이터 사용
<a name="how-meta-consume"></a>

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");
	    }
    }
}
```

이 인터페이스는 [파서 라이브러리를 사용하여 카메라의 출력 보기](parser-library.md)의 [FragmentMetadataVisitor](parser-library-write.md#parser-library-write-FMV) 클래스에서 찾을 수 있습니다.

`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`하여 수집된 메타데이터를 지운 다음 메타데이터 항목을 다시 검색합니다.