

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.

# Llamada a operaciones de detección de etiquetas para la transmisión de eventos de vídeo
<a name="streaming-labels-detection"></a>

Amazon Rekognition Video puede detectar personas u objetos relevantes en una transmisión de vídeo y notificarle cuando los detecte. Cuando cree un procesador de transmisión de detección de etiquetas, elija qué etiquetas quiere que Amazon Rekognition Video detecte. Pueden ser personas, paquetes y mascotas, o personas, paquetes, mascotas. Elija solo las etiquetas específicas que desee detectar. De esta forma, las únicas etiquetas relevantes crean notificaciones. Puede configurar las opciones para determinar cuándo almacenar la información de vídeo y, a continuación, realizar un procesamiento adicional en función de las etiquetas que se detecten en el fotograma.

Tras configurar los recursos, el proceso para detectar etiquetas en una transmisión de vídeo es el siguiente:

1. Creación del procesador de streaming

1. Iniciar el procesador de streaming

1. Si se detecta un objeto de interés, recibirá una notificación de Amazon SNS la primera vez que aparezca cada objeto de interés.

1. El procesador de transmisiones se detiene cuando finaliza el tiempo especificado en `MaxDurationInSeconds`.

1. Recibirá una notificación final de Amazon SNS con un resumen del evento.

1. Amazon Rekognition Video publica un resumen detallado de la sesión en su bucket de S3.

**Topics**
+ [Creación del procesador de flujo de detección de etiquetas de Amazon Rekognition Video](#streaming-video-create-labels-stream-processor)
+ [Iniciar el procesador de flujo de detección de etiquetas de Amazon Rekognition Video](#streaming-video-start-labels-stream-processor)
+ [Analizar los resultados de la detección de etiquetas](#streaming-video-labels-stream-processor-results)

## Creación del procesador de flujo de detección de etiquetas de Amazon Rekognition Video
<a name="streaming-video-create-labels-stream-processor"></a>

Antes de poder analizar un vídeo en streaming, debe crear un procesador de streaming Amazon Rekognition Video (). [CreateStreamProcessor](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CreateStreamProcessor.html)

Si desea crear un procesador de transmisiones para detectar etiquetas de interés y personas, proporcione como entrada una transmisión de vídeo de Kinesis (`Input`), información sobre el bucket de Amazon S3 (`Output`) y un ARN de tema de Amazon SNS (`StreamProcessorNotificationChannel`). También puede proporcionar un ID de clave de KMS para cifrar los datos que se envían al bucket de S3. Especifica lo quiere detectar en `Settings`, como personas, paquetes y personas, o mascotas, personas y paquetes. También puede especificar en qué parte del fotograma quiere que Amazon Rekognition supervise con `RegionsOfInterest`. A continuación, se muestra un ejemplo de JSON para la solicitud `CreateStreamProcessor`.

```
{
  "DataSharingPreference": { "OptIn":TRUE
  },
  "Input": {
    "KinesisVideoStream": {
      "Arn": "arn:aws:kinesisvideo:us-east-1:nnnnnnnnnnnn:stream/muh_video_stream/nnnnnnnnnnnnn"
    }
  },
  "KmsKeyId": "muhkey",
  "Name": "muh-default_stream_processor",
  "Output": {
    "S3Destination": {
      "Bucket": "s3bucket",
      "KeyPrefix": "s3prefix"
    }
  },
  "NotificationChannel": {
    "SNSTopicArn": "arn:aws:sns:us-east-2:nnnnnnnnnnnn:MyTopic"
  },
  "RoleArn": "arn:aws:iam::nnnnnnnnn:role/Admin",
  "Settings": {
    "ConnectedHome": {
      "Labels": [
        "PET"
      ]
    "MinConfidence": 80
    }
  },
  "RegionsOfInterest": [
    {
      "BoundingBox": {
        "Top": 0.11,
        "Left": 0.22,
        "Width": 0.33,
        "Height": 0.44
      }
    },
    {
      "Polygon": [
        {
          "X": 0.11,
          "Y": 0.11
        },
        {
          "X": 0.22,
          "Y": 0.22
        },
        {
          "X": 0.33,
          "Y": 0.33
        }
      ]
    }
  ]
}
```

Tenga en cuenta que puede cambiar el valor `MinConfidence` cuando especifique el valor `ConnectedHomeSettings` para el procesador de transmisiones. `MinConfidence` es un valor numérico que va de 0 a 100 y que indica la certeza del algoritmo con respecto a sus predicciones. Por ejemplo, una notificación para `person` con un valor de confianza de 90 significa que el algoritmo está absolutamente seguro de que la persona está presente en el vídeo. Un valor de confianza de 10 indica que puede haber una persona. Puede establecer `MinConfidence` en el valor que desee entre 0 y 100, en función de la frecuencia con la que desee recibir notificaciones. Por ejemplo, si quiere recibir notificaciones solo cuando Rekognition esté absolutamente seguro de que hay un paquete en el fotograma del vídeo, puede configurar `MinConfidence` en 90.

De forma predeterminada, `MinConfidence ` está establecido en 50. Si quiere optimizar el algoritmo para obtener una mayor precisión, puede configurar `MinConfidence` para que sea superior a 50. De este modo, recibirá menos notificaciones, pero cada notificación será más fiable. Si quiere optimizar el algoritmo para que sea más exhaustivo, puede configurar `MinConfidence` para que sea inferior a 50 para recibir más notificaciones. 

## Iniciar el procesador de flujo de detección de etiquetas de Amazon Rekognition Video
<a name="streaming-video-start-labels-stream-processor"></a>

Se comienza a analizar el vídeo en streaming llamando a [StartStreamProcessor](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StartStreamProcessor.html) con el nombre del procesador de streaming que especificó en `CreateStreamProcessor`. Cuando ejecuta la operación `StartStreamProcessor` en un procesador de flujo de detección de etiquetas, ingresa la información de inicio y finalización para determinar el tiempo de procesamiento.

Al iniciar el procesador de flujo, el estado del procesador de flujo de detección de etiquetas cambia de las siguientes maneras:

1. Cuando llama a `StartStreamProcessor`, el estado del procesador de flujo de detección de etiquetas pasa de `STOPPED` o `FAILED` a `STARTING`.

1. Mientras el procesador de flujo de detección de etiquetas está en funcionamiento, permanece en `STARTING`.

1. Cuando el procesador de flujo de detección de etiquetas termina de funcionar, el estado pasa a ser `STOPPED` o `FAILED`.

`StartSelector` especifica el punto de partida de la transmisión de Kinesis para iniciar el procesamiento. Puede utilizar la marca de tiempo del productor de KVS o el número de fragmento de KVS. Para obtener más información, consulte [Fragment](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_reader_Fragment.html).

**nota**  
Si utiliza la marca de tiempo de KVS Producer, debe introducir la hora en milisegundos.

`StopSelector` especifica cuándo dejar de procesar la transmisión. Puede especificar una cantidad máxima de tiempo para procesar el vídeo. El valor predeterminado es una duración máxima de 10 segundos. Tenga en cuenta que el tiempo de procesamiento real puede ser un poco más largo que la duración máxima, en función del tamaño de los fragmentos de KVS individuales. Si se alcanza o se supera la duración máxima al final de un fragmento, el tiempo de procesamiento se detiene. 

A continuación, se muestra un ejemplo de JSON para la solicitud `StartStreamProcessor`.

```
{
   "Name": "string",
   "StartSelector": {
     "KVSStreamStartSelector": { 
         "KVSProducerTimestamp": 1655930623123
      },
        "StopSelector": {
            "MaxDurationInSeconds": 11
      }
   }
}
```

Si el procesador de streaming comienza correctamente, se devuelve una respuesta HTTP 200. Se incluye un cuerpo JSON vacío.

## Analizar los resultados de la detección de etiquetas
<a name="streaming-video-labels-stream-processor-results"></a>

Amazon Rekognition Video publica las notificaciones de un procesador de flujos de detección de etiquetas de tres maneras: notificaciones de Amazon SNS para eventos de detección de objetos, una notificación de Amazon SNS para un resumen end-of-session y un informe detallado de bucket de Amazon S3. 
+ Notificaciones de Amazon SNS para eventos de detección de objetos. 

  Si se detectan etiquetas en la transmisión de vídeo, recibirá notificaciones de Amazon SNS sobre eventos de detección de objetos. Amazon Rekognition publica una notificación la primera vez que se detecta un objeto de interés en la secuencia de vídeo. Las notificaciones incluyen información como el tipo de etiqueta detectada, la confianza y un enlace a la imagen principal. También incluyen una imagen recortada de la persona o el objeto detectado y una marca de tiempo de detección. La notificación de SNS tiene el siguiente formato:

  ```
  {"Subject": "Rekognition Stream Processing Event",
      "Message": {    
          "inputInformation": {
              "kinesisVideo": {
                  "streamArn": string
              }
          },
          "eventNamespace": {
              "type": "LABEL_DETECTED"
          },
          "labels": [{
              "id": string,
              "name": "PERSON" | "PET" | "PACKAGE",
              "frameImageUri": string,
              "croppedImageUri": string,
              "videoMapping": {
                  "kinesisVideoMapping": {
                      "fragmentNumber": string,
                      "serverTimestamp": number,
                      "producerTimestamp": number,
                      "frameOffsetMillis": number
                  }
              },
              "boundingBox": {
                  "left": number,
                  "top": number,
                  "height": number,
                  "width": number
              }
          }],
          "eventId": string,
          "tags": {
              [string]: string
          },
          "sessionId": string,
          "startStreamProcessorRequest": object
      }
  }
  ```
+ Resumen de Amazon SNS. end-of-session

  También recibirá una notificación de Amazon SNS cuando finaliza la sesión de procesamiento de secuencias. En esta notificación se muestran los metadatos de la sesión. Esto incluye detalles como la duración de la transmisión que se procesó. La notificación de SNS tiene el siguiente formato:

  ```
  {"Subject": "Rekognition Stream Processing Event",
      "Message": {
          "inputInformation": {
              "kinesisVideo": {
                  "streamArn": string,
                  "processedVideoDurationMillis": number
              }
          },
          "eventNamespace": {
              "type": "STREAM_PROCESSING_COMPLETE"
          },
          "streamProcessingResults": {
              "message": string
          },
          "eventId": string,
          "tags": {
              [string]: string
          },
          "sessionId": string,
          "startStreamProcessorRequest": object
      }
  }
  ```
+ Informe de bucket de Amazon S3.

  Amazon Rekognition Video publica los resultados de inferencia detallados de una operación de análisis de vídeo en el bucket de Amazon S3 que se proporciona en la operación `CreateStreamProcessor`. Estos resultados incluyen fotogramas de imágenes en los que se detectó por primera vez un objeto de interés o una persona. 

  Los marcos están disponibles en S3 en la siguiente ruta: ObjectKeyPrefix//StreamProcessorNameSessionId/*service\$1determined\$1unique\$1path*. En esta ruta, **LabelKeyPrefix**es un argumento opcional proporcionado por el cliente, **StreamProcessorName**es el nombre del recurso del procesador de transmisión y **SessionId**es un identificador único para la sesión de procesamiento de transmisión. Sustitúyalos según su situación.