GetMedia - Amazon Kinesis Video Streams

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.

GetMedia

Utilice esta API para recuperar contenido multimedia de una transmisión de vídeo de Kinesis. En la solicitud, debe identificar el nombre de la transmisión o el nombre de Amazon Resource Name (ARN) de la transmisión y el fragmento inicial. A continuación, Kinesis Video Streams devuelve una secuencia de fragmentos ordenados por número de fragmento.

nota

Primero debe llamar a la GetDataEndpoint API para obtener un punto final. A continuación, envíe las GetMedia solicitudes a este punto final mediante el parámetro --endpoint-url.

Cuando coloca datos multimedia (fragmentos) en una transmisión, Kinesis Video Streams almacena cada fragmento entrante y los metadatos relacionados en lo que se denomina un «fragmento». Para obtener más información, consulte. PutMedia La GetMedia API devuelve un flujo de estos fragmentos a partir del fragmento que especifiques en la solicitud.

Al usar la API, se aplican los siguientes límites: GetMedia

  • Un cliente puede llamar GetMedia hasta cinco veces por segundo por transmisión.

  • Kinesis Video Streams envía datos multimedia a una velocidad de hasta 25 megabytes por segundo (o 200 megabits por segundo) durante una sesión. GetMedia

nota

El código de estado de la respuesta GetMedia HTTP se devolverá inmediatamente, pero la lectura de la carga útil de la respuesta HTTP se agotará transcurridos 3 segundos si no hay fragmentos ingeridos disponibles para su reproducción.

nota

Si se produce un error después de invocar una API multimedia de Kinesis Video Streams, además del código de estado HTTP y el cuerpo de la respuesta, se incluye la siguiente información:

  • x-amz-ErrorTypeEncabezado HTTP: contiene un tipo de error más específico además del que proporciona el código de estado HTTP.

  • x-amz-RequestIdEncabezado HTTP: si quieres informar de un problemaAWS, el equipo de soporte puede diagnosticar mejor el problema si se le proporciona el identificador de la solicitud.

Tanto el código de estado HTTP como el ErrorType encabezado se pueden utilizar para tomar decisiones programáticas sobre si los errores se pueden volver a cometer y en qué condiciones, así como para proporcionar información sobre las medidas que el programador del cliente podría tener que tomar para volver a intentarlo correctamente.

Para obtener más información, consulte la sección de errores al final de este tema, así como la sección Errores comunes.

Sintaxis de la solicitud

POST /getMedia HTTP/1.1 Content-type: application/json { "StartSelector": { "AfterFragmentNumber": "string", "ContinuationToken": "string", "StartSelectorType": "string", "StartTimestamp": number }, "StreamARN": "string", "StreamName": "string" }

Parámetros de solicitud del URI

La solicitud no utiliza ningún parámetro de URI.

Cuerpo de la solicitud

La solicitud acepta los siguientes datos en formato JSON.

StartSelector

Identifica el fragmento inicial que se debe obtener de la transmisión especificada.

Tipo: objeto StartSelector

Obligatorio: sí

StreamARN

El ARN de la transmisión desde la que desea obtener el contenido multimedia. Si no especifica elstreamARN, debe especificar elstreamName.

Tipo: cadena

Limitaciones de longitud: longitud mínima de 1. La longitud máxima es de 1024 caracteres.

Patrón: arn:[a-z\d-]+:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+

Obligatorio: no

StreamName

El nombre de la transmisión de vídeo de Kinesis desde donde desea obtener el contenido multimedia. Si no especifica elstreamName, debe especificar elstreamARN.

Tipo: cadena

Limitaciones de longitud: longitud mínima de 1. La longitud máxima es de 256 caracteres.

Patrón: [a-zA-Z0-9_.-]+

Obligatorio: no

Sintaxis de la respuesta

HTTP/1.1 200 Content-Type: ContentType Payload

Elementos de respuesta

Si la acción se realiza correctamente, el servicio devuelve una respuesta HTTP 200.

La respuesta devuelve los siguientes encabezados HTTP.

ContentType

El tipo de contenido del medio solicitado.

Limitaciones de longitud: longitud mínima de 1. La longitud máxima es de 128.

Patrón: ^[a-zA-Z0-9_\.\-]+$

La respuesta devuelve lo siguiente como el cuerpo HTTP.

Payload

La carga útil que devuelve Kinesis Video Streams es una secuencia de fragmentos de la transmisión especificada. Para obtener más información sobre los fragmentos, consulte. PutMedia Los fragmentos que Kinesis Video Streams devuelve en GetMedia la convocatoria también incluyen las siguientes etiquetas Matroska (MKV) adicionales:

  • AWS_KINESISVIDEO_CONTINUATION_TOKEN (cadena UTF-8): en caso de que su GetMedia llamada termine, puede usar este token de continuación en su próxima solicitud para obtener el siguiente fragmento en el que terminó la última solicitud.

  • AWS_KINESISVIDEO_MILLIS_BEHIND_NOW (cadena UTF-8): las aplicaciones cliente pueden usar este valor de etiqueta para determinar qué tan lejos está el fragmento devuelto en la respuesta del último fragmento de la transmisión.

  • AWS_KINESISVIDEO_FRAGMENT_NUMBER: número de fragmento devuelto en el fragmento.

  • AWS_KINESISVIDEO_SERVER_TIMESTAMP: marca de tiempo del servidor del fragmento.

  • AWS_KINESISVIDEO_PRODUCER_TIMESTAMP: marca de tiempo del productor del fragmento.

Si se produce un error, aparecerán las siguientes etiquetas:

  • AWS_KINESISVIDEO_ERROR_CODE: descripción de cadena de un error que provocó su detención. GetMedia

  • AWS_KINESISVIDEO_ERROR_ID: código entero del error.

Los códigos de error son los siguientes:

  • 3002: error al escribir en la transmisión

  • 4000: No se encuentra el fragmento solicitado

  • 4500: Acceso denegado a la clave KMS de la transmisión

  • 4501: La clave KMS de Stream está deshabilitada

  • 4502: Error de validación en la clave KMS de la transmisión

  • 4503: la clave KMS especificada en la transmisión no está disponible

  • 4504: uso no válido de la clave KMS especificada en la transmisión

  • 4505: estado no válido de la clave KMS especificada en la transmisión

  • 4506: no se encuentra la clave KMS especificada en la transmisión

  • 5000: error interno

Errores

Para obtener información acerca de los errores comunes a todas las acciones, consulte Errores comunes.

ClientLimitExceededException

Kinesis Video Streams ha limitado la solicitud porque ha superado el límite de llamadas de clientes permitidas. Intente realizar la llamada más tarde.

Código de estado HTTP: 400

ConnectionLimitExceededException

Kinesis Video Streams ha limitado la solicitud porque ha superado el límite de conexiones de cliente permitidas.

Código de estado HTTP: 400

InvalidArgumentException

El valor de este parámetro de entrada no es válido.

Código de estado HTTP: 400

InvalidEndpointException

La persona que llamó utilizó un punto final incorrecto para escribir datos en una transmisión. Al recibir una excepción de este tipo, el usuario debe llamar GetDataEndpoint con el APIName valor establecido en PUT_MEDIA y utilizar el punto final de respuesta para invocar la siguiente PutMedia llamada.

Código de estado HTTP: 400

NotAuthorizedException

La persona que llama no está autorizada a realizar ninguna operación en la transmisión determinada o el token ha caducado.

Código de estado HTTP: 401

ResourceNotFoundException

Código de estado: 404. La transmisión con el nombre indicado no existe.

Código de estado HTTP: 404

Véase también

Para obtener más información sobre el uso de esta API en un SDK de AWS de un lenguaje específico, consulte: