Linux平台串口读取GPS每次只能收到8个字节 以及 使用LiveGBS 调试 GB28181设备 包括视频 GPS信息等等

本文详细记录了一位工程师在实施GB28181国标协议过程中遇到的挑战,包括视频码流格式不一致导致的显示问题,以及GPS数据读取和传输的难题。通过调整视频流发送方式和优化GPS数据读取策略,成功实现了设备与不同平台的对接。此外,还介绍了如何在GB28181协议中订阅和发送GPS信息,并利用LiveGBS服务器进行测试。
摘要由CSDN通过智能技术生成

手上有个摄像头的项目 ,需要支持摄像头实现GB28181国标协议。由于之前没怎们接触过这个协议。又比较紧迫,老板就从网上买了个GB28181的 开源库 ,拿过来之后 对方会给一些技术支持,还算顺利的调通了视频部分的对接。

但是其中遇到过几个问题:

1,GB28181是个一个标准协议,我们发现对接不同厂家的GB28181平台的时候发现有的厂家的视频可以看到 有的厂家看不到。后来厂家给了一些提示说可能是h264码流格式的问题 ,然后 又咨询了协议的人员,发现我们的视频流格式里面的SPS PPS SEI 和I帧是 单独的拆开发送的 而不是合成一个包发送的 这个我们改成合包发送就解决这个问题。

2. 调试GPS 的问题 这其中又遇到两个问题,第一就是设备从串口读取GPS数据的时候发现每次只能读取8个字节的数据 ,这个用延时可以解决 但是 不知道延时多少 因为我发现直接延时1s 发现每次读取到的数据量都是不一样的 。

后来,在网上搜了搜 使用了另一种方式解决就是每次读取到8个字节的时候说明此段数据量还没有读完,就拼接起来 直到读取到的len不再为8 说明 这一段数据读取完整了 等数据读取完整了之后再去解析GPS信息:核心代码如下:

这个是设备端获取GPS数据的问题

然后就是怎么在GB28181的协议中 实现GPS的问题

然后百度搜了下发现 我用LiveGBS 在本地搭了一个GB28181的服务器之后

设备配置上对应的信息 ,然后在设备列表中就能看到这个设备了

 需要点击进去有个编辑的选项  我的设备没有电了 

网上找个图片  不同版本显示可能有些差异,不影响意思表达

有个订阅服务 里面选择位置信息,周期我填写了3秒选择TCP 被动 ,

然后 我在我的设备的GB那块28181的位置信息的地方模拟了GPS数据 发现设备就会收到服务器下发的GPS信息了 我是每隔3秒钟 

 目前的GPS都是模拟数据  由于GPS设备得拿到室外 ,等上班之后 再去 室外调试看看 。

设备端的模拟数据如下:

 

然后LiveGBS 还提供了一个Http的方式访问设备信息如下:

 可以发现 应该要的信息这里都有 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

QMCY_jason

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值