Linux 35.6 + JetPack v5.1.4@DeepStream安装
Linux 35.6 + JetPack v5.1.4@DeepStream安装
- 1. 源由
- 2. 步骤
- Step 1 安装Jetpack 5.1.4 L4T 35.6
- Step 2 安装依赖组件
- Step 3 安装librdkafka
- Step 4 安装 DeepStream SDK
- Step 5 测试 deepstream-app
- Step 6 运行 deepstream-app
- 3. 总结
- 3.1 版本问题
- 3.2 二进制help
- 4. 参考资料
1. 源由
为了确保在Jetson Orin平台上继续我们追求的 FPV Geek SDK 推进;奠定一些基础技术的经验和基础;
- Ardupilot开源无人机之Geek SDK讨论
- Ardupilot & OpenIPC & 基于WFB-NG构架分析和数据链路思考
- ArduPilot开源飞控之MAVProxy深入研读系列 - 2蜂群链路
目前,在Jetson Orin 8GB的板子上 jetson-fpv 性能不佳的情况,着实令人着急,呵呵!
2. 步骤
Step 1 安装Jetpack 5.1.4 L4T 35.6
参考:《Linux 36.3@Jetson Orin Nano之系统安装》
Step 2 安装依赖组件
$ sudo apt install \
libssl1.1 \
libgstreamer1.0-0 \
gstreamer1.0-tools \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-ugly \
gstreamer1.0-libav \
libgstreamer-plugins-base1.0-dev \
libgstrtspserver-1.0-0 \
libjansson4 \
libyaml-cpp-dev
Step 3 安装librdkafka
- Clone the librdkafka repository from GitHub:
$ git clone https://github.com/edenhill/librdkafka.git
或者
git clone git@github.com:confluentinc/librdkafka.git
- Configure and build the library:
$ cd librdkafka
$ git reset --hard 7101c2310341ab3f4675fc565f64f0967e135a6a
$ ./configure
$ make
$ sudo make install
- Copy the generated libraries to the deepstream directory:
$ sudo mkdir -p /opt/nvidia/deepstream/deepstream-6.3/lib
$ sudo cp /usr/local/lib/librdkafka* /opt/nvidia/deepstream/deepstream-6.3/lib
$ ls /opt/nvidia/deepstream/deepstream-6.3/lib
librdkafka++.a librdkafka.a librdkafka++.so librdkafka.so librdkafka++.so.1 librdkafka.so.1
Step 4 安装 DeepStream SDK
- Download DS SDK
$ wget --content-disposition 'https://api.ngc.nvidia.com/v2/resources/org/nvidia/deepstream/6.3/files?redirect=true&path=deepstream_sdk_v6.3.0_jetson.tbz2' -O deepstream_sdk_v6.3.0_jetson.tbz2
或者,通过网页下载:DeepStream SDK
- Install DS SDK
$ sudo tar -xvf deepstream_sdk_v6.3.0_jetson.tbz2 -C /
$ cd /opt/nvidia/deepstream/deepstream-6.3
$ sudo ./install.sh
$ sudo ldconfig
Step 5 测试 deepstream-app
$ ldd /usr/bin/deepstream-applinux-vdso.so.1 (0x0000ffff9420b000)libgstreamer-1.0.so.0 => /lib/aarch64-linux-gnu/libgstreamer-1.0.so.0 (0x0000ffff93f2f000)libgstvideo-1.0.so.0 => /lib/aarch64-linux-gnu/libgstvideo-1.0.so.0 (0x0000ffff93e7a000)libglib-2.0.so.0 => /lib/aarch64-linux-gnu/libglib-2.0.so.0 (0x0000ffff93d3f000)libgobject-2.0.so.0 => /lib/aarch64-linux-gnu/libgobject-2.0.so.0 (0x0000ffff93ccd000)libgstrtspserver-1.0.so.0 => /lib/aarch64-linux-gnu/libgstrtspserver-1.0.so.0 (0x0000ffff93c5a000)libjson-glib-1.0.so.0 => /lib/aarch64-linux-gnu/libjson-glib-1.0.so.0 (0x0000ffff93c21000)libyaml-cpp.so.0.6 => /lib/aarch64-linux-gnu/libyaml-cpp.so.0.6 (0x0000ffff93bc1000)libnvdsgst_meta.so => /opt/nvidia/deepstream/deepstream-6.3/lib/libnvdsgst_meta.so (0x0000ffff93bab000)libnvdsgst_smartrecord.so => /opt/nvidia/deepstream/deepstream-6.3/lib/libnvdsgst_smartrecord.so (0x0000ffff93b94000)libnvdsgst_helper.so => /opt/nvidia/deepstream/deepstream-6.3/lib/libnvdsgst_helper.so (0x0000ffff93b7c000)libnvdsgst_customhelper.so => /opt/nvidia/deepstream/deepstream-6.3/lib/libnvdsgst_customhelper.so (0x0000ffff93b63000)libnvds_meta.so => /opt/nvidia/deepstream/deepstream-6.3/lib/libnvds_meta.so (0x0000ffff93b4c000)libnvds_utils.so => /opt/nvidia/deepstream/deepstream-6.3/lib/libnvds_utils.so (0x0000ffff93542000)libnvds_msgbroker.so => /opt/nvidia/deepstream/deepstream-6.3/lib/libnvds_msgbroker.so (0x0000ffff93528000)libX11.so.6 => /lib/aarch64-linux-gnu/libX11.so.6 (0x0000ffff933e3000)libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffff933cf000)libstdc++.so.6 => /lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000ffff931ea000)libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000ffff931b9000)librt.so.1 => /lib/aarch64-linux-gnu/librt.so.1 (0x0000ffff931a1000)libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000ffff930f6000)libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffff92f83000)/lib/ld-linux-aarch64.so.1 (0x0000ffff941db000)libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000ffff92f5f000)libgmodule-2.0.so.0 => /lib/aarch64-linux-gnu/libgmodule-2.0.so.0 (0x0000ffff92f4b000)libgstbase-1.0.so.0 => /lib/aarch64-linux-gnu/libgstbase-1.0.so.0 (0x0000ffff92ec6000)liborc-0.4.so.0 => /lib/aarch64-linux-gnu/liborc-0.4.so.0 (0x0000ffff92e37000)libpcre.so.3 => /lib/aarch64-linux-gnu/libpcre.so.3 (0x0000ffff92dc5000)libffi.so.7 => /lib/aarch64-linux-gnu/libffi.so.7 (0x0000ffff92dac000)libgstnet-1.0.so.0 => /lib/aarch64-linux-gnu/libgstnet-1.0.so.0 (0x0000ffff92d85000)libgstrtp-1.0.so.0 => /lib/aarch64-linux-gnu/libgstrtp-1.0.so.0 (0x0000ffff92d4f000)libgstrtsp-1.0.so.0 => /lib/aarch64-linux-gnu/libgstrtsp-1.0.so.0 (0x0000ffff92d1a000)libgstsdp-1.0.so.0 => /lib/aarch64-linux-gnu/libgstsdp-1.0.so.0 (0x0000ffff92cf1000)libgstapp-1.0.so.0 => /lib/aarch64-linux-gnu/libgstapp-1.0.so.0 (0x0000ffff92cd1000)libgio-2.0.so.0 => /lib/aarch64-linux-gnu/libgio-2.0.so.0 (0x0000ffff92ad4000)libgstpbutils-1.0.so.0 => /lib/aarch64-linux-gnu/libgstpbutils-1.0.so.0 (0x0000ffff92a86000)libnvinfer.so.8 => /lib/aarch64-linux-gnu/libnvinfer.so.8 (0x0000ffff8592d000)libnvds_logger.so => /opt/nvidia/deepstream/deepstream-6.3/lib/libnvds_logger.so (0x0000ffff8591b000)libxcb.so.1 => /lib/aarch64-linux-gnu/libxcb.so.1 (0x0000ffff858e4000)libz.so.1 => /lib/aarch64-linux-gnu/libz.so.1 (0x0000ffff858b8000)libmount.so.1 => /lib/aarch64-linux-gnu/libmount.so.1 (0x0000ffff8584a000)libselinux.so.1 => /lib/aarch64-linux-gnu/libselinux.so.1 (0x0000ffff85812000)libresolv.so.2 => /lib/aarch64-linux-gnu/libresolv.so.2 (0x0000ffff857ec000)libgstaudio-1.0.so.0 => /lib/aarch64-linux-gnu/libgstaudio-1.0.so.0 (0x0000ffff85768000)libgsttag-1.0.so.0 => /lib/aarch64-linux-gnu/libgsttag-1.0.so.0 (0x0000ffff8571b000)libnvdla_compiler.so => /usr/lib/aarch64-linux-gnu/tegra/libnvdla_compiler.so (0x0000ffff84fe0000)libcudla.so.1 => /usr/local/cuda/targets/aarch64-linux/lib/libcudla.so.1 (0x0000ffff84fa3000)libXau.so.6 => /lib/aarch64-linux-gnu/libXau.so.6 (0x0000ffff84f8f000)libXdmcp.so.6 => /lib/aarch64-linux-gnu/libXdmcp.so.6 (0x0000ffff84f79000)libblkid.so.1 => /lib/aarch64-linux-gnu/libblkid.so.1 (0x0000ffff84f13000)libpcre2-8.so.0 => /lib/aarch64-linux-gnu/libpcre2-8.so.0 (0x0000ffff84e83000)libnvos.so => /usr/lib/aarch64-linux-gnu/tegra/libnvos.so (0x0000ffff84e63000)libnvdla_runtime.so => /usr/lib/aarch64-linux-gnu/tegra/libnvdla_runtime.so (0x0000ffff8480b000)libcuda.so.1 => /usr/lib/aarch64-linux-gnu/tegra/libcuda.so.1 (0x0000ffff831b4000)libbsd.so.0 => /lib/aarch64-linux-gnu/libbsd.so.0 (0x0000ffff8318d000)libnvrm_host1x.so => /usr/lib/aarch64-linux-gnu/tegra/libnvrm_host1x.so (0x0000ffff8316a000)libnvrm_mem.so => /usr/lib/aarch64-linux-gnu/tegra/libnvrm_mem.so (0x0000ffff83152000)libnvsocsys.so => /usr/lib/aarch64-linux-gnu/tegra/libnvsocsys.so (0x0000ffff8313e000)libnvrm_gpu.so => /usr/lib/aarch64-linux-gnu/tegra/libnvrm_gpu.so (0x0000ffff830d1000)libnvrm_sync.so => /usr/lib/aarch64-linux-gnu/tegra/libnvrm_sync.so (0x0000ffff830ba000)libnvrm_chip.so => /usr/lib/aarch64-linux-gnu/tegra/libnvrm_chip.so (0x0000ffff830a4000)libnvsciipc.so => /usr/lib/aarch64-linux-gnu/tegra/libnvsciipc.so (0x0000ffff8307f000)
Step 6 运行 deepstream-app
$ cd /opt/nvidia/deepstream/deepstream/samples/configs/deepstream-app/
$ deepstream-app -c source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8.yml
3. 总结
NVIDIA提供的硬件及其相关库,原厂维护,不开源。应用相关示例代码开源或者提供源代码。
因此,在安装这些性能加速软件时,尤其要注意其版本的对应关系。
若需要进行大型开发,必须关注原厂开发动态以及版本支持情况。进而,公司软件在规划时需要充分考虑进度、里程碑等相应适配。
- Which DS version for Jetson Orin Nano/Jetpack 5.1.4/L4T 35.6.0?
3.1 版本问题
- Download DS SDK 6.4.0
$ wget --content-disposition 'https://api.ngc.nvidia.com/v2/resources/org/nvidia/deepstream/6.4/files?redirect=true&path=deepstream_sdk_v6.4.0_jetson.tbz2' -O deepstream_sdk_v6.4.0_jetson.tbz2
或者,通过网页下载:DeepStream SDK
- Install DS SDK 6.4.0
$ sudo tar -xvf deepstream_sdk_v6.4.0_jetson.tbz2 -C /
$ cd /opt/nvidia/deepstream/deepstream-6.4
$ sudo ./install.sh
$ sudo ldconfig
- ldd deepstream-app
出现so文件不存在等问题,基本都是链接环节出现的,也就是二进制在编译链接的路径或者库版本不一致的问题。
daniel@daniel-nvidia:~/Work$ ldd /usr/bin/deepstream-app
/usr/bin/deepstream-app: /lib/aarch64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /usr/bin/deepstream-app)
/usr/bin/deepstream-app: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /usr/bin/deepstream-app)
/usr/bin/deepstream-app: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /usr/bin/deepstream-app)
/usr/bin/deepstream-app: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /opt/nvidia/deepstream/deepstream-6.4/lib/libnvds_utils.so)
/usr/bin/deepstream-app: /lib/aarch64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /opt/nvidia/deepstream/deepstream-6.4/lib/libnvds_msgbroker.so)
/usr/bin/deepstream-app: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /opt/nvidia/deepstream/deepstream-6.4/lib/libnvds_msgbroker.so)linux-vdso.so.1 (0x0000ffffa8400000)libgstreamer-1.0.so.0 => /lib/aarch64-linux-gnu/libgstreamer-1.0.so.0 (0x0000ffffa80f1000)libgstvideo-1.0.so.0 => /lib/aarch64-linux-gnu/libgstvideo-1.0.so.0 (0x0000ffffa803c000)libglib-2.0.so.0 => /lib/aarch64-linux-gnu/libglib-2.0.so.0 (0x0000ffffa7f01000)libgobject-2.0.so.0 => /lib/aarch64-linux-gnu/libgobject-2.0.so.0 (0x0000ffffa7e8f000)libgstrtspserver-1.0.so.0 => /lib/aarch64-linux-gnu/libgstrtspserver-1.0.so.0 (0x0000ffffa7e1c000)libjson-glib-1.0.so.0 => /lib/aarch64-linux-gnu/libjson-glib-1.0.so.0 (0x0000ffffa7de3000)libyaml-cpp.so.0.7 => not foundlibnvdsgst_meta.so => /opt/nvidia/deepstream/deepstream-6.4/lib/libnvdsgst_meta.so (0x0000ffffa7dcd000)libnvdsgst_smartrecord.so => /opt/nvidia/deepstream/deepstream-6.4/lib/libnvdsgst_smartrecord.so (0x0000ffffa7db6000)libnvdsgst_helper.so => /opt/nvidia/deepstream/deepstream-6.4/lib/libnvdsgst_helper.so (0x0000ffffa7d9d000)libnvdsgst_customhelper.so => /opt/nvidia/deepstream/deepstream-6.4/lib/libnvdsgst_customhelper.so (0x0000ffffa7d83000)libnvds_meta.so => /opt/nvidia/deepstream/deepstream-6.4/lib/libnvds_meta.so (0x0000ffffa7d6b000)libnvds_utils.so => /opt/nvidia/deepstream/deepstream-6.4/lib/libnvds_utils.so (0x0000ffffa749a000)libnvds_msgbroker.so => /opt/nvidia/deepstream/deepstream-6.4/lib/libnvds_msgbroker.so (0x0000ffffa747f000)libX11.so.6 => /lib/aarch64-linux-gnu/libX11.so.6 (0x0000ffffa733a000)libstdc++.so.6 => /lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000ffffa7155000)libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000ffffa70aa000)libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffa6f37000)/lib/ld-linux-aarch64.so.1 (0x0000ffffa83d0000)libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000ffffa6f13000)libgmodule-2.0.so.0 => /lib/aarch64-linux-gnu/libgmodule-2.0.so.0 (0x0000ffffa6eff000)libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffffa6eeb000)libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000ffffa6eba000)libgstbase-1.0.so.0 => /lib/aarch64-linux-gnu/libgstbase-1.0.so.0 (0x0000ffffa6e35000)liborc-0.4.so.0 => /lib/aarch64-linux-gnu/liborc-0.4.so.0 (0x0000ffffa6da6000)libpcre.so.3 => /lib/aarch64-linux-gnu/libpcre.so.3 (0x0000ffffa6d34000)libffi.so.7 => /lib/aarch64-linux-gnu/libffi.so.7 (0x0000ffffa6d1b000)libgstnet-1.0.so.0 => /lib/aarch64-linux-gnu/libgstnet-1.0.so.0 (0x0000ffffa6cf4000)libgstrtp-1.0.so.0 => /lib/aarch64-linux-gnu/libgstrtp-1.0.so.0 (0x0000ffffa6cbe000)libgstrtsp-1.0.so.0 => /lib/aarch64-linux-gnu/libgstrtsp-1.0.so.0 (0x0000ffffa6c89000)libgstsdp-1.0.so.0 => /lib/aarch64-linux-gnu/libgstsdp-1.0.so.0 (0x0000ffffa6c60000)libgstapp-1.0.so.0 => /lib/aarch64-linux-gnu/libgstapp-1.0.so.0 (0x0000ffffa6c40000)libgio-2.0.so.0 => /lib/aarch64-linux-gnu/libgio-2.0.so.0 (0x0000ffffa6a43000)libgstpbutils-1.0.so.0 => /lib/aarch64-linux-gnu/libgstpbutils-1.0.so.0 (0x0000ffffa69f7000)libnvinfer.so.8 => /lib/aarch64-linux-gnu/libnvinfer.so.8 (0x0000ffff9989c000)libnvds_logger.so => /opt/nvidia/deepstream/deepstream-6.4/lib/libnvds_logger.so (0x0000ffff9988a000)libxcb.so.1 => /lib/aarch64-linux-gnu/libxcb.so.1 (0x0000ffff99853000)libz.so.1 => /lib/aarch64-linux-gnu/libz.so.1 (0x0000ffff99829000)libmount.so.1 => /lib/aarch64-linux-gnu/libmount.so.1 (0x0000ffff997b9000)libselinux.so.1 => /lib/aarch64-linux-gnu/libselinux.so.1 (0x0000ffff99781000)libresolv.so.2 => /lib/aarch64-linux-gnu/libresolv.so.2 (0x0000ffff9975b000)libgstaudio-1.0.so.0 => /lib/aarch64-linux-gnu/libgstaudio-1.0.so.0 (0x0000ffff996d7000)libgsttag-1.0.so.0 => /lib/aarch64-linux-gnu/libgsttag-1.0.so.0 (0x0000ffff9968c000)librt.so.1 => /lib/aarch64-linux-gnu/librt.so.1 (0x0000ffff99672000)libnvdla_compiler.so => /usr/lib/aarch64-linux-gnu/tegra/libnvdla_compiler.so (0x0000ffff98f37000)libcudla.so.1 => /usr/local/cuda/targets/aarch64-linux/lib/libcudla.so.1 (0x0000ffff98efa000)libXau.so.6 => /lib/aarch64-linux-gnu/libXau.so.6 (0x0000ffff98ee6000)libXdmcp.so.6 => /lib/aarch64-linux-gnu/libXdmcp.so.6 (0x0000ffff98ed0000)libblkid.so.1 => /lib/aarch64-linux-gnu/libblkid.so.1 (0x0000ffff98e68000)libpcre2-8.so.0 => /lib/aarch64-linux-gnu/libpcre2-8.so.0 (0x0000ffff98dda000)libnvos.so => /usr/lib/aarch64-linux-gnu/tegra/libnvos.so (0x0000ffff98dba000)libnvdla_runtime.so => /usr/lib/aarch64-linux-gnu/tegra/libnvdla_runtime.so (0x0000ffff98762000)libcuda.so.1 => /usr/lib/aarch64-linux-gnu/tegra/libcuda.so.1 (0x0000ffff9710b000)libbsd.so.0 => /lib/aarch64-linux-gnu/libbsd.so.0 (0x0000ffff970e2000)libnvrm_host1x.so => /usr/lib/aarch64-linux-gnu/tegra/libnvrm_host1x.so (0x0000ffff970c1000)libnvrm_mem.so => /usr/lib/aarch64-linux-gnu/tegra/libnvrm_mem.so (0x0000ffff970a9000)libnvsocsys.so => /usr/lib/aarch64-linux-gnu/tegra/libnvsocsys.so (0x0000ffff97095000)libnvrm_gpu.so => /usr/lib/aarch64-linux-gnu/tegra/libnvrm_gpu.so (0x0000ffff97028000)libnvrm_sync.so => /usr/lib/aarch64-linux-gnu/tegra/libnvrm_sync.so (0x0000ffff9700f000)libnvrm_chip.so => /usr/lib/aarch64-linux-gnu/tegra/libnvrm_chip.so (0x0000ffff96ffb000)libnvsciipc.so => /usr/lib/aarch64-linux-gnu/tegra/libnvsciipc.so (0x0000ffff96fd6000)
检查本地依赖库的当前情况:glibc版本不对,
- GLIBC_2.34 or GLIBC_2.32 //存在,版本不对
- GLIBCXX_3.4.29 //存在,版本不对
- libyaml-cpp.so //存在,版本不对
$ whereis libyaml-cpp
libyaml-cpp: /usr/lib/aarch64-linux-gnu/libyaml-cpp.so /usr/lib/aarch64-linux-gnu/libyaml-cpp.a$ whereis libc.so
libc: /usr/lib/aarch64-linux-gnu/libc.a /usr/lib/aarch64-linux-gnu/libc.so$ strings /lib/aarch64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
GLIBCXX_3.4.25
GLIBCXX_3.4.26
GLIBCXX_3.4.27
GLIBCXX_3.4.28
GLIBCXX_DEBUG_MESSAGE_LENGTH
3.2 二进制help
本能的认为“-i 输入文件”;“-c 配置文件”。实际存在两个问题:
- 示例代码
deepstream-app代码hardcoded一个txt文件 - 这个txt文件若存在,会导入这个配置文件里面的视频文件
$ deepstream-app --help
Usage:deepstream-app [OPTION?] Nvidia DeepStream DemoHelp Options:-h, --help Show help options--help-all Show all help options--help-gst Show GStreamer OptionsApplication Options:-v, --version Print DeepStreamSDK version-t, --tiledtext Display Bounding box labels in tiled mode--version-all Print DeepStreamSDK and dependencies version-c, --cfg-file Set the config file-i, --input-uri Set the input uri (file://stream or rtsp://stream)
4. 参考资料
【1】DeepStream SDK
【2】DeepStream 6.3 Quick Start
相关文章:
Linux 35.6 + JetPack v5.1.4@DeepStream安装
Linux 35.6 JetPack v5.1.4DeepStream安装 1. 源由2. 步骤Step 1 安装Jetpack 5.1.4 L4T 35.6Step 2 安装依赖组件Step 3 安装librdkafkaStep 4 安装 DeepStream SDKStep 5 测试 deepstream-appStep 6 运行 deepstream-app 3. 总结3.1 版本问题3.2 二进制help 4. 参考资料 1. …...
图数据库 | 11、图数据库架构设计——高性能图存储架构(下)
在上篇内容中,老夫着重讲了高性能图存储系统的特点,咱们继续往下讲重点——高性能存储架构的设计思路!! 2.高性能存储架构设计思路 首先呢,存储架构以及核心数据结构的设计思路通常围绕如下4个维度来进行:…...
【HTTP】HTTP协议
一个Web Server就是个服务器软件(程序),或者是运行这个服务器软件的硬件(计算机),其主要功能是通过HTTP协议与客户端进行通信,来接收,存储,处理来自客户端的HTTP请求&…...
大数据新视界 -- Hive 基于 MapReduce 的执行原理(上)(23 / 30)
💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…...
SpringBoot源码解析(六):打印Banner
SpringBoot源码系列文章 SpringBoot源码解析(一):SpringApplication构造方法 SpringBoot源码解析(二):引导上下文DefaultBootstrapContext SpringBoot源码解析(三):启动开始阶段 SpringBoot源码解析(四):解析应用参数args Sp…...
【计算机网络】实验6:IPV4地址的构造超网及IP数据报
实验 6:IPV4地址的构造超网及IP数据报 一、 实验目的 加深对IPV4地址的构造超网(无分类编制)的了解。 加深对IP数据包的发送和转发流程的了解。 二、 实验环境 • Cisco Packet Tracer 模拟器 三、 实验内容 1、了解IPV4地址的构造超网…...
easy excel 生成excel 文件
导包 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.3.3</version> </dependency> 内容 List<类> limspjreport 值; String fileName sdf.format(new Date()) "-…...
Ajax:回忆与节点
一点回忆 面对我的Ajax学习,实现前后端交互,最开始我采用的使用网络寻找intellij IDEA Ultimate破解方法,然后最终成功,然后按照相关教程配置java ee项目,然后中间又去配置了Tomcat服务器,然后又去学习了一…...
Python+OpenCV系列:Python和OpenCV的结合和发展
PythonOpenCV系列:Python和OpenCV的结合和发展 **引言****Python语言的发展****1.1 Python的诞生与发展****1.2 Python的核心特性与优势****1.3 Python的应用领域** **OpenCV的发展****2.1 OpenCV的起源与发展****2.2 OpenCV的功能特性****2.3 OpenCV的应用场景** *…...
Ubuntu20.04 由源码编译安装opencv3.2 OpenCV
Ubuntu20.04 由源码编译安装opencv3.2.0 获取 opencv 及opencv_contrib源代码 创建目录以存放opencv及opencv_contrib源代码 mkdir ~/opencv3.2.0 cd ~/opencv3.2.0获取opencv源代码并切换到对应tag git clone https://github.com/opencv/opencv.git cd opencv git checkou…...
A058-基于Spring Boot的餐饮管理系统的设计与实现
🙊作者简介:在校研究生,拥有计算机专业的研究生开发团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看项目链接获取⬇️,记得注明来意哦~🌹 赠送计算机毕业设计600个选题ex…...
RDIFramework.NET CS敏捷开发框架 SOA服务三种访问(直连、WCF、WebAPI)方式
1、介绍 在软件开发领域,尤其是企业级应用开发中,灵活性、开放性、可扩展性往往是项目成功的关键因素。对于C/S项目,如何高效地与后端数据库进行交互,以及如何提供多样化的服务访问方式,是开发者需要深入考虑的问题。…...
Linux——命名管道及日志
linux——进程间通信及管道的应用场景-CSDN博客 文章目录 目录 文章目录 前言 一、命名管道是什么? 理解: 2、编写代码 makefile 管道封装成类,想用中管道时只需要调用实例化 读端 写端 日志 1、日志是什么? 2、日志有什么&#x…...
Flink 常见面试题
1、Flink 的四大特征(基石) checkpoin基于Chandy-Lamport算法实现了分布式一致性快照提供了一致性的语义 state丰富的StateAPI time实现了Watermark机制,乱序数据处理,迟到数据容忍 window开箱即用的滚动,滑动会话窗口…...
rtc-pcf8563 0-0051: low voltage detected, date/time is not reliable
解决方法: 1、先测量pcf8563电源电压,是否满足要求。 2、pcf8563首次操作。第一次读取pcf8563的时间,未初始化,非法,芯片门槛电压检测配置不合理。使用hwclock命令写入一次,即可解决。 hwclock -f /dev/…...
(简单5步实现)部署本地AI大语言模型聊天系统:Chatbox AI + grok2.0大模型
摘要: 本文将指导您如何部署一个本地AI大语言模型聊天系统,使用Chatbox AI客户端应用和grok-beta大模型,以实现高效、智能的聊天体验。 引言: 由马斯克X-AI发布的Grok 2大模型以其卓越的性能超越了GPT4.0。Grok模型支持超长文本…...
MAUI APP开发蓝牙协议的经验分享:与跳绳设备对接
在开发MAUI应用程序时,蓝牙协议的应用是一个重要的环节,尤其是在需要与外部设备如智能跳绳进行数据交换的场景中。以下是我在开发过程中的一些经验和心得,希望能为你的项目提供帮助。 1. 蓝牙协议基础 蓝牙协议是无线通信的一种标准&#x…...
最新版Node.js下载安装及环境配置教程
目录 初识:Node.js 一、下载:Node.js 二、安装:Node.js 1.下载【node.js】压缩包安装文件 2.解压下载的安装包 3.打开解压的【node-v22.11.0-x64】文件夹 4.双击启动安装程序 5.点击【Next】 6.勾选【I accept the terms in the Lic…...
51c自动驾驶~合集39
我自己的原文哦~ https://blog.51cto.com/whaosoft/12707676 #DiffusionDrive 大幅超越所有SOTA!地平线DiffusionDrive:生成式方案或将重塑端到端格局? 近年来,由于感知模型的性能持续进步,端到端自动驾驶受到了来…...
单链表基础操作
文章目录 abstract定义结点结构初始化链表遍历链表求表长查找结点根据序号查找结点根据值查找结点 插入结点首尾位置插入一般位置插入(通用插入)找到尾元素|尾指针相关操作 删除结点 abstract 单链表是一种简单的动态数据结构,它由一系列结点组成,每个结…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...
STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...
uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
Mac下Android Studio扫描根目录卡死问题记录
环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...
基于TurtleBot3在Gazebo地图实现机器人远程控制
1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...
视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...
动态 Web 开发技术入门篇
一、HTTP 协议核心 1.1 HTTP 基础 协议全称 :HyperText Transfer Protocol(超文本传输协议) 默认端口 :HTTP 使用 80 端口,HTTPS 使用 443 端口。 请求方法 : GET :用于获取资源,…...
腾讯云V3签名
想要接入腾讯云的Api,必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口,但总是卡在签名这一步,最后放弃选择SDK,这次终于自己代码实现。 可能腾讯云翻新了接口文档,现在阅读起来,清晰了很多&…...
【Linux系统】Linux环境变量:系统配置的隐形指挥官
。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量:setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...
