之前的内容,我们研究了用GStreamer 实现对USB相机的截图、录像、显示等操作,已经后续的压缩,解压缩,硬件加速实现的办法。但是我们在实际使用中,越来越多的前端接入其实是RTSP码流的网络相机偏多,尤其是前端可能使用海康、大华等大厂的网络相机,所以接下来我们主要研究如果实现RTSP网络流相机的接入的一些操作实现。
目录
1、硬件环境说明
2、海康相机的RTSP链接测试(VLC)
举例说明:
3、RTSP相机链接播放显示
CPU等资源占用情况:
1、硬件环境说明
此次我测试的硬件环境如下图:
我们测试主板还是EdgeBox_EHub_tx1_tx2_E100,核心模块是nvidia Jeston TX1,关于此模块的信息请查看之前的内容:
关乎软件环境:
由于我们安装了英伟达官方推荐的所有套件,关于此内容,可以参考文章:
2、海康相机的RTSP链接测试(VLC)
RTSP格式如下:URL规定:
rtsp://username:password@<ipaddress>/<videotype>/ch<number>/<streamtype>
路径后面不能有空格、回车等符号,否则会连接失败。
举例说明:
#主码流取流:
rtsp://admin:12345@192.0.0.64:554/h264/ch1/main/av_stream
子码流取流:
#rtsp://admin:12345@192.0.0.64:554/h264/ch1/sub/av_stream
#我们测试摄像机密码是abcd1234,IP是192.168.11.68,RTSP端口默认554未做改动,是H.264编码,那么
#主码流取流:
rtsp://admin:abcd1234@192.168.11.68:554/h264/ch1/main/av_stream
#子码流取流:
rtsp://admin:abcd1234@192.168.11.68:554/h264/ch1/sub/av_stream
#【如果是H.265编码的,那么将H.264替换成H.265即可】
主码流:
子码流:
由于我的相机配置为混合流,还可以听到声音:
3、RTSP相机链接播放显示
#playbin 插件播放 需要显示器支持
gst-launch-1.0 playbin uri= rtsp://admin:abcd1234@192.168.11.68:554/h264/ch1/main/av_stream
如果无显示器支持,比如SSH链接的终端内执行:
插入HDMI显示器后,虽然命令是在SSH终端执行,但是显示器端其实已经显示。
在nomachine 终端执行命令的效果为:
无报错了,屏幕显示内容也一致。
如果想测试自码流,只需要更换后面的URL即可。
#子码流取流:
#playbin 插件播放 需要显示器支持
gst-launch-1.0 playbin uri= rtsp://admin:abcd1234@192.168.11.68:554/h264/ch1/sub/av_stream
CPU等资源占用情况:
在播放视频是,资源占用情况是这样的,可以看到,其实占用也不是很高。