准备什么
①平板电脑
这是Jetson nano的主角。Jetson nano宣布了便宜的2GB模型,但是这次我们将使用传统的4G模型。
②摄像头模块
这次,我将使用可拍摄高达180度的相机。通过USB连接,它还支持高达4K @ 30fps(MJPG)的视频录制。
③AWS账户
这次,我们将在AWS上使用Kinesis Video Stream:
您所需要做的就是以上三点。
交付到Amazon Kinesis视频流
为了将使用Jetson nano拍摄的视频分发到Amazon Kinesis Video Streams,必须同时设置作为分发方的Jetson nano和作为接收方的AWS。
Jetson nano(交付侧)设置
视频发行人Jetson nano使用GStreamer插件kvssink元素将视频传递到kinesis Video Stream。
①下载kinesis-video-streams-parser-library
首先,下载amazon-kinesis-video-streams-parser-library,其中包含kvssink的源代码。
$mkdir kvssink $cd kvssink $git clone https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp $
②安装必要的库
然后安装所需的库。就我而言,一切最初都包含在内。
$sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-base-apps $sudo apt-get install gstreamer1.0-plugins-bad gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-tools $
③cmake
然后cmake。关键是要添加GStreamer插件的选项“ -DBUILD_GSTREAMER_PLUGIN = ON”。cmake大约需要30分钟,因此请耐心等待
另外,以前的版本中似乎有一个安装脚本,但最新版本似乎已更改为cmake。该信息甚至都没有出现在亚马逊的官方页面上,因此我将在这里进行总结。
$cd amazon-kinesis-video-streams-producer-sdk-cpp $mkdir build $cd build $cmake -DBUILD_GSTREAMER_PLUGIN=ON .. ・・・省略・・・ $
Make
cmake完成后进行构建。这将在大约1分钟内完成。
$make -j3
⑤检查库
完成制作后,让我们检查完整的GStreamer库文件。如下所示创建“ libgstkvssink.so”就可以了。
$ls -l ・・・省略・・・ -rwxrwxr-x 1 test test 535056 10月 24 11:28 libgstkvssink.so
⑥插件路径设置
设置插件路径“ $ GST_PLUGIN_PATH”,以便可以从GStreamer使用创建的插件。
$export GST_PLUGIN_PATH=$GST_PLUGIN_PATH:`pwd` $ echo $GST_PLUGIN_PATH :/home/test/kvssinkazon-kinesis-video-streams-producer-sdk-cppild
⑦检查插件的操作
现在让我们看看GStreamer是否提供了kvssink插件。可以使用gst-inspect命令检查kvssink信息,如下所示。

这样就完成了Jetson nano(交付侧)设置。
Amazon Kinesis Video Streams(接收器)设置
在这里,配置接收Amazon Kinesis视频流。
①登录到AWS管理控制台
首先,让我们登录到AWS管理控制台。

②选择Kinesis Video Streams服务
选择屏幕左上方的“服务”,然后从服务列表中选择“ Kinesis Video Streams”。

③创建视频流
单击屏幕上的“创建视频流”按钮。如果出现区域选择屏幕,请选择所需的区域。

④输入视频流名称
输入您要创建的视频流的名称,然后单击创建视频流按钮。稍后将在命令行中使用此流名称,因此最好用英语输入它。

⑤确认视频流创建
如果如下所示显示视频流管理屏幕,则可以。

⑥添加IAM用户
接下来,添加一个想要使用Kinesis Video Streams的IAM用户。从服务列表中选择“ IAM”。

⑦添加用户
从左侧菜单中选择“用户”,然后在屏幕上单击“添加用户”按钮。

⑧输入用户名
显示“添加用户”屏幕时,输入用户名,选中“程序访问”,然后单击屏幕右下方的“下一步:访问权限”按钮。

⑨访问权限设置
然后将此用户设置为Kinesis Video Stream访问。
单击屏幕上的“直接附加现有策略”。接下来,在策略搜索字段中输入“ KinessVideo”进行搜索,然后检查显示的“ AmazonKinesisVideoSreamsFullAcess”策略。最后,点击“下一步:标记”按钮。

⑩添加标签
无需在“添加标签”屏幕上进行任何设置,因此请单击屏幕右下角的“下一步:确认”按钮。

11.确认其他用户
将显示一个确认屏幕,检查用户名和访问权限,然后单击“创建用户”按钮。

12.确认键
创建用户时,将发布访问密钥ID和秘密访问密钥,因此请在文本编辑器中记下它们。稍后,您将使用此键从Jetson nano传输视频。

12.确认其他用户
如果按“关闭”按钮,则可以看到已添加新用户。

这样就完成了Kinesis Video Streams(接收器)设置。
执行视频分发
现在是时候将视频从Jetson nano传输到Kinesis Video Streams。
①执行视频分发
从Jetson nano输入以下命令以开始视频分发。将流名称替换为上面创建的Kinesis Video Streams视频流名称,并将访问密钥和秘密密钥替换为上述IAM用户密钥。
GStreamer管道的要点是,从摄像机获取的MJPG格式视频曾经使用nvv4l2decode解码,然后再次使用nvv4l2h264enc编码为h264,并传递给kvssink。此过程使用Jetson nano的硬件编码器/解码器,因此可以高速处理。
在Jetson nano上执行命令后,显示先前创建的Kinesis Video Steams屏幕,然后单击“▶︎Media Playback”。
然后,将显示从Jetson nano传递的视频,如下所示!️
就这样。谢谢你的辛劳工作。
②确认视频分配

- 关于NVIDIA Jetson AGX Orin模组,这些信息很重要
- 对计算能力9.0+GPU卡特性的探索
- 在自动光学检测(AOI)领域中推广Jetson Xavier 方案到底解决哪些痛点?
- 关于Jetson AGX Orin产品你不知道的关键点都在这里
- 揭秘 Jetson 上的统一内存
- NVIDIA Jetson 软件: 将 NVIDIA 加速技术带到边缘
- 新一代Jetson NANO开发套件(B01)开箱
- 从Tensorflow生成TensorRT引擎的方法
- 实战教程:利用NVIDIA TensorRT优化一个推荐系统
- NVIDIA机器人开发工具包ISAAC实战(英文)
- 如何搭建一个NVIDIA JetBot小车(英文)
- Jetson TX2进行摄像头驱动的开发