文章目录
前言
在Ubuntu18.04工作站上,利用aivero-rgbd-tookit工具包与Azure Kinect摄像头进行连接,用于后面实时摄录RGBD视频并推RTSP流到RTSP服务器,在客户端可以直接拉取RGBD流。
一、Aivero Contrib 简介
Aivero Contrib是由Aivero团队开发和维护的开源组件包,其中aivero-rgbd-tookit是一个基于Gstreamer的工具包,用于与RGB-D相机进行接口连接(如Intel RealSense和Microsoft Azure Kinect相机)。
开源代码地址:https://gitlab.com/aivero/open-source/contrib/-/tree/master/
二、整体安装步骤
1.安装GStreamer
sudo apt update
sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio
2.安装conan并添加aivero远程配置文件
pip3 install conan
conan config install https://gitlab.com/aivero/open-source/conan config/-/archive/master/conan-config-master.tar.gz -sf conan-config-master
conan config set general.default_profile=linux-x86_64
conan search -r aivero-all gst-rgbd-src
如果顺利,会出现如下显示:
3.获取源码并安装
git clone https://gitlab.com/aivero/open-source/contrib.git
cd contrib
conan create aivero-rgbd-toolkit
conan install aivero-rgbd-toolkit/master@ -if rgbd_toolkit
4.配置路径
如果上一步安装成功,contrib文件夹下会存在一个rgbd_toolkit文件夹,里面就是需要的一些依赖文件以及组件。
重点关注里面的一个aivero_environment.sh文件,里面是一些路径信息,需要根据安装路径进行相应的修改,然后执行.sh文件导入。
我的aivero_environment.sh文件参考:
export PREFIX=/home/eg/Downloads/Kinect/Kinect_RTSP/contrib/rgbd_toolkit
#export PATH=$PREFIX/bin:$PATH
export PATH=/usr/local/bin:$PATH
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$PREFIX/lib
#export LD_LIBRARY_PATH=/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:$PREFIX/lib
export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig
export GST_PLUGIN_PATH=$PREFIX/lib/gstreamer-1.0:/usr/lib/x86_64-linux-gnu/gstreamer-1.0:/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0
三、演示
1.显示k4asrc插件信息
2.利用工具包播放RGBD视频,并推拉流
1)从文件播放RGBD视频流
export VIDEOPATH=your_video_path
gst-launch-1.0 k4asrc recording-location=$VIDEOPATH ! rgbddemux name=demuxdemux.src_depth ! queue ! colorizer near-cut=300 far-cut=5000 ! videoconvert ! glimagesink
2)启动摄像头,并播放RGBD视频
export SERIAL=your_Kinect_serial
gst-launch-1.0 k4asrc serial=$SERIAL enable-color=true ! rgbddemux name=demux demux.src_depth ! queue ! colorizer near-cut=300 far-cut=5000 ! videoconvert ! glimagesink demux.src_color ! queue ! videoconvert ! glimagesink
3)推拉RGBD视频的RTP流
gst-launch-1.0 k4asrc serial=$SERIAL enable-color=true ! rgbddemux name=demux demux.src_depth ! queue ! colorizer near-cut=300 far-cut=5000 ! rtpvrawpay ! udpsink host=10.20.1.18 port=9001
gst-launch-1.0 udpsrc port=9001 ! "application/x-rtp, media=video, clock-rate=90000, encoding-name=RAW, depth=(string)8, width=(string)640, height=(string)576, payload=96, sampling=RGB" ! rtpjitterbuffer ! rtpvrawdepay ! videoconvert ! queue ! fpsdisplaysink sync=false
参考
1.https://gitlab.com/aivero/open-source/contrib/-/tree/master/aivero-rgbd-toolkit
2.https://github.com/MaibornWolff/Azure_Kinect_RTSP-Streamer
3.https://gitlab.com/aivero/legacy/public/aivero-rgbd-toolkit/-/issues/11