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.
La API de Kinesis Video Streams
Kinesis Video Streams proporciona API para crear y administrar transmisiones y leer o escribir datos multimedia en y desde una transmisión. La consola Kinesis Video Streams, además de la funcionalidad de administración, también admite la video-on-demand reproducción y la reproducción en directo. Kinesis Video Streams también proporciona un conjunto de bibliotecas de producción que puede utilizar en el código de su aplicación para extraer datos de sus fuentes multimedia y cargarlos en su transmisión de vídeo de Kinesis.
La API de Kinesis Video Streams Kinesis
Kinesis Video Streams proporciona API para crear y administrar Kinesis Video Streams. También proporciona API para leer y escribir datos de medios en una transmisión, tal y como se indica a continuación:
-
API de productor: Kinesis Video Streams proporciona una
PutMedia
API para escribir datos multimedia en una transmisión de vídeo de Kinesis. En una solicitudPutMedia
, el productor envía una transmisión de fragmentos de medios. Un fragmento es una secuencia de fotogramas autónoma. Los fotogramas que pertenecen a un fragmento no deben tener ningún tipo de dependencia de fotogramas de otros fragmentos. Para obtener más información, consulte PutMedia.A medida que llegan los fragmentos, Kinesis Video Streams asigna un número de fragmento único, en orden creciente. También almacena las marcas de tiempo del lado del productor y del servidor para cada fragmento, como metadatos específicos de Kinesis Video Streams.
-
APIs para consumidores: los consumidores pueden usar las siguientes API para obtener datos de una transmisión:
-
GetMedia
: al utilizar esta API, los consumidores deben identificar el fragmento de inicio. Posteriormente, la API devuelve los fragmentos en el orden en el que se agregaron a la transmisión (en orden ascendente por número de fragmento). Los datos de medios en los fragmentos se empaquetan en un formato estructurado, como Matroska (MKV). Para obtener más información, consulte GetMedia. nota
GetMedia
sabe dónde están los fragmentos (archivados en el almacén de datos o disponibles en tiempo real). Por ejemplo, siGetMedia
determina que el fragmento de inicio está archivado, comienza a devolver fragmentos desde el almacén de datos. Cuando debe devolver fragmentos más nuevos que aún no estén archivados,GetMedia
pasa a leer fragmentos desde un búfer de flujo en memoria.Este es un ejemplo de un consumidor continuo, que procesa fragmentos en el orden en el que se reciben en la transmisión.
GetMedia
permite que las aplicaciones de procesamiento de vídeo fallen o se retrasen y después se pongan al día sin esfuerzo adicional. Al usarGetMedia
, las aplicaciones pueden procesar datos archivados en el almacén de datos, y a medida que la aplicación se pone al día,GetMedia
sigue enviando datos de medios en tiempo real a medida que llegan. -
GetMediaFromFragmentList
(yListFragments
): las aplicaciones de procesamiento por lotes se consideran consumidores sin conexión. Los consumidores sin conexión podrían optar por recuperar explícitamente fragmentos de medios particulares o intervalos de vídeo combinando las APIListFragments
yGetMediaFromFragmentList
.ListFragments
yGetMediaFromFragmentList
permiten que una aplicación identifique los segmentos de vídeo durante un intervalo de tiempo o un intervalo de fragmentos específico y, a continuación, recupere esos fragmentos secuencialmente o de forma paralela para su procesamiento. Este enfoque es adecuado para conjuntos de aplicacionesMapReduce
, que deben procesar rápidamente grandes cantidades de datos en paralelo.Por ejemplo, supongamos que un consumidor quiere procesar los fragmentos de vídeo de todo un día. El consumidor haría lo siguiente:
-
Obtener una lista de fragmentos llamando a la API
ListFragments
y especificar un intervalo de tiempo para seleccionar la colección de fragmentos deseada.La API devuelve los metadatos de todos los fragmentos en el intervalo de tiempo especificado. Los metadatos proporcionan información como el número de fragmento, las marcas de tiempo del lado del productor y del lado del servidor, etc.
-
Tomar la lista de metadatos de fragmentos y recuperar fragmentos, en cualquier orden. Por ejemplo, para procesar todos los fragmentos del día, el consumidor puede optar por dividir la lista en sublistas y hacer que los trabajadores (por ejemplo, varias instancias de Amazon EC2) obtengan los fragmentos en parallel mediante el
GetMediaFromFragmentList
y los procesen en parallel.
-
-
En el siguiente diagrama se muestra el flujo de datos de fragmentos durante estas llamadas a la API.

Cuando un productor envía una solicitud PutMedia
, envía los metadatos de medios en la carga y, a continuación, envía una secuencia de fragmentos de datos de medios. Al recibir los datos, Kinesis Video Streams almacena los datos multimedia entrantes como fragmentos de Kinesis Video Streams. Cada fragmento consta de los elementos siguientes:
-
Una copia de los metadatos de medios
-
Un fragmento
-
Metadatos específicos de Kinesis Video Streams; por ejemplo, el número de fragmento y las marcas de tiempo del lado del servidor y del productor
Cuando un consumidor solicita metadatos multimedia, Kinesis Video Streams devuelve una secuencia de fragmentos, empezando por el número de fragmento que especifique en la solicitud.
Si habilita la persistencia de datos para la transmisión, después de recibir un fragmento en la transmisión, Kinesis Video Streams también guarda una copia del fragmento en el almacén de datos.
Bibliotecas de productores
Después de crear una transmisión de vídeo de Kinesis, puede empezar a enviar datos a la transmisión. En el código de su aplicación, puede usar estas bibliotecas para extraer datos de sus fuentes multimedia y subirlos a su transmisión de vídeo de Kinesis. Para obtener más información acerca de las producer libraries, consulte Bibliotecas para productores de Kinesis Video Streams.