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 objetoAudioMetadata
contém metadados para um único stream de áudio. As informações de áudio em um objetoAudioMetadata
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 porGetSegmentDetection
. -
Informações de vídeo — Atualmente, o Amazon Rekognition Video retorna um único objeto na matriz. VideoMetadata
VideoMetadata
O objeto contém informações sobre o stream de vídeo no arquivo de entrada que o Amazon Rekognition Video escolheu analisar. O objetoVideoMetadata
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 porGetSegmentDetection
. -
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
paraGetSegmentDetection
. Se existirem mais resultados além deMaxResults
, oGetSegmentDetection
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 campoSelectedSegmentTypes
.
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
, eEndTimestampMillis
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
eEndTimecodeSMPTE
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 eEndFrameNumber
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ãoColorBars
,EndCredits
,BlackFrames
,OpeningCredits
,StudioLogo
,Slate
eContent
. -
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.