View a markdown version of this page

Reproduzca contenido multimedia de su transmisión de vídeo de Kinesis - 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.

Reproduzca contenido multimedia de su transmisión de vídeo de Kinesis

Abra la consola de Kinesis Video Streams y seleccione el nombre de la transmisión que creó.

En la consola aparece la transmisión de vídeo enviada desde el dispositivo Raspberry Pi.

nota

El vídeo puede tardar unos segundos en aparecer en la consola.

Una vez que se esté reproduciendo la transmisión, puedes experimentar con las siguientes funciones de la consola:

  • En la sección Video preview (Vista previa de vídeo), utilice los controles de navegación para rebobinar o avanzar la secuencia.

  • En la sección de información de la transmisión, revisa el códec, la resolución y la velocidad de bits de la transmisión. En este tutorial, los valores de resolución y velocidad de bits se han establecido deliberadamente a un nivel bajo en la Raspberry Pi para minimizar el uso del ancho de banda.

    Para ver las CloudWatch métricas de Amazon que se están creando para tu transmisión, selecciona Ver métricas de transmisión en. CloudWatch

  • En Data retention period (Período de retención de datos), observe que la secuencia de vídeo se conserva durante un día. Puede editar este valor y establecerlo en No data retention (Sin retención de datos) o establecer un valor desde un día hasta varios años.

  • En el caso del Server-side cifrado, observa que tus datos se cifran en reposo mediante una clave mantenida por AWS Key Management Service (AWS KMS).

Problemas de reproducción

A continuación se muestran algunos problemas de reproducción frecuentes y cómo solucionarlos.

No hay contenido multimedia, pero hay paquetes persistentes en los registros

Si ve los paquetes persistentes en los registros, significa que Kinesis Video Streams ha ingerido y almacenado correctamente el contenido multimedia subido por él. kvssink Los paquetes recibidos de Kinesis Video Streams tienen este aspecto. En el JSON, observe el valor de la "EventType" clave.

{"EventType":"RECEIVED","FragmentTimecode":252200,"FragmentNumber":"12345678901234567890123456724587702494771079511"} {"EventType":"BUFFERING","FragmentTimecode":252467,"FragmentNumber":"12345678901234567890123456781729223736853277017"} {"EventType":"RECEIVED","FragmentTimecode":252467,"FragmentNumber":"12345678901234567890123456781729223736853277017"} {"EventType":"BUFFERING","FragmentTimecode":253000,"FragmentNumber":"12345678901234567890123456738870744847093249408"} {"EventType":"PERSISTED","FragmentTimecode":252200,"FragmentNumber":"12345678901234567890123456724587702494771079511"} {"EventType":"PERSISTED","FragmentTimecode":252467,"FragmentNumber":"1234567890123456789012345671729223736853277017"}

Solución:

Espere uno o dos minutos en la consola de Kinesis Video Streams y, a continuación, utilice la doble flecha hacia la derecha. Si no aparece ningún contenido multimedia, compruebe que la transmisión se esté enviando a la región correcta y revise la ortografía del nombre de la transmisión. Puedes encontrar esta información en los registros.

Consulte Proporcione una región a kvssink para obtener más información sobre cómo kvssink determina qué región usar.

El contenido multimedia tarda mucho en cargarse en el Consola de administración de AWS

importante

La experiencia de reproducción de la consola es diferente a la de HLS y DASH. Utilice también la página web alojada en el reproductor multimedia de muestra GitHub para probar la reproducción. El código fuente de la página web se puede encontrar aquí.

Es posible que el contenido multimedia se cargue lentamente en la consola debido a un ancho de banda de red deficiente o a un dispositivo limitado, pero también puede estar relacionado con la codificación y la fragmentación del vídeo.

Conceptos básicos de codificación de vídeo:

  • H.264 y H.265 los codificadores utilizan fotogramas clave (I-Frames) y fotogramas predichos () para una compresión eficiente. P-Frames

  • Key-frames contienen datos de imagen completos, mientras que P-frames solo contienen cambios con respecto a los fotogramas anteriores.

  • El «intervalo entre fotogramas clave» determina la frecuencia con la que aparecen los fotogramas clave en la transmisión de vídeo.

Fragmentación en la transmisión:

  • En Kinesis Video Streams, los nuevos fragmentos comienzan con cada fotograma clave. Para obtener más información, consulte Modelo de datos de Kinesis Video Streams.

  • La longitud de los fragmentos (en segundos) se puede estimar de la siguiente manera: intervalo entre fotogramas clave y velocidad de fotogramas

    Ejemplo:

    Para una transmisión con un intervalo de fotogramas clave de 30 y una velocidad de fotogramas de 15 fps:

    Longitud del fragmento = 30 ÷ 15 = 2 segundos

Debido a que los intervalos entre fotogramas clave son más largos, los fragmentos más largos aumentan la latencia en el contenido multimedia en streaming.

Solución:

Para mejorar los tiempos de carga, considera la posibilidad de reducir el intervalo entre fotogramas clave. Esto creará fragmentos más cortos, lo que reducirá la latencia, pero también aumentará el tamaño del archivo de vídeo.

Para el elemento x264enc GStreamer, puedes establecer explícitamente el intervalo entre fotogramas clave mediante la propiedad: key-int-max

x264enc bframes=0 key-int-max=60

Al revisar el resultado del registro, observe la frecuencia con la que el cliente de carga recibe los ACK de Kinesis Video Streams. Cuantos más fotogramas clave se generen, más ACK se devolverán.

El contenido multimedia está distorsionado o tiene artefactos

Para solucionar este problema, asegúrese de que todos los cables estén bien conectados. Revisa la salida de los módulos de cámara libcamera-hello (o raspistill en el caso de las cámaras Pi antiguas).

En tu proceso de GStreamer, sustitúyelo por kvssink autovideosink o matroskamux y. filesink Por ejemplo:

... x264enc tune=zerolatency speed-preset=ultrafast bframes=0 key-int-max=60 byte-stream=true ! h264parse ! matroskamux ! filesink location=output.mkv

Revisa el archivo de salida filesink o el reproductor multimedia que se abre al usarlo autovideosink para ver si los artefactos también están ahí.

Revisa también el resultado de la siguiente canalización:

gst-launch-1.0 autovideosrc ! videoconvert ! autovideosink

Añadir elementos a tu canalización, como Dewarp, puede corregir las salidas de las cámaras ojo de pez.

Revisa los códecs de salida compatibles con tu cámara y ajusta los elementos según sea necesario.

Por ejemplo, si tu cámara USB solo admite la salida JPEG, necesitarás usar los jpegdec elementos jpegparse y para transformar el contenido multimedia antes de codificarlo y H.264 usarlox264enc. Busca ayuda en los foros de GStreamer para otros usuarios con configuraciones de cámara and/or web similares a las de Pipelines.