Baixe e crie o produtor de C++ do Kinesis Video Streams SDK - Amazon Kinesis Video Streams

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Baixe e crie o produtor de C++ do Kinesis Video Streams SDK

Siga os procedimentos abaixo para baixar e criar o produtor de C++ do Kinesis Video Streams SDK.

  1. Faça download do 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 um diretório de compilação. Tipo:

    mkdir -p kvs-producer-sdk-cpp/build cd kvs-producer-sdk-cpp/build
  3. Crie SDK e experimente os aplicativos.

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

    Se você encontrar um problema de compilação e quiser tentar CMake argumentos diferentes, certifique-se de executar uma compilação limpa. Exclua as build pastas open-sourcedependency, e antes de tentar novamente.

  4. Confirme se libgstkvssink.so está presente.

    Listar os arquivos no diretório atual.

    Aviso:

    ls

    Resposta:

    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 se isso GStreamer pode ser carregadokvssink.

    Defina a variável de GST_PLUGIN_PATH ambiente para o diretório que contémlibgstkvssink.so.

    export GST_PLUGIN_PATH=`pwd`

    Tenha uma GStreamer cargakvssink:

    gst-inspect-1.0 kvssink

    Você deve ver alguma documentação sobrekvssink. Use as teclas de seta para navegar e pressione q para sair.

  6. (Opcional) Atualize o script de inicialização do shell para incluir a configuração da variável de GST_PLUGIN_PATH ambiente. Isso garante que GST_PLUGIN_PATH seja configurado corretamente durante uma nova sessão de terminal. Em dispositivos Raspberry Pi, o script de inicialização do shell é. ~/.bashrc

    Execute o comando a seguir para anexar o comando ao final do script de inicialização do shell.

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

    Digite o seguinte para executar o script de inicialização do shell ou fechar o shell atual e abrir um novo.

    source ~/.bashrc

    Confirme GST_PLUGIN_PATH se está definido e você pode carregarkvssink.

    echo $GST_PLUGIN_PATH
    gst-inspect-1.0 kvssink

Solucionar problemas de compilação

Se você encontrar um problema de compilação e quiser tentar CMake argumentos diferentes, certifique-se de executar uma compilação limpa. Exclua as build pastas open-sourcedependency, e antes de tentar novamente.

Crie problemas com o Open SSL

Se você receber uma saída semelhante à seguinte, isso indica que o Open SSL detectou incorretamente a arquitetura do 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]'

Neste exemplo, ele está tentando criar uma versão de 64 bits (linux-aarch64) quando esse Raspberry Pi é na verdade 32 bits. Alguns dispositivos Raspberry Pi têm um kernel de 64 bits, mas um espaço de usuário de 32 bits.

Para verificar a arquitetura do seu sistema:

  • Revise o número de bits do kernel: execute uname -m

  • Revise a quantidade de bits do espaço do usuário: execute getconf LONG_BIT

Você também pode revisar suas CPU informações com cat /proc/cpuinfo nossos lscpu comandos.

Resolução:

Para resolver esse problema, adicione o seguinte CMake argumento ao criar, para garantir que o Open seja SSL compilado corretamente para a arquitetura de 32 bitsARM:

-DBUILD_OPENSSL_PLATFORM=linux-armv4