Jstson mqtt上报结果
环境安装
glib 2.0
sudo apt-get install libglib2.0 libglib2.0-dev
1
ssl
sudo apt-get install libssl-dev
1
cjson
sudo apt-get install libcjson-dev
1
mosquitto 2.0.15
wget https://mosquitto.org/files/source/mosquitto-2.0.15.tar.gz
tar -xvf mosquitto-2.0.15.tar.gz
cd mosquitto-2.0.15
make
sudo make install
sudo cp /usr/local/lib/libmosquitto* /opt/nvidia/deepstream/deepstream/lib/
sudo ldconfig
1
2
3
4
5
6
7
2
3
4
5
6
7
配置
deepstream_app_config.txt
# deepstream_app_config.txt
[sink1]
enable=1
type=6
topic=testtopic
msg-broker-conn-str=172.22.1.200;1883;testtopic
msg-broker-proto-lib=/opt/nvidia/deepstream/deepstream-6.3/lib/libnvds_mqtt_proto.so
msg-broker-config=mqtt.txt
msg-conv-payload-type=0
msg-conv-config=dstest5_msgconv_sample_config.txt
disable-msgconv=0 # set to 0 to enable msgconv, which convert the NVEVENT metadata from primary/secondary GIE into mqtt message
#msg-conv-frame-interval=1
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
mqtt.txt
# mqtt.txt
[message-broker]
username=user
password=123
1
2
3
4
2
3
4
运行
注意:如果使用deepstream-app将无法与mqtt通信
deepstream-test5-app -c deepstream_app_config.txt
1
推流出去
sink配置文件
[sink2]
enable=1
#Type - 1=FakeSink 2=EglSink 3=File 4=RTSPStreaming
type=4
#1=h264 2=h265
codec=2
sync=0
bitrate=10000000
# set below properties in case of RTSPStreaming
rtsp-port=8554
udp-port=5400
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
拉流地址
rtsp://localhost:8554/ds-test
1
拉流脚本
import cv2
while True:
cap = cv2.VideoCapture("rtsp://172.22.1.223:8554/ds-test")
ret, frame = cap.read()
if ret:
break
while 1:
ret, frame = cap.read()
if not ret:
continue
cv2.imshow('frame', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
异常
WARNING: erroneous pipeline: no element “nvoverlaysink”
gst-launch-1.0 nvoverlaysink
1
2
2
替换nvoverlaysink
为nvdrmvideosink
或nv3dsink
重新编译
Jetson Deepstream-app如果不能满足需求,只能修改并重新编译
安装json-glib
fatal error: json-glib/json-glib.h: No such file or directory
27 | #include <json-glib/json-glib.h>
如果缺少json-glib
,使用如下办法解决
sudo apt-get update && sudo apt-get install meson ninja-build
git clone https://github.com/ebassi/json-glib
cd json-glib
mkdir _build && meson _build .
ninja -C _build
ninja -C _build test
ninja -C _build install
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
rtsp-server
fatal error: gst/rtsp-server/rtsp-server.h: No such file or directory
sudo apt-get install libgstrtspserver-1.0-dev
1
没有文字,添加--tiledtext
/opt/nvidia/deepstream/deepstream/sources/apps/sample_apps/deepstream-test5/deepstream-test5-app \
-c /home/nvidia/DeepStream-Yolo_dyb/deepstream_app_config.txt --tiledtext
1
2
2
参考
- https://hackmd.io/@2kHYGtJaRV-DxVpSmefW0w/rkcduw2y3#EOF
- https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_ref_app_test5.html
- https://forums.developer.nvidia.com/t/deepstream-6-3-mqtt-clientid-and-keep-alive-configurations/267896
- https://forums.developer.nvidia.com/t/deepstream-deepstream-test5-app-terminates-when-mqtt-connection-timed-out/268898
- https://forums.developer.nvidia.com/t/deepstream-6-3-mqtt-examples-question/264286
- https://github.com/pabsan-0/libnvds_mqtt_proto
- https://github.com/marcoslucianops/DeepStream-Yolo
- Nvidia官方配置说明文档
- https://forums.developer.nvidia.com/t/custom-payload-for-mqtt-broker/283274
- DeepstreamApp如何使用以及用于工程验证
- NVIDIA DeepStream配置文件解析;摄像头源&&RTSP拉流源输入,RTSP推流输出
- Jetson Nano上如何自己编译deepstream-app
- 官方nvmsgbroker mqtt说明