Descargue y cree el productor de Kinesis Video Streams C++ SDK - 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.

Descargue y cree el productor de Kinesis Video Streams C++ SDK

Siga los procedimientos que se indican a continuación para descargar y compilar el productor de Kinesis Video Streams C++ SDK.

  1. Descargue SDK. Tipo: 

    cd ~/Downloads git clone https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp.git --single-branch -b master kvs-producer-sdk-cpp
  2. Prepare un directorio de compilación. Tipo: 

    mkdir -p kvs-producer-sdk-cpp/build cd kvs-producer-sdk-cpp/build
  3. Cree las aplicaciones SDK y muéstrelas.

    cmake .. -DBUILD_GSTREAMER_PLUGIN=ON -DBUILD_DEPENDENCIES=OFF -DALIGNED_MEMORY_MODEL=ON make -j$(nproc)
    nota

    Si encuentra un problema de compilación y quiere probar diferentes CMake argumentos, asegúrese de realizar una compilación limpia. Elimine las build carpetas open-sourcedependency, y antes de volver a intentarlo.

  4. Confirme que libgstkvssink.so esté presente.

    Enumere los archivos del directorio actual.

    Mensaje:

    ls

    Respuesta:

    CMakeCache.txt dependency kvs_gstreamer_sample CMakeFiles kvs_gstreamer_audio_video_sample kvssink_gstreamer_sample Makefile kvs_gstreamer_file_uploader_sample libKinesisVideoProducer.so cmake_install.cmake kvs_gstreamer_multistream_sample libgstkvssink.so
  5. Confirme que GStreamer se puede cargarkvssink.

    Establezca la variable de GST_PLUGIN_PATH entorno en el directorio que la contienelibgstkvssink.so.

    export GST_PLUGIN_PATH=`pwd`

    Tenga GStreamer cargakvssink:

    gst-inspect-1.0 kvssink

    Deberías ver alguna documentación al respectokvssink. Usa las teclas de flecha para navegar y presiona q para salir.

  6. (Opcional) Actualice el script de inicio del shell para incluir la configuración de la variable de GST_PLUGIN_PATH entorno. Esto garantiza que GST_PLUGIN_PATH esté configurado correctamente durante una nueva sesión de terminal. En los dispositivos Raspberry Pi, el script de inicio de la consola es~/.bashrc.

    Ejecute el siguiente comando para añadir el comando al final del script de inicio del shell.

    echo "export GST_PLUGIN_PATH=~/Downloads/kvs-producer-sdk-cpp/build" >> ~/.bashrc

    Escriba lo siguiente para ejecutar el script de inicio del shell o cierre el shell actual y abra uno nuevo.

    source ~/.bashrc

    Confirme que GST_PLUGIN_PATH está configurado y ya puede cargarlokvssink.

    echo $GST_PLUGIN_PATH
    gst-inspect-1.0 kvssink

Solucione problemas de compilación

Si te encuentras con un problema de compilación y quieres probar diferentes CMake argumentos, asegúrate de realizar una compilación limpia. Elimine las build carpetas open-sourcedependency, y antes de volver a intentarlo.

Crea problemas con Open SSL

Si recibe un resultado similar al siguiente, indica que Open SSL ha detectado incorrectamente la arquitectura del sistema.

crypto/md5/md5-aarch64.S: Assembler messages: crypto/md5/md5-aarch64.S:3: Error: unrecognized symbol type "" crypto/md5/md5-aarch64.S:6: Error: bad instruction `stp x19,x20,[sp,#-80]!' crypto/md5/md5-aarch64.S:7: Error: bad instruction `stp x21,x22,[sp,#16]' crypto/md5/md5-aarch64.S:8: Error: bad instruction `stp x23,x24,[sp,#32]' crypto/md5/md5-aarch64.S:9: Error: bad instruction `stp x25,x26,[sp,#48]'

En este ejemplo, está intentando crear una versión de 64 bits (linux-aarch64) cuando esta Raspberry Pi es en realidad de 32 bits. Algunos dispositivos Raspberry Pi tienen un núcleo de 64 bits, pero un espacio de usuario de 32 bits.

Para comprobar la arquitectura del sistema:

  • Revise el nivel de bits del núcleo: ejecute uname -m

  • Revise el espacio de usuario bit-ness: run getconf LONG_BIT

También puede revisar su CPU información con nuestros comandoscat /proc/cpuinfo. lscpu

Solución

Para resolver este problema, añada el siguiente CMake argumento al compilar, para asegurarse de que Open SSL compila correctamente para la ARM arquitectura de 32 bits:

-DBUILD_OPENSSL_PLATFORM=linux-armv4