欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2019103129197
申请人: 浙江工业大学
专利类型:发明专利
专利状态:已下证
专利领域: 电通信技术
更新日期:2023-08-24
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种基于SIP协议的音视频切片传输平台,其特征在于:包括SIP信令模块、流媒体信息交互与资源分配模块、媒体流切片存储模块,其中SIP信令模块为信令服务器,流媒体信息交互与资源分配模块和媒体流切片存储模块都属于流媒体服务器;

通过SIP信令模块接收来自SIP终端的请求,包括注册、心跳保活、通知媒体服务器、链接获取与转发接口;SIP终端首先通过SIP消息向SIP信令模块进行注册,SIP信令模块进行一系列加密认证流程;一种是认证方式是对通过加密后的密码与数据库进行比对,匹配成功则认证成功;还有一种认证方式是SIP终端通过验证码比对,比对正确则向平台发送消息内容为PASS的注册消息,平台收到内容为PASS的注册消息则判断为认证通过;如果认证通过,SIP信令模块将该SIP终端的用户名作为键,与SIP终端之间的Session作为值,以键-值对的形式保存在内存中;在响应SIP终端消息时,通过用户名查找到Session,再通过该Session响应消息;为了保证与SIP终端一直处于相连状态,SIP终端每隔一段时间需要向SIP信令模块发送方法为Register,内容为heartbeat的消息,SIP信令模块接收到后回复

200 OK消息;如果超过一定时间未收到来自SIP终端的heartbeat消息,SIP信令模块注销与当前SIP终端的会话;

当发起视频请求之前,SIP终端会向SIP信令模块发送方法为OPTIONS,内容为query的消息,SIP信令模块转发给被请求SIP终端,被请求SIP终端若在线则会回复200OK,若不在线,SIP信令模块直接回复400;按照在线的情况,之后SIP终端向SIP信令模块再发送方法为INVITE、内容为media的消息,消息内含视频参数;SIP信令模块将消息转发给流媒体信息交互与资源分配模块,准备建立会话;

SIP信令模块回复SIP终端100Trying的信息,然后流媒体信息交互与资源分配模块为视频会话分配预设数值区间的端口号;再根据被请求SIP终端用户名,在指定的路径下寻找是否存在以该用户名为名字的文件夹,若没有则创建一个,此文件夹作为媒体流切片暂时存放的路径,该路径及端口号各自作为一个临时变量,提供给媒体流切片存储模块;之后将端口号及根据文件夹路径生成的可拉流的链接回复给SIP信令模块,SIP信令模块转发端口号等信息给请求SIP终端,并回复200OK;

当回复SIP终端后,SIP终端不再操作,处于等待命令状态;SIP信令模块向被请求SIP终端发送方法为INVITE、内容为media的消息,内含会话建立必要信息,被请求SIP终端收到后回复200OK,SIP信令模块收到后再次回复ACK表示可以开始发送媒体码流;被请求SIP终端收到确认的ACK消息后,开始向媒体流切片存储模块发送标准的媒体流;

媒体流切片存储模块收到媒体流,对媒体流进行整合切片,每个切片以TS格式封装,同时生成一个m3u8格式的索引文件,媒体流切片与索引文件都放在以被请求SIP终端用户名命名的文件夹中;为保证音视频同步,音视频切片包括以下步骤:(1)解析基本码流,得到视频流,以I帧IDR帧为随即切入点,进而获得视频流切片时间戳,直接以此时间戳为切片节点对视频流进行切片;

(2)解析音频流,得到PTS及DTS信息,进而得到音频流的随机切入点的时间戳序列;

(3)以DV表示实际得到的音频流切片长短和预先设定的切片长短的差值,根据(2)得到的时间戳序列及预先设定的切片长短,尝试将DV做到最小化;此处采用最小化差值法优化方法的切片计算模型,其数学表达式为:对每个k=1,2,......,Kj,依次执行

s·t.d=,di,i,k-1

根据计算得出的di,j,k序列值,得到第i个音频流的切片时间戳序列值:

其中:

d:自变量

{ti(0),ti(1),ti(2),......,ti(Di)]:第i个音频流的随机切入点的时间戳,ti(0)=0,ti(Di)=L,L为音频流的时长Kj:媒体流的切片个数

di,j,k:媒体流的切片时间戳的序号,属于集合{0,1,2,......,Di},对所有k,0≤k≤Kj,di,j,0=0tj(nj,k):视频媒体流的切片时间戳

ti,j(di,j,k-1):第k个切片的起始时间戳

ti,j(di,j,k):第k个切片的结束时间戳

计算得出音频流的切片时间戳的最佳序列值,依据所述计算得出的切片时间戳的最佳序列值,对音频流进行切片;

(4)将视频流切片及音频流切片进行音视频封装,生成m3u8索引文件;

索引文件根据时间的推移不断更新;当索引文件生成后,流媒体服务器通过流媒体信息交互与资源分配模块会通知SIP信令模块,SIP信令模块发送ACK确认消息给SIP终端,SIP终端就会自动通过之前接收到的链接来观看被请求SIP终端发来的视频;当某方想要结束时,给SIP信令模块发送方法为BYE的消息,SIP信令模块回复200OK后,转发消息给另一个SIP终端,SIP终端也会回复200OK以表示确认收到;然后两个SIP终端停止码流的发送与观看;最后,SIP信令模块通知流媒体信息交互与资源分配模块,该SIP信令模块会释放端口,并删除指定文件夹下的切片与索引文件,如果出现服务器崩溃等导致删除没有成功的意外情况,切片与索引文件在服务器启动后一定时间内自动消失。