1111111

各位导师同事大家好,我是今天的答辩人刘舸,我的导师是徐工,我的答辩课题VCS支持国标音视频流接入。答辩分为这五个部分展开,首先让我向各位简要说明一下任务内容。

我的任务总体分为两点。首先是扩展urpc接口,可以实现针对国标音视频三种不同传输数据方式的开始录像和停止录像接口。并且可以对国标音视频流进行解封装,解析成裸流,用现有的模块打包并进行储存。我们主要需要关注的部分是

接着我们需要进行问题分析。那我先简要介绍一下我们这个国标28181协议的信令交互过程,它主要是以sip协议为核心进行规定的,比较重要的invite信令部分,它可以携带sdp协议,sdp协议里面是IPC以及VCS的信息。例如ip地址,以及监听的端口等

我们来看一下具体设备之间的信令交互。首先调用sip服务器的接口,相当于发送了一个invite信令,vcs返回200OK,并且携带了自身的sdp协议,sdp协议里面就会有监听端口,ip地址等。Sip服务器收到这个sdp以后,会给ipc发一个invite信令并且携带这个sdp信息,IPC就得到了VCS的相关信息,比如ip,端口还有同步信源ssrc。接着IPC返回200OK并且携带了SDP协议,这个sdp协议包含了IPC的信息,主要是用于TCP主动。这个时候再调用这个rpc接口,就可以把ipc的sdp协议传递到VCS中,VCS就可以得到IPC的协议了。之后调用urpc的推流接口,sip服务器就会发请求,并且ipc向对应的vcs发送流。

讲完信令交互过程,我们需要考虑的问题是,如何让确定唯一的推流的IPC,在RTP包头中有一个4字节的数据,就是同步信源标识符ssrc,那它的作用就是区分不同的流,每一个流的ssrc都是唯一的。因此我们使用上级平台规定一个ssrc,并把ssrc传递出去,推流或者拉流的时候,就可以得到相应的音视频流了。

那这个图就是一个刚刚说的国标信令交互的简化版本,说明了信息的流向。

那么得到这些信息后,我们可以进入我们的流程中,首先是TCP被动。在下发录像计划以后,VCS发起推流请求,那这个推流请求中可以携带VCS自身的地址,端口还有ssrc,IPC就可以向指定的VCS流媒体服务器发起连接,并进行推流。之后进行解析和存储。

对于主动来说,在信令服务器进行交互的过程中,IPC最后返回自身的sdp信息到TUMS信令服务器中,那么我们可以设计一个接口去获取并解析这个sdp,从中得到IPC的地址和端口信息。TCP主动的录像计划下发后,VCS就会主动向对应的ipc拉流,并且拉的是指定的ssrc的流。这个就是TCP主动的流程

下一个需要考虑的就是如何解析PS流,国标数据包分为两种,一个是RTP over TCP,一个是RTP over UDP,RTP over TCP比udp的多了一个TCP包头,这个TCP包头两字节长度,标识后续内容的长度。我们的解析方法就是去掉TCP和RTP包头,剩下的就是PS流数据,PS流根据I帧和P帧还有音频包分为不同的情况,

分析完问题后,我们进入设计概要,首先我们需要设计的接口是推流接口,再TCP被动以及UDP进行传输的时候,我们需要用上级平台发送推流请求,这个请求中包含它监听的端口以及ip地址,还有ssrc,但目前tums还不支持国标推流,所以这个是流程中设计,但目前用不到。

第二个就是得到IPC的sdp协议,刚刚所讲国标信令流程调用一个rpc接口,可以把ipc的sdp协议发到VCS服务器中,那首先我们需要对这个sdp进行解析,并从中得到ipc的地址还有端口,主要是用于TCP主动,需要主动去拉流,所以必须知道ipc的地址和端口。

这里就是设计TCP被动和UDP的流程,下发录像计划,vcs下发推流请求给tums,推流请求中包含了ip,port还有ssrc等信息,tums向ipc下发推流请求,ipc就可以向指定推流

首先建立下发录像计划的接口。下发一个ssrc,来对应唯一的ipc。

之后呢,需要创建tcp监听线程。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值