下载并构建 Kinesis Video Streams C++ 制作器 SDK - Amazon Kinesis Video Streams

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

下载并构建 Kinesis Video Streams C++ 制作器 SDK

按照以下步骤下载和构建 Kinesis Video Streams C++ SDK 制作器。

  1. 下载 SDK。类型:

    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. 准备一个构建目录。类型:

    mkdir -p kvs-producer-sdk-cpp/build cd kvs-producer-sdk-cpp/build
  3. 构建SDK和示例应用程序。

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

    如果您遇到构建问题并想尝试不同的CMake参数,请务必执行干净的构建。在重试之前 open-sourcedependency,请删除、和build文件夹。

  4. 确认libgstkvssink.so存在。

    列出当前目录中的文件。

    提示:

    ls

    响应:

    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. 确认GStreamer可以加载kvssink

    GST_PLUGIN_PATH环境变量设置为包含的目录libgstkvssink.so

    export GST_PLUGIN_PATH=`pwd`

    有GStreamer负载kvssink

    gst-inspect-1.0 kvssink

    你应该看到一些相关的文档kvssink。使用箭头键进行导航,然后q按退出。

  6. (可选)更新 shell 的启动脚本以包括设置GST_PLUGIN_PATH环境变量。这样可以确保GST_PLUGIN_PATH在新的终端会话期间正确设置。在 Raspberry Pi 设备上,外壳程序的启动脚本是~/.bashrc

    运行以下命令将该命令附加到 shell 启动脚本的末尾。

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

    键入以下命令来运行 shell 的启动脚本,或者关闭当前 shell 并打开一个新的 shell。

    source ~/.bashrc

    确认GST_PLUGIN_PATH已设置,即可加载kvssink

    echo $GST_PLUGIN_PATH
    gst-inspect-1.0 kvssink

对构建问题进行故障排除

如果您遇到构建问题并想尝试不同的CMake参数,请务必执行干净的构建。在重试之前 open-sourcedependency,请删除、和build文件夹。

使用 Open 构建问题 SSL

如果您收到类似以下内容的输出,则表明 Op SSL en 未正确检测到您的系统架构。

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]'

在此示例中,它正在尝试构建 64 位版本 (linux-aarch64),而这个 Raspberry Pi 实际上是 32 位。某些 Raspberry Pi 设备具有 64 位内核,但有 32 位用户空间。

要验证系统的架构,请执行以下操作:

  • 查看内核位数:运行 uname -m

  • 查看用户空间位数:运行 getconf LONG_BIT

您也可以使用cat /proc/cpuinfolscpu命令查看您的CPU信息。

解决方案:

要解决此问题,请在构建时添加以下CMake参数,以确保 Open SSL 版本正确适用于 32 位ARM架构:

-DBUILD_OPENSSL_PLATFORM=linux-armv4