天天看点

RTMP和GB28181两种视频上云协议的选择

现在各种公有云、私有云、流媒体服务器,基本上都支持两种视频传输的协议,一种是RTMP、一种是GB/T28181协议,我的理解,这两种协议各有优缺点:

  • RTMP采用的是TCP传输,可靠性强,基本不丢帧,要丢也是推流端或者服务端整段整段丢掉,现在的网络大环境,常规直播丢帧的情况不是太多;
  • GB28181有TCP、UDP多种传输模式,但是各种设备的支持程度不一样,对所在网络的要求也比较高,所以GB28181的传输适合看,不是非常适合存;
  • RTMP属于推流端一股脑往服务端发数据,常规理解上来说,不存在按需推流的情况;
  • GB28181有信令流和数据流,信令流控制着数据流的开始与停止;

于是,在RTMP和GB28181两种协议的选择上就有了差别,当有以下几种需求的时候,那是必定要选择GB28181做视频上云的:

  • 云台控制需求;
  • 镜头变焦需求;
  • 设备录像回放需求;

那上面说到的按需直播需求不在列呢?

RTMP推流协议虽然没有信令流的说法,但RTMP在推流的过程中,也有握手建立连接的过程,我们可以在服务端推流建立连接的开始阶段或者推流过程中,服务端主动断开与推流端的连接,达到停止推流的目的;而推流端为了保证服务端在有RTMP推流需要的时候能够以最快的速度接收到流,推流端需要不断进行重连推流,一旦重连成功,立即开始推流流程,这样整个过程的及时性和实时性跟信令流控制的推流效果是一样的!

继续阅读