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 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
GetMedia
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-ErrorType
Encabezado HTTP: contiene un tipo de error más específico, además del que proporciona el código de estado HTTP. -
x-amz-RequestId
Encabezado 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 el
streamARN
, 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 el
streamName
, 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 la
GetMedia
llamada también incluyen las siguientes etiquetas Matroska (MKV) adicionales:-
AWS_KINESISVIDEO_CONTINUATION_TOKEN (cadena UTF-8): en caso de que tu
GetMedia
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 llamar
GetDataEndpoint
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: