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-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 problema AWS, 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.
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 el
streamARN
, debe especificar elstreamName
.Tipo: string
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: string
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. Longitud máxima 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 elAPIName
valor establecido enPUT_MEDIA
y utilizar el punto final de respuesta para invocar la siguientePutMedia
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 uno de los AWS SDK específicos del idioma, consulta lo siguiente: