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, identifique el nombre de la transmisión o el nombre de recurso de Amazon (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 fragmentos.

nota

Primero debe llamar a laGetDataEndpoint API para obtener un punto final. A continuación, envíe lasGetMedia 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. LaGetMedia API devuelve un flujo de estos fragmentos a partir del fragmento que especifiques en la solicitud.

Cuando se usa laGetMedia API, se aplican los siguientes límites:

  • Un cliente puede llamarGetMedia 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 unaGetMedia sesió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 corregir y en qué condiciones, así como para proporcionar información sobre las acciones que el programador del cliente podría necesitar tomar para volver a intentarlo correctamente.

Para obtener más información, consulte la sección Errores al final de este tema, así como los 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 va a obtener del flujo especificado.

Tipo: objeto StartSelector

Obligatorio: sí

StreamARN

El ARN de la transmisión desde donde quieres 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 de los medios solicitados.

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

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 acerca de los fragmentos, consulte PutMedia. Los fragmentos que Kinesis Video Streams devuelve en laGetMedia llamada también incluyen las siguientes etiquetas Matroska (MKV) adicionales:

  • AWS_KINESISVIDEO_CONTINUATION_TOKEN (cadena UTF-8): en caso de que tuGetMedia llamada finalice, puedes utilizar este token de continuación en tu próxima solicitud para obtener el siguiente fragmento en el que finalizó 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 bloque.

  • AWS_KINESISVIDEO_SERVER_TIMESTAMP: marca de tiempo del fragmento en el servidor.

  • AWS_KINESISVIDEO_PRODUCER_TIMESTAMP: produce la marca de tiempo del fragmento.

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

  • AWS_KINESISVIDEO_ERROR_CODE: cadena que describe un error que provocó GetMedia la detención.

  • 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 para 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: El estado de la clave KMS especificada en la transmisión

  • 4506 - No se puede encontrar la clave de KMS especificada en la transmisión

  • 5000 - Error interno

Errores

Para obtener información sobre los errores comunes a todas las acciones, consulteErrores comunes.

ClientLimitExceededException

Kinesis Video Streams ha limitado la solicitud porque ha superado el límite de llamadas de cliente permitidas. Intenta hacer 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ó usó un punto final incorrecto para escribir datos en una transmisión. Al recibir una excepción de este tipo, el usuario debe llamarGetDataEndpoint conAPIName set toPUT_MEDIA y utilizar el punto final de la respuesta para invocar la siguientePutMedia llamada.

Código de estado HTTP: 400

NotAuthorizedException

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

Código de estado HTTP: 401

ResourceNotFoundException

Código de estado: 404, la transmisión con el nombre dado 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: