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.
Compatibilidad con Kinesis Video API Streams y bibliotecas de productores
Kinesis Video Streams le APIs permite 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 transmisión en directo video-on-demand y la reproducción. Kinesis Video Streams también proporciona un conjunto de bibliotecas de productores que puede usar 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.
Kinesis Video Streams API
Kinesis Video Streams APIs permite crear y administrar Kinesis Video Streams. También permite APIs leer y escribir datos multimedia en una transmisión, de la siguiente manera:
-
Productor API: Kinesis Video Streams permite escribir datos multimedia en
PutMedia
API 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 lado del servidor para cada fragmento, como metadatos específicos de Kinesis Video Streams.
-
ConsumidorAPIs: los consumidores pueden usar lo siguiente para obtener datos de una transmisión: APIs
-
GetMedia
- Al usarloAPI, los consumidores deben identificar el fragmento inicial. APILuego devuelve los fragmentos en el orden en que se agregaron a la secuencia (en orden creciente según el número de fragmentos). Los datos multimedia de 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 recientes que aún no están archivados,GetMedia
pasa a leer fragmentos de 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 que no estén conectados a Internet pueden optar por buscar de forma explícita determinados fragmentos multimedia o gamas de vídeo combinando las teclas y.ListFragments
GetMediaFromFragmentList
APIsListFragments
yGetMediaFromFragmentList
permitir que una aplicación identifique segmentos de vídeo para un intervalo de tiempo o un intervalo de fragmentos determinado y, a continuación, extraiga esos fragmentos secuencialmente o en paralelo 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:
-
Para obtener una lista de fragmentos, llame a
ListFragments
API y especifique un intervalo de tiempo para seleccionar la colección de fragmentos deseada.APIDevuelve los metadatos de todos los fragmentos en el intervalo de tiempo especificado. Los metadatos proporcionan información como el número de fragmentos, 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 podría optar por dividir la lista en sublistas y hacer que los trabajadores (por ejemplo, varias EC2 instancias de Amazon) busquen los fragmentos en paralelo utilizando el
GetMediaFromFragmentList
y los procesen en paralelo.
-
-
El siguiente diagrama muestra el flujo de datos de los fragmentos y fragmentos durante estas llamadas. 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 horarias 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 banco de datos.
Patrón de detección de terminales
Plano de control REST APIs
Para acceder al REST APIs plano de control de Kinesis Video Streams, utilice los puntos finales del servicio Kinesis Video Streams.
Plano de datos REST APIs
Kinesis Video Streams se ha creado con una arquitectura celular para garantizar mejores propiedades de escalado y aislamiento del tráfico. Como cada transmisión se asigna a una celda específica de una región, la aplicación debe usar los puntos finales correctos específicos de la celda a los que se ha mapeado la transmisión. Al acceder al plano de datos RESTAPIs, tendrá que gestionar y mapear usted mismo los puntos finales correctos. Este proceso, el patrón de detección de puntos finales, se describe a continuación:
-
El patrón de detección de puntos finales comienza con una llamada a una de las
GetEndpoints
acciones. Estas acciones pertenecen al plano de control.Si va a recuperar los puntos finales de los Medios archivados de Amazon Kinesis Video Streams servicios Amazon Kinesis Video Streams Media o servicios, utilice. GetDataEndpoint
Si va a recuperar los puntos finales para Kinesis Video Signaling Amazon Kinesis Video StreamsAlmacenamiento web de vídeo en Amazon Kinesis RTC, utilice. GetSignalingChannelEndpoint
Guarde en caché y reutilice el punto final.
Si el punto final almacenado en caché ya no funciona, realice una nueva llamada
GetEndpoints
a para actualizar el punto final.
Bibliotecas de productores
Tras 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 utilizar estas bibliotecas para extraer datos de sus fuentes multimedia y cargarlos en la transmisión de vídeo de Kinesis. Para obtener más información acerca de las producer libraries, consulte Cargar a Kinesis Video Streams.