Usar a API Amazon Rekognition Segment - Amazon Rekognition

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á.

Usar a API Amazon Rekognition Segment

A detecção de segmentos do Amazon Rekognition Video em vídeos armazenados é uma operação assíncrona do Amazon Rekognition Video. A API Amazon Rekognition Segment é uma API composta na qual você escolhe o tipo de análise (dicas técnicas ou detecção de disparos) em uma única chamada de API. Para obter informações sobre como chamar operações assíncronas, consulte Chamando as operações de vídeo do Amazon Rekognition Video.

Iniciando a análise do segmento

Para iniciar a detecção de segmentos em uma videochamada armazenada StartSegmentDetection. Os parâmetros de entrada são os mesmos de outras operações de vídeo do Amazon Rekognition Video com a adição da seleção do tipo de segmento e da filtragem de resultados. Para ter mais informações, consulte Iniciar a análise de vídeo.

A seguir está um exemplo de JSON passado pela StartSegmentDetection. A solicitação especifica que os segmentos de detecção de tomada e sinais técnicos sejam detectados. Diferentes filtros para a confiança mínima de detecção são necessários para os segmentos de sinais técnicos (90%) e os segmentos de detecção de tomada (80%).

{ "Video": { "S3Object": { "Bucket": "test_files", "Name": "test_file.mp4" } "SegmentTypes":["TECHNICAL_CUES", "SHOT"] "Filters": { "TechnicalCueFilter": { "MinSegmentConfidence": 90, "BlackFrame" : { "MaxPixelThreshold": 0.1, "MinCoveragePercentage": 95 } }, "ShotFilter" : { "MinSegmentConfidence": 60 } } }

Escolher um tipo de segmento

Use o parâmetro de entrada da matriz SegmentTypes para detectar segmentos de sinais técnicos e/ou de detecção de tomada no vídeo de entrada.

  • TECHNICAL_CUE: identifica registros de data e hora com precisão de quadros para o início, o fim e a duração das dicas técnicas (molduras pretas, barras coloridas, créditos de abertura, créditos finais, logotipos de estúdio e conteúdo principal do programa) detectadas em um vídeo. Por exemplo, é possível usar sinais técnicos para encontrar o início dos créditos finais. Para ter mais informações, consulte Dicas técnicas.

  • SHOT: identifica o início, o fim e a duração de uma captura. Por exemplo, é possível usar a detecção de tomada para identificar tomadas candidatas para a edição final de um vídeo. Para ter mais informações, consulte Detecção de captura.

Filtrar os resultados da análise

Você pode usar o parâmetro de entrada Filters (StartSegmentDetectionFilters) para especificar a confiança mínima de detecção retornada na resposta. DentroFilters, use ShotFilter (StartShotDetectionFilter) para filtrar as fotos detectadas. Use TechnicalCueFilter (StartTechnicalCueDetectionFilter) para filtrar dicas técnicas.

Para ver um código demonstrativo, consulte Exemplo: Detectando segmentos em um vídeo armazenado.

Obtendo resultados de análise de segmentos

O Amazon Rekognition Video publica o status de conclusão da análise de vídeo em um tópico do Amazon Simple Notification Service. Se a análise do vídeo for bem-sucedida, ligue GetSegmentDetectionpara obter os resultados da análise do vídeo.

Veja a seguir uma solicitação GetSegmentDetection de exemplo. O JobId é o identificador do trabalho retornado da chamada para StartSegmentDetection. Para obter informações sobre outros parâmetros de entrada, consulte Obter os resultados da análise do Amazon Rekognition Video.

{ "JobId": "270c1cc5e1d0ea2fbc59d97cb69a72a5495da75851976b14a1784ca90fc180e3", "MaxResults": 10, "NextToken": "XfXnZKiyMOGDhzBzYUhS5puM+g1IgezqFeYpv/H/+5noP/LmM57FitUAwSQ5D6G4AB/PNwolrw==" }

GetSegmentDetection retorna os resultados da análise solicitada e informações gerais sobre o vídeo armazenado.

Informações gerais

GetSegmentDection retorna as seguintes informações gerais:

  • Informações de áudio — A resposta inclui metadados de áudio em uma matriz,AudioMetadata, de AudioMetadataobjetos. Pode haver vários streams de áudio. Cada objeto AudioMetadata contém metadados para um único stream de áudio. As informações de áudio em um objeto AudioMetadata incluem o codec de áudio, o número de canais de áudio, a duração do stream de áudio e a taxa de amostragem. Metadados de áudio são retornados em cada página de informações retornadas por GetSegmentDetection.

  • Informações de vídeo — Atualmente, o Amazon Rekognition Video retorna um único objeto na matriz. VideoMetadataVideoMetadata O objeto contém informações sobre o stream de vídeo no arquivo de entrada que o Amazon Rekognition Video escolheu analisar. O objeto VideoMetadata inclui o codec de vídeo, o formato de vídeo e outras informações. Metadados de vídeo são retornados em cada página de informações retornadas por GetSegmentDetection.

  • Informações de paginação — O exemplo mostra uma página de informações do segmento. É possível especificar quantos elementos de texto a serem retornados no parâmetro de entrada MaxResults para GetSegmentDetection. Se existirem mais resultados além de MaxResults, o GetSegmentDetection retornará um token (NextToken) usado para obter a próxima página de resultados. Para ter mais informações, consulte Obter os resultados da análise do Amazon Rekognition Video.

  • Solicitar informações: o tipo de análise solicitado na chamada para StartSegmentDetection é retornado no campo SelectedSegmentTypes.

Segmentos

As dicas técnicas e as informações capturadas detectadas em um vídeo são retornadas em uma matriz Segments de SegmentDetectionobjetos. A matriz é classificada pelos tipos de segmento (TECHNICAL_CUE ou SHOT) especificados no parâmetro de entrada SegmentTypes de StartSegmentDetection. Em cada tipo de segmento, a matriz é classificada por valores de time stamp. Cada objeto SegmentDetection inclui informações sobre o tipo de segmento detectado (sinal técnico ou detecção de tomada) e informações gerais, como a hora de início, a hora de término e a duração do segmento.

As informações de horário são retornadas em três formatos.

  • Milissegundos

    O número de milissegundos desde o início do vídeo. Os campos DurationMillis, StartTimestampMillis, e EndTimestampMillis estão no formato de milissegundos.

  • Código de tempo

    Os timecodes do Amazon Rekognition Video estão no formato SMPTE, em que cada quadro de vídeo tem um valor de timecode exclusivo. O formato é hh:mm:ss:quadro. Por exemplo, um valor de código de tempo de 01:05:40:07, seria lido como uma hora, cinco minutos, quarenta segundos e sete quadros. Os casos de uso de taxa de quadros reduzida são compatíveis com o Amazon Rekognition Video. O formato do código de tempo com taxa de descarte de quadro é hh:mm:ss;quadro. Os campos DurationSMPTE, StartTimecodeSMPTE e EndTimecodeSMPTE estão no formato de código de tempo.

  • Contadores de quadros

    A duração de cada segmento de vídeo também é expressa com o número de quadros. O campo StartFrameNumber fornece o número do quadro no início de um segmento de vídeo e EndFrameNumber fornece o número do quadro no final de um segmento de vídeo. DurationFrames fornece o número total de quadros em um segmento de vídeo. Esses valores são calculados usando um índice de quadros que começa com 0.

Você pode usar o campo SegmentType para determinar o tipo de segmento retornado pelo Amazon Rekognition Video.

  • Dicas técnicas — o TechnicalCueSegment campo é um TechnicalCueSegmentobjeto que contém a confiança na detecção e o tipo de uma dica técnica. Os tipos de dicas técnicas são ColorBars, EndCredits, BlackFrames, OpeningCredits, StudioLogo, Slate e Content.

  • Foto — o ShotSegment campo é um ShotSegmentobjeto que contém a confiança de detecção e um identificador para o segmento de captura dentro do vídeo.

O exemplo a seguir é a resposta do JSON em GetSegmentDetection.

{ "SelectedSegmentTypes": [ { "ModelVersion": "2.0", "Type": "SHOT" }, { "ModelVersion": "2.0", "Type": "TECHNICAL_CUE" } ], "Segments": [ { "DurationFrames": 299, "DurationSMPTE": "00:00:09;29", "StartFrameNumber": 0, "EndFrameNumber": 299, "EndTimecodeSMPTE": "00:00:09;29", "EndTimestampMillis": 9976, "StartTimestampMillis": 0, "DurationMillis": 9976, "StartTimecodeSMPTE": "00:00:00;00", "Type": "TECHNICAL_CUE", "TechnicalCueSegment": { "Confidence": 90.45006561279297, "Type": "BlackFrames" } }, { "DurationFrames": 150, "DurationSMPTE": "00:00:05;00", "StartFrameNumber": 299, "EndFrameNumber": 449, "EndTimecodeSMPTE": "00:00:14;29", "EndTimestampMillis": 14981, "StartTimestampMillis": 9976, "DurationMillis": 5005, "StartTimecodeSMPTE": "00:00:09;29", "Type": "TECHNICAL_CUE", "TechnicalCueSegment": { "Confidence": 100.0, "Type": "Content" } }, { "DurationFrames": 299, "ShotSegment": { "Index": 0, "Confidence": 99.9982681274414 }, "DurationSMPTE": "00:00:09;29", "StartFrameNumber": 0, "EndFrameNumber": 299, "EndTimecodeSMPTE": "00:00:09;29", "EndTimestampMillis": 9976, "StartTimestampMillis": 0, "DurationMillis": 9976, "StartTimecodeSMPTE": "00:00:00;00", "Type": "SHOT" }, { "DurationFrames": 149, "ShotSegment": { "Index": 1, "Confidence": 99.9982681274414 }, "DurationSMPTE": "00:00:04;29", "StartFrameNumber": 300, "EndFrameNumber": 449, "EndTimecodeSMPTE": "00:00:14;29", "EndTimestampMillis": 14981, "StartTimestampMillis": 10010, "DurationMillis": 4971, "StartTimecodeSMPTE": "00:00:10;00", "Type": "SHOT" } ], "JobStatus": "SUCCEEDED", "VideoMetadata": [ { "Format": "QuickTime / MOV", "FrameRate": 29.970029830932617, "Codec": "h264", "DurationMillis": 15015, "FrameHeight": 1080, "FrameWidth": 1920, "ColorRange": "LIMITED" } ], "AudioMetadata": [ { "NumberOfChannels": 1, "SampleRate": 48000, "Codec": "aac", "DurationMillis": 15007 } ] }

Para ver um código demonstrativo, consulte Exemplo: Detectando segmentos em um vídeo armazenado.