Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Uso de la API de segmentos de Amazon Rekognition
La detección de segmentos de Amazon Rekognition Video en vídeos almacenados es una operación asíncrona de Amazon Rekognition Video. La API de Amazon Rekognition Segment es una API compuesta en la que se elige el tipo de análisis (indicaciones técnicas o detección de tomas) de una sola llamada a la API. Para obtener información acerca de cómo llamar a operaciones asíncronas, consulte Cómo llamar a las operaciones de Amazon Rekognition Video.
Inicio del análisis de segmentos
Para iniciar la detección de segmentos en una videollamada almacenada, llame a StartSegmentDetection. Los parámetros de entrada son los mismos que otras operaciones Amazon Rekognition Video con la adición de la selección de tipo de segmento y filtrado de resultados. Para obtener más información, consulte Comenzar el análisis de vídeo.
El siguiente es el ejemplo JSON que pasa StartSegmentDetection
. La solicitud especifica que se detecten tanto los segmentos de detección de indicaciones técnicas como los de detección de tomas. Se solicitan diferentes filtros para la confianza mínima de detección de los segmentos de indicaciones técnicas (90 %) y segmentos de detección de tomas (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 } } }
Selección de un tipo de segmento
Utilice el parámetro de entrada de matriz SegmentTypes
para detectar segmentos de indicaciones técnicas o de tomas en el vídeo de entrada.
-
TECHNICAL_CUE: identifica las marcas de tiempo con precisión a nivel de fotograma para el inicio, el final y la duración de las señales técnicas (fotogramas negros, barras de colores, créditos iniciales, créditos finales, logotipos de estudio y contenido principal del programa) detectadas en un vídeo. Por ejemplo, puede utilizar indicaciones técnicas para encontrar el inicio de los créditos finales. Para obtener más información, consulte Tomas técnicas.
-
TOMA: identifica el inicio, el final y la duración de una toma. Por ejemplo, puede utilizar la detección de tomas para identificar las tomas candidatas para la edición final de un vídeo. Para obtener más información, consulte Detección de tomas.
Filtrado de los resultados del análisis
Puede utilizar el parámetro de entrada Filters
(StartSegmentDetectionFilters) para especificar la confianza de detección mínima que se devuelve en la respuesta. En Filters
, utilice ShotFilter
(StartShotDetectionFilter) para filtrar las tomas detectadas. Utilice TechnicalCueFilter
(StartTechnicalCueDetectionFilter) para filtrar las señales técnicas.
Para ver el código de ejemplo, consulte Ejemplo: Detección de segmentos en un vídeo almacenado.
Obtención de los resultados del análisis de segmentos
Amazon Rekognition Video publica el estado de finalización de una operación de análisis de vídeo en un tema de Amazon Simple Notification Service. Si el análisis de vídeo es correcto, puede llamar a GetSegmentDetection para obtener los resultados.
A continuación, se muestra un ejemplo de solicitud GetSegmentDetection
. JobId
es el identificador de trabajo que devuelve la llamada a StartSegmentDetection
. Para obtener información acerca del resto de parámetros de entrada, consulte Obtención de los resultados del análisis de Amazon Rekognition Video.
{ "JobId": "270c1cc5e1d0ea2fbc59d97cb69a72a5495da75851976b14a1784ca90fc180e3", "MaxResults": 10, "NextToken": "XfXnZKiyMOGDhzBzYUhS5puM+g1IgezqFeYpv/H/+5noP/LmM57FitUAwSQ5D6G4AB/PNwolrw==" }
GetSegmentDetection
devuelve los resultados del análisis solicitado e información general sobre el vídeo almacenado.
Información general
GetSegmentDection
devuelve la siguiente información general.
-
Información de audio: la respuesta incluye metadatos de audio en una matriz,
AudioMetadata
, de objetos de AudioMetadata. Puede haber varias secuencias de audio. Cada objetoAudioMetadata
contiene metadatos para una sola secuencia de audio. La información de audio de un objetoAudioMetadata
incluye el códec de audio, el número de canales de audio, la duración de la transmisión de audio y la frecuencia de muestreo. Los metadatos de audio se devuelven en cada página de información devuelta porGetSegmentDetection
. -
Información de vídeo: actualmente, Amazon Rekognition Video devuelve un único objeto VideoMetadata en la matriz
VideoMetadata
. El objeto contiene información sobre la secuencia de vídeo en el archivo de entrada que Amazon Rekognition Video ha elegido para analizar. El objetoVideoMetadata
incluye el códec de vídeo, el formato de vídeo y otra información. Los metadatos de vídeo se devuelven en cada página de información devuelta porGetSegmentDetection
. -
Información de paginación: el ejemplo muestra una página de información de segmentación. Puede especificar la cantidad de elementos que se van a devolver en el parámetro de entrada
MaxResults
paraGetSegmentDetection
. Si existen más resultados queMaxResults
,GetSegmentDetection
devuelve un token (NextToken
) que se utiliza para obtener la siguiente página de resultados. Para obtener más información, consulte Obtención de los resultados del análisis de Amazon Rekognition Video. -
Solicitar información: el tipo de análisis solicitado en la llamada a
StartSegmentDetection
se devuelve en el campoSelectedSegmentTypes
.
Segmentos
La información de indicaciones técnicas y de tomas detectadas en un vídeo se devuelven en una matriz, Segments
, de objetos SegmentDetection. La matriz se ordena por los tipos de segmento (TECHNICAL_CUE o SHOT) especificados en el parámetro de entrada SegmentTypes
de StartSegmentDetection
. En cada tipo de segmento, la matriz se ordena por valores de marca temporal. Cada objeto SegmentDetection
incluye información sobre el tipo de segmento detectado (indicación técnica o detección de toma) e información general, como el tiempo de inicio, el tiempo de finalización y la duración del segmento.
La información de tiempo se devuelve en tres formatos.
-
Milisegundos
El número de milisegundos desde el inicio del vídeo. Los campos
DurationMillis
,StartTimestampMillis
yEndTimestampMillis
están en formato de milisegundos. -
Código temporal
Los códigos temporales de Amazon Rekognition Video están en formato SMPTE
donde cada fotograma de vídeo tiene un valor de código temporal único. El formato es hh:mm:ss:fotograma. Por ejemplo, un valor de código temporal de 01:05:40:07 se leería como una hora, cinco minutos, cuarenta segundos y siete fotogramas. Amazon Rekognition Video admite casos de uso de reducción de la velocidad de fotogramas . El formato de código temporal de velocidad de pérdida es hh:mm:ss;fotograma. Los campos DurationSMPTE
,StartTimecodeSMPTE
yEndTimecodeSMPTE
están en formato de código temporal. -
Contadores de fotogramas
La duración de cada segmento de vídeo también se expresa con el número de fotogramas. El campo
StartFrameNumber
proporciona el número de fotograma al principio de un segmento de vídeo yEndFrameNumber
el número de fotograma al final de un segmento de vídeo.DurationFrames
indica el número total de fotogramas de un segmento de vídeo. Estos valores se calculan mediante un índice de fotogramas que comienza por 0.
Puede utilizar el campo SegmentType
para determinar el tipo de segmento que devuelve Amazon Rekognition Video.
-
Indicaciones técnicas: el campo
TechnicalCueSegment
es un objeto TechnicalCueSegment que contiene la confianza de la detección y el tipo de señal técnica. Los tipos de señales técnicas sonColorBars
,EndCredits
,BlackFrames
,OpeningCredits
,StudioLogo
,Slate
yContent
. -
Toma: el campo
ShotSegment
es un objeto ShotSegment que contiene la confianza de detección y un identificador del segmento de la toma dentro del vídeo.
El siguiente ejemplo es la respuesta JSON de 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 el código de ejemplo, consulte Ejemplo: Detección de segmentos en un vídeo almacenado.