一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于移动端导播台多路直播同步校准的方法与流程

2022-04-30 06:20:48 来源:中国专利 TAG:


1.本发明涉及iptv技术领域,具体涉及一种基于移动端导播台多路直播同步校准的方法。


背景技术:

2.随着网络信息化进程的快速发展,短视频、直播逐渐融入了人们日常生活,正在悄然改变着人们的生产、生活方式。同时,促进了各领域的细分行业的发展,如:直播带货、新闻号等。视频已然成为移动互联网的风口。这对直播视频处理技术提出了更高的要求。
3.线上教学、线上会议、线上手术等均是各场景下多机位、多终端的直播形式的应用,其对各路视频流间的实时性、同步性要求非常高。尤其是远程手术,其实时、同步更是要求控制在毫秒级。多机位必然涉及多路直播视频同步的问题,传统多路直播视频的播放未有同步相关机制处理,导致多路直播的同步完全依赖网络环境,由于网络可能存在延迟、抖动、拥塞、丢包等诸多问题,终端异常均会造成不同程度的同步问题。在这种情况下,如果不做同步校准处理,会造成极差的用户体验,可能会酿成重大不良后果。


技术实现要素:

4.为克服所述不足,本发明的目的在于提供一种基于移动端导播台多路直播同步校准的方法,提出一种多路直播同步校准思路,旨在解决各种网络环境下多路直播不同步问题。
5.本发明解决其技术问题所采用的技术方案是:一种基于移动端导播台多路直播同步校准的方法,其核心设计是建立直播客户端与导播台之间的时间映射关系,根据映射关系同步校准直播流帧时间戳,然后根据多路直播流同步策略进行同步、合流实现,最大程度减轻网络环境对多路直播同步问题的影响,将多路直播不同步问题控制在一定范围,具体步骤如下:
6.第一步,移动端导播台创建导播实例,并在流媒体服务器上完成注册,导播台创建多机位唯一串码,唯一串码包含实例信息,并生成二维码;
7.第二步,导播台与长连接服务器建立长连接;
8.第三步,直播客户端扫码加入导播,建立直播客户端与长连接服务器长连接,解析二维码获取实例信息;
9.第四步,直播客户端获取当前时间戳ts
clt1
,同时根据实例信息通过长连接向导播台发起请求,获取当获取导播台时间戳ts
dtr

10.第五步,直播客户端获取导播台时间ts
dtr
后,再次获取本地时间 ts
clt2

11.第六步,根据直播客户端两次获取时间ts
clt1
、ts
clt2
计算rtt(往返时间),建立直播客户端时间与导播台时间映射关系,映射公式如下:
[0012][0013]
第七步,将直播客户端与导播台建立的时间映射关系发送至流媒体服务器,同时
含有解析获取的导播台生成的唯一标识,流媒体服务器将映射关系进行缓存;
[0014]
第八步,直播客户端向流媒体服务器进行直播推流操作,含直播客户端唯一标识;
[0015]
第九步,流媒体服务接收到直播客户端推送数据后,根据客户端唯一标识从缓存获取本客户端时间与导播台时间映射关系,对直播流帧数据进行解码操作,提取时间戳ts(timestamp)信息,根据获取映射关系,以导播台时间为标准计算新时间戳,并进行重写;
[0016]
第十步,流媒体服务器将多路报文根据新时间戳进行帧数据同步、合流、编码操作,推流至cdn(content delivery network即内容分发网络),完成本次多路直播流数据同步操作。
[0017]
本发明具有以下有益效果:
[0018]
本技术建立直播客户端与导播台之间的时间映射关系,根据映射关系同步校准直播流帧时间戳,然后根据多路直播流同步策略进行同步、合流实现;最大程度减轻网络环境对多路直播同步问题的影响,把多路直播流同步问题控制在毫秒级,以满足网络条件较差环境下的直播同步需求。
附图说明
[0019]
图1为本发明的处理时序图。
[0020]
图2为本发明的多路直播流同步合流示意图。
具体实施方式
[0021]
现在结合附图对本发明作进一步详细的说明。
[0022]
一种基于移动端导播台多路直播同步校准的方法,以移动端导播台为基础平台进行研发建设,导播、直播推流、直播观看相关功能均集成进同一应用下,多部移动终端安装此应用,具体实施方式如下:
[0023]
步骤一,移动端导播台创建导播实例,并在流媒体服务器完成注册,创建多个移动终端摄像机位,生成各机位串码(唯一标识,含导播实例信息)二维码,本次将创建两个直播客户端,即机位a、机位 b两个机位进行说明;
[0024]
步骤二,导播台通过wss(websocket)协议,与长连接服务建立长连接;
[0025]
步骤三,两机位通过扫描步骤一中生成二维码加入导播,并建立机位与长连接服务器的长连接,解析二维码,获取实例信息;
[0026]
步骤四,根据实例信息建立机位与导播台时间映射关系,包括:
[0027]
4.1、机位记录当前时间ts
clt1
,根据实例信息通过长连接向导播台发起请求,获取当前导播台时间ts
dtr
,获取到导播台时间后,再次获取本机位当前时间ts
clt2

[0028]
4.2、根据两次机位获取时间ts
clt1
、ts
clt2
计算rtt(往返时间),建立机位时间与导播台时间映射关系,映射公式如下:
[0029][0030]
机位a计算rtt、与导播台时间建立映射关系示例:
[0031]
a、计算rtt
[0032]
获取导播台时间前与获取后分别获取本地时间为:1629967263000,即ts
clt1
=1629967263000,ts
clt2
=1629967263600,导播台返回本实例时间为:1629967266000,即
ts
dtr
=1629967266000,则:
[0033]
rtt=(ts
clt2-ts
clt1
)/2=(1629967263600-1629967263000)/2=300;
[0034]
b、与导播台时间建立映射关系
[0035]
根据上述a获取的有效数据及rtt计算结果,考虑rtt影响,估算机位时间:
[0036]
ts
clt
=t
clt1
rtt=1629967263000 300=1629967263300
[0037]
则建立的映射关系为:
[0038][0039]
步骤五,各机位分别将建立的映射关系发送至流媒体服务器,同时包含步骤一中生成串码,流媒体服务器将映射关系进行缓存,缓存时效5小时,直播最长持续5小时,缓存关系示例如下:
[0040][0041][0042]
步骤六,两机位分别向流媒体服务器进行推流操作,发送机位唯一标识,推送直播流数据报文;
[0043]
步骤七,流媒体服务器接收到机位推送报文后,进行解码、时间戳校准、同步操作,其操作方法为:
[0044]
7.1、获取机位唯一串码,根据唯一串码在数据缓存获取本机位时间与导播台时间映射关系,映射本机位时间记ts
clt
,映射导播台时间记ts
dtr

[0045]
7.2、对直播流帧数据进行解码操作,提取时间戳ts(timestamp) 信息,根据获取本机位的时间与导播台时间映射关系,重新计算全新时间戳ts
new
,计算方式如下:
[0046]
ts
new
=ts ts
dtr-ts
clt
[0047]
将计算的新时间戳ts
new
重写本帧的时间戳,实现时间戳校准操作,其中,帧数据时间戳校准示例,基于上述步骤中示例计算结果进行后续操作:
[0048]
假设提取其中的一帧的时间戳ts为:1629967304000,则本帧的新的时间戳为:
[0049]
ts
new
=ts ts
dtr-ts
clt
[0050]
=1629967304000 1629967266000 1629967263300
[0051]
=1629967306700
[0052]
7.3、多路直播流进行同步操作处理,如2所示,直播流数据是由不间断的帧数据队列组成,按照先入先出的原则进行处理,对本次导播实例内各直播数据队列具有相同时间戳的帧数据进行合流操作,相同时间戳并非绝对,判断时间戳上下小于1/2帧时长时内帧数据,均判定为本时间戳的帧数据,均进行合流,假设本次直播帧率为20 帧/秒,则每帧时长为50ms,1/2帧即
±
25ms,即对多路直播队列
±ꢀ
25ms内的帧数据进行合流操作,完成帧数据同步逻辑,即多路视频同步操作将时间差控制在50ms级别内;
[0053]
步骤八,流媒体服务器内将多路直播流数据同步校准、合流完成后,则将进行重新编码,推流至cdn加速等操作;
[0054]
步骤九,完成多路直播流的同步处理流程,用户端可对移动端导播多路直播视频
进行同步收视体验;
[0055]
步骤十,导播/直播结束后,发送指令删除本机位与导播台的时间映射关系。
[0056]
本发明不局限于所述实施方式,任何人应得知在本发明的启示下作出的结构变化,凡是与本发明具有相同或相近的技术方案,均落入本发明的保护范围之内。
[0057]
本发明未详细描述的技术、形状、构造部分均为公知技术。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献