本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
下载并构建 Kinesis Video Streams C++ 制作器 SDK
按照以下步骤下载和构建 Kinesis Video Streams C++ SDK
-
下载 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
-
准备一个构建目录。类型:
mkdir -p kvs-producer-sdk-cpp/build cd kvs-producer-sdk-cpp/build
-
构建SDK和示例应用程序。
cmake .. -DBUILD_GSTREAMER_PLUGIN=ON -DBUILD_DEPENDENCIES=OFF -DALIGNED_MEMORY_MODEL=ON make -j$(nproc)
注意
如果您遇到构建问题并想尝试不同的CMake参数,请务必执行干净的构建。在重试之前
open-source
dependency
,请删除、和build
文件夹。 确认
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
确认GStreamer可以加载
kvssink
。将
GST_PLUGIN_PATH
环境变量设置为包含的目录libgstkvssink.so
。export GST_PLUGIN_PATH=`pwd`
有GStreamer负载
kvssink
:gst-inspect-1.0 kvssink
你应该看到一些相关的文档
kvssink
。使用箭头键进行导航,然后q
按退出。(可选)更新 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-source
dependency
,请删除、和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/cpuinfo
或lscpu
命令查看您的CPU信息。
解决方案:
要解决此问题,请在构建时添加以下CMake参数,以确保 Open SSL 版本正确适用于 32 位ARM架构:
-DBUILD_OPENSSL_PLATFORM=linux-armv4