【GStreamer 】5-1 gstreamer实现RTSP相机显示

    之前的内容,我们研究了用GStreamer 实现对USB相机的截图、录像、显示等操作,已经后续的压缩,解压缩,硬件加速实现的办法。但是我们在实际使用中,越来越多的前端接入其实是RTSP码流的网络相机偏多,尤其是前端可能使用海康、大华等大厂的网络相机,所以接下来我们主要研究如果实现RTSP网络流相机的接入的一些操作实现。

目录

1、硬件环境说明

2、海康相机的RTSP链接测试(VLC)

举例说明:

3、RTSP相机链接播放显示

CPU等资源占用情况:


1、硬件环境说明

此次我测试的硬件环境如下图:

【GStreamer 】5-1 gstreamer实现RTSP相机显示_第1张图片

        我们测试主板还是EdgeBox_EHub_tx1_tx2_E100,核心模块是nvidia Jeston TX1,关于此模块的信息请查看之前的内容: 

EdgeBox_EHub_tx1_tx2_E100 系统网络调试链接说明_机器人虎哥的博客-CSDN博客

Jetson TX1 介绍_机器人虎哥的博客-CSDN博客_jetson tx1

关乎软件环境:

【GStreamer 】5-1 gstreamer实现RTSP相机显示_第2张图片 由于我们安装了英伟达官方推荐的所有套件,关于此内容,可以参考文章:

jeston TX1&TX2使用sdkmanager 安装cuda等环境_机器人虎哥的博客-CSDN博客

2、海康相机的RTSP链接测试(VLC)

RTSP格式如下:URL规定:

rtsp://username:password@//ch/

路径后面不能有空格、回车等符号,否则会连接失败。

举例说明:

#主码流取流:
rtsp://admin:[email protected]:554/h264/ch1/main/av_stream
子码流取流:
#rtsp://admin:[email protected]:554/h264/ch1/sub/av_stream
​
#我们测试摄像机密码是abcd1234,IP是192.168.11.68,RTSP端口默认554未做改动,是H.264编码,那么
#主码流取流:
rtsp://admin:[email protected]:554/h264/ch1/main/av_stream
#子码流取流:
rtsp://admin:[email protected]:554/h264/ch1/sub/av_stream
#【如果是H.265编码的,那么将H.264替换成H.265即可】

主码流:

 

子码流:

【GStreamer 】5-1 gstreamer实现RTSP相机显示_第3张图片

 由于我的相机配置为混合流,还可以听到声音:

【GStreamer 】5-1 gstreamer实现RTSP相机显示_第4张图片

3、RTSP相机链接播放显示

#playbin 插件播放 需要显示器支持
gst-launch-1.0 playbin uri= rtsp://admin:[email protected]:554/h264/ch1/main/av_stream

如果无显示器支持,比如SSH链接的终端内执行:

【GStreamer 】5-1 gstreamer实现RTSP相机显示_第5张图片 插入HDMI显示器后,虽然命令是在SSH终端执行,但是显示器端其实已经显示。

 

在nomachine 终端执行命令的效果为:

 

无报错了,屏幕显示内容也一致。

如果想测试自码流,只需要更换后面的URL即可。

#子码流取流:
#playbin 插件播放 需要显示器支持
gst-launch-1.0 playbin uri= rtsp://admin:[email protected]:554/h264/ch1/sub/av_stream

CPU等资源占用情况:

【GStreamer 】5-1 gstreamer实现RTSP相机显示_第6张图片

 在播放视频是,资源占用情况是这样的,可以看到,其实占用也不是很高。

如果对你有帮助,给个赞呗!

纠错,疑问,交流: [email protected]

你可能感兴趣的:(GStreamer,网咯相机,nvidia,Jetson,ubuntu,边缘计算)