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á.
Usando metadados de streaming com o Kinesis Video Streams
Você pode usar o produtor do Amazon Kinesis Video SDK Streams para incorporar metadados no nível de fragmento individual em um stream de vídeo do Kinesis. Os metadados no Kinesis Video Streams são um par de valores-chave mutáveis. Você pode usá-lo para descrever o conteúdo do fragmento, incorporar leituras de sensores associadas que devem ser transferidas junto com o fragmento real ou atender a outras necessidades personalizadas. Os metadados são disponibilizados como parte das GetMediaForFragmentList API operações GetMedia ou. Ele é armazenado junto com os fragmentos durante todo o período de retenção do stream. Seus aplicativos consumidores podem ler, processar e reagir com base nos metadados usando o. Veja a saída das câmeras usando a biblioteca de analisadores
Há dois modos pelos quais os metadados podem ser incorporados aos fragmentos em um streaming:
-
Não persistente — você pode afixar metadados de forma única ou ad hoc em fragmentos em um stream, com base nos critérios específicos da empresa que ocorreram. Um exemplo é uma câmera inteligente que detecta movimento e adiciona metadados aos fragmentos correspondentes que contêm o movimento antes de enviar os fragmentos para o stream de vídeo do Kinesis. Você pode aplicar metadados ao fragmento no seguinte formato:
Motion = true
-
Persistente — você pode afixar metadados em fragmentos sucessivos e consecutivos em um stream com base em uma necessidade contínua. Um exemplo é uma câmera inteligente que envia as coordenadas atuais de latitude e longitude associadas a todos os fragmentos enviados para o stream de vídeo do Kinesis. Você pode aplicar metadados a todos os fragmentos no seguinte formato:
Lat = 47.608013N , Long = -122.335167W
É possível afixar metadados em ambos os modos ao mesmo fragmento simultaneamente com base nas necessidades do aplicativo. Os metadados incorporados podem incluir objetos detectados, atividades GPS monitoradas, coordenadas ou qualquer outro dado personalizado que você queira associar aos fragmentos no fluxo. Os metadados são codificados como pares de string chave-valor.
Adicionar metadados a um stream de vídeo do Kinesis
Os metadados que você adiciona a um stream de vídeo do Kinesis são modelados MKV como tags, que são implementadas como pares de valores-chave.
Os metadados podem ser temporários, como para marcar um evento no streaming, ou persistentes, como para identificar fragmentos onde determinado evento está ocorrendo. Um item de metadados persistente permanece e é aplicado a cada fragmento consecutivo até ser cancelado.
nota
Os itens de metadados adicionados usando o Faça o upload para o Kinesis Video Streams são distintos da marcação em nível de fluxo APIs implementada comTagStream, e. UntagStream ListTagsForStream
Metadados de streaming API
Você pode usar as seguintes operações no produtor SDK para implementar metadados de streaming.
PIC
PUBLIC_API STATUS putKinesisVideoFragmentMetadata(STREAM_HANDLE streamHandle, PCHAR name, PCHAR value, BOOL persistent);
Produtor de 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);
Produtor de Java SDK
Você pode usar o produtor SDK Java para adicionar metadados a um MediaSource
usandoMediaSourceSink.onCodecPrivateData
:
void onFragmentMetadata(final @Nonnull String metadataName, final @Nonnull String metadataValue, final boolean persistent) throws KinesisVideoException;
Metadados persistentes e não persistentes
Para dados não persistentes, você pode adicionar vários itens de metadados com o mesmo nome. O produtor SDK coleta os itens de metadados na fila de metadados até que sejam anexados ao próximo fragmento. A fila de metadados é apagada conforme os itens de metadados são aplicados ao streaming. Para repetir os metadados, chame putKinesisVideoFragmentMetadata
ou putFragmentMetadata
novamente.
Para metadados persistentes, o produtor SDK coleta os itens de metadados na fila de metadados da mesma forma que para metadados não persistentes. No entanto, os itens de metadados não são removidos da fila quando são anexados ao próximo fragmento.
Chamar putKinesisVideoFragmentMetadata
ou putFragmentMetadata
com persistent
definido como true
tem o seguinte comportamento:
-
Chamar o API coloca o item de metadados na fila. Os metadados são adicionados como uma MKV tag a cada fragmento enquanto o item está na fila.
-
Chamar o API com o mesmo nome e um valor diferente de um item de metadados adicionado anteriormente substitui o item.
-
Chamar o API com um valor vazio remove (cancela) o item de metadados da fila de metadados.