Kinesis Video Streams에서 스트리밍 메타데이터 사용 - Amazon Kinesis Video Streams

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

Kinesis Video Streams에서 스트리밍 메타데이터 사용

Amazon Kinesis Video Streams 생산자를 사용하여 Kinesis 비디오 스트림의 개별 조각 수준에 메타데이터를 SDK 포함할 수 있습니다. Kinesis Video Streams의 메타데이터는 변경 가능한 키-값 페어입니다. 이를 사용하여 조각의 내용을 설명하거나, 실제 조각과 함께 전송해야 하는 연결된 센서 판독값을 포함하거나, 다른 사용자 지정 요구 사항을 충족할 수 있습니다. 메타데이터는 GetMedia 또는 GetMediaForFragmentList API 작업의 일부로 제공됩니다. 스트림 보존 기간의 전체 기간 동안 조각과 함께 저장됩니다. 소비 애플리케이션은를 사용하여 메타데이터를 기반으로 읽고, 처리하고, 대응할 수 있습니다파서 라이브러리를 사용하여 카메라의 출력 보기.

다음과 같은 두 가지 모드를 통해 스트림의 조각과 함께 메타데이터를 포함할 수 있습니다.

  • 비영구 - 발생한 비즈니스별 기준에 따라 스트림의 조각에 메타데이터를 일회성 또는 임시로 첨부할 수 있습니다. 예를 들어, 모션을 감지하고 Kinesis 비디오 스트림으로 조각을 보내기 전에 모션이 포함된 해당 조각에 메타데이터를 추가하는 스마트 카메라가 있습니다. 다음 형식으로 메타데이터를 조각에 적용할 수 있습니다. Motion = true

  • 영구 - 지속적인 필요에 따라 스트림의 연속 연속 조각에 메타데이터를 첨부할 수 있습니다. 예를 들어 Kinesis 비디오 스트림으로 전송하는 모든 조각과 연결된 현재 위도 및 경도 좌표를 전송하는 스마트 카메라가 있습니다. Lat = 47.608013N , Long = -122.335167W 형식으로 메타데이터를 모든 조각에 적용할 수 있습니다.

애플리케이션의 요구 사항에 따라 이 두 가지 모드의 메타데이터를 동일한 조각에 동시에 부착할 수 있습니다. 임베디드 메타데이터에는 감지된 객체, 추적된 활동, GPS 좌표 또는 스트림의 조각과 연결하려는 기타 사용자 지정 데이터가 포함될 수 있습니다. 메타데이터는 키-값 문자열 페어로 인코딩됩니다.

Kinesis 비디오 스트림에 메타데이터 추가

Kinesis 비디오 스트림에 추가하는 메타데이터는 키-값 페어로 구현되는 MKV 태그로 모델링됩니다.

메타데이터는 스트림 내에서 이벤트를 표시하는 것처럼 일시적일 수도 있고 특정 이벤트가 발생하는 조각을 식별하는 것처럼 지속적일 수도 있습니다. 영구 메타데이터 항목은 취소될 때까지 남아 있으며 각 연속 조각에 적용됩니다.

참고

를 사용하여 추가된 메타데이터 항목은 TagStream, 및 로 APIs 구현된 스트림 수준 태그 지정UntagStream과는 Kinesis Video Streams에 업로드 다릅니다ListTagsForStream.

스트리밍 메타데이터 API

생산자에서 다음 작업을 사용하여 스트리밍 메타데이터를 구현SDK할 수 있습니다.

PIC

PUBLIC_API STATUS putKinesisVideoFragmentMetadata(STREAM_HANDLE streamHandle, PCHAR name, PCHAR value, BOOL persistent);

C++ 생산자 SDK

/** * Appends a "tag" or metadata - a key/value string pair into the stream. */ bool putFragmentMetadata(const std::string& name, const std::string& value, bool persistent = true);

Java 생산자 SDK

Java 생산자를 사용하여 SDK를 MediaSource 사용하여 메타데이터를에 추가할 수 있습니다MediaSourceSink.onCodecPrivateData.

void onFragmentMetadata(final @Nonnull String metadataName, final @Nonnull String metadataValue, final boolean persistent) throws KinesisVideoException;

영구 및 비영구 메타데이터

비지속성 메타데이터의 경우, 여러 메타데이터 항목을 동일한 이름으로 추가할 수 있습니다. 생산자는 메타데이터 항목이 다음 조각 앞에 추가될 때까지 메타데이터 대기열에서 메타데이터 항목을 SDK 수집합니다. 메타데이터 항목이 스트림에 적용됨에 따라 메타데이터 대기열은 삭제됩니다. 메타데이터를 반복하려면 putKinesisVideoFragmentMetadata 또는 putFragmentMetadata를 다시 호출합니다.

영구 메타데이터의 경우 생산자는 비영구 메타데이터와 동일한 방식으로 메타데이터 대기열에 메타데이터 항목을 SDK 수집합니다. 그러나 메타데이터 항목은 다음 조각 앞에 추가될 때 대기열에서 제거되지 않습니다.

true로 설정된 persistentputKinesisVideoFragmentMetadata 또는 putFragmentMetadata를 호출하면 다음과 같은 동작으로 이어집니다.

  • 를 호출하면 메타데이터 항목이 대기열에 API 배치됩니다. 메타데이터는 항목이 대기열에 있는 동안 모든 조각에 MKV 태그로 추가됩니다.

  • 이전에 추가된 메타데이터 항목과 동일한 이름과 다른 값을 API 사용하여를 호출하면 항목을 덮어씁니다.

  • 값이 비어 API 있는를 호출하면 메타데이터 대기열에서 메타데이터 항목이 제거(취소)됩니다.