【技术实现步骤摘要】
一种降低网络直播时延的方法及计算机可读存储介质
[0001]本申请涉及通信
,尤其涉及一种降低网络直播时延的方法、网络摄像头(internet protocolcamera,IPC)服务器及计算机可读存储介质。
技术介绍
[0002]网络直播能够即时地向用户提供多媒体服务,应用广泛。不过,网络直播的数据在传输中需要经过诸如网关、中继服务器等多个节点,导致网络直播存在较大的时延,用户体验不佳。如何在网络直播中尽可能地降低时延,提高用户体验,成为我们的需求。
技术实现思路
[0003]为了解决上述技术问题,本申请提供了一种降低网络直播时延的方法、网络直播系统、IPC服务器及计算机可读存储介质,用于降低网络直播的时延,提高用户体验。
[0004]第一方面,提供了一种降低网络直播时延的方法。该方法应用于网络直播系统,该网络直播系统包含网络摄像头IPC设备、网络地址转(network addess transform,NAT)网关B
n
、对等(peer to peer,P2P)主服务器、P2P从服务器、IPC服务器、网络地址转换NAT网关A
m
和电子设备。IPC设备经NAT网关B
n
,P2P主服务器、P2P从服务器和IPC服务器中的至少一个,以及NAT网关A
m
后,与电子设备通信;IPC设备用于输出媒体数据,及接受电子设备的控制;电子设备用于接收媒体数据,及对IPC设备进行控制;其中,m、n均为大于或等于1的正整数。该方法包括
【技术保护点】
【技术特征摘要】
1.一种降低网络直播时延的方法,所述方法应用于网络直播系统,其特征在于,所述网络直播系统包含网络摄像头IPC设备、网络地址转换NAT网关B
n
、对等P2P主服务器、P2P从服务器、IPC服务器、网络地址转换NAT网关A
m
和电子设备;所述IPC设备经所述NAT网关B
n
,所述P2P主服务器、所述P2P从服务器和所述IPC服务器中的至少一个,以及所述NAT网关A
m
后,与所述电子设备通信;所述IPC设备用于输出媒体数据,及接受所述电子设备的控制;所述电子设备用于接收所述媒体数据,及对所述IPC设备进行控制;其中,m、n均为大于或等于1的正整数;所述方法包括:所述P2P主服务器接收到所述IPC设备经所述NAT网关B
n
的第一STUN探测消息,从所述第一STUN探测消息中获取到所述NAT网关B
n
的第三IP地址和第三端口号;所述P2P从服务器接收到所述IPC设备经所述NAT网关B
n
的第二STUN探测消息,从所述第二STUN探测消息中获取到所述NAT网关B
n
的第四IP地址和第四端口号;所述P2P主服务器接收到所述P2P从服务器的第二同步消息,从所述第二同步消息中获取到所述第四IP地址和所述第四端口号;所述P2P主服务器根据所述第三IP地址、所述第三端口号、所述第四IP地址和所述第四端口号,获取到所述NAT网关B
n
的类型;所述IPC服务器接收到所述P2P主服务器的第一传输消息,从所述第一传输消息中获取到所述NAT网关B
n
的类型、所述IPC设备的序列号SN和所述第三IP地址;所述P2P主服务器接收到所述电子设备经所述NAT网关A
m
的第三STUN探测消息,从所述第三STUN探测消息中获取到所述NAT网关A
m
的第五IP地址和第五端口号;所述P2P从服务器接收到所述电子设备经所述NAT网关A
m
的第四STUN探测消息,从所述第四STUN探测消息中获取到所述NAT网关A
m
的第六IP地址和第六端口号;所述P2P主服务器接收到所述P2P从服务器的第三同步消息,从所述第三同步消息中获取到所述第六IP地址和所述第六端口号;所述P2P主服务器根据所述第五IP地址、所述第五端口号、所述第六IP地址和所述第六端口号,获取到所述NAT网关A
m
的类型;所述IPC服务器接收到所述P2P主服务器的第二传输消息,从所述第二传输消息中获取到所述NAT网关A
m
的类型、所述电子设备的一个应用APP的序列号SN和所述第五IP地址;所述APP关联于网络直播;所述IPC服务器根据所述NAT网关A
m
的类型和所述NAT网关B
n
的类型,确定所述NAT网关A
m
和所述NAT网关B
n
是否适合打洞;在确定所述NAT网关A
m
和所述NAT网关B
n
适合打洞后,所述IPC服务器并行地向所述电子设备和所述IPC设备分别发送第一通知消息和第二通知消息;所述第一通知消息包括所述IPC设备的SN和所述第三IP地址;所述第二通知消息包括所述APP的SN和所述第五IP地址;所述电子设备在接收到所述第一通知消息后,根据所述第三IP地址,进行NAT穿越打洞;所述IPC设备在接收到所述第二通知消息后,根据所述第五IP地址,进行NAT穿越打洞。2.根据权利要求1所述的方法,其特征在于,所述媒体数据包括视频流;所述方法还包括:在所述NAT穿越打洞成功后,所述电子设备与所述IPC设备建立第一通信通道;在所述
第一通信通道下,所述电子设备只经所述NAT网关A
m
和所述NAT网关B
n
,与所述IPC设备通信;通过所述第一通信通道,所述电子设备接收到所述IPC设备的连续的第一分辨率的I帧的第一视频流;在接收到所述第一视频流的首个完整I帧后,通过所述第一通信通道,向所述IPC设备发送第二分辨率的第二视频流的获取请求;所述第二分辨率为所述IPC设备正常工作时输出的第二视频流的分辨率;所述第二分辨率大于所述第一分辨率;所述IPC设备在通过所述第一通信通道,接收到所述获取请求后,向所述电子设备发送第二分辨率的所述第二视频流;在通过所述第一通信通道,接收到所述第二视频流后,所述电子设备播放所述第二视频流;其中,所述I帧为全帧压缩编码帧,是将全帧图像信息压缩编码后形成的帧。3.根据权利要求2所述的方法,其特征在于,所述电子设备播放所述第二视频流,包括:所述电子设备的所述APP播放所述第二视频流。4.根据权利要求2所述的方法,其特征在于,所述在接收到所述第一视频流的首个完整I帧后,向所述IPC设备发送第二分辨率的第二视频流的获取请求;包括:在接收到所述第一视频流的首个完整I帧后,且在所述电子设备的所述APP接收到一个用户输入后,所述电子设备通过所述第一通信通道,向所述IPC设备发送第二分辨率的第二视频流的获取请求;所述用户输入用于指示查看或播放所述IPC设备的所述第二视频流。5.根据权利要求1所述的方法,其特征在于,所述媒体数据包括视频流;所述方法还包括:在所述NAT穿越打洞成功后,所述电子设备与所述IPC设备建立第一通信通道;在所述第一通信通道下,所述电子设备只经所述NAT网关A
m
和所述NAT网关B
n
与所述IPC设备通信;所述电子设备的所述APP接收到一个用户输入后,所述电子设备通过所述第一通信通道,向所述IPC设备发送第二分辨率的第二视频流的获取请求;所述IPC设备在通过所述第一通信通道,接收到所述获取请求后,向所述电子设备发送第二分辨率的所述第二视频流;在通过所述第一通信通道,接收到所述第二视频流后,所述电子设备播放所述第二视频流。6.根据权利要求1
‑
5中任意一项所述的方法,其特征在于,所述IPC服务器根据所述NAT网关A
m
的类型和所述NAT网关B
n
的类型,确定所述NAT网关A
m
和所述NAT网关B
n
是否适合打洞;包括:在所述NAT网关A
m
的类型和所述NAT网关B
n
的类型不都为对称型后,所述NAT网关A
m
和所述NAT网关B
n
适合打洞。7.根据权利要求6所述的方法,其特征在于,所述IPC服务器根据所述NAT网关A
m
的类型和所述NAT网关B
n
的类型,确定所述NAT网关A
m
和所述NAT网关B
n
是否适合打洞;还包括:在所述NAT网关A
m
的类型和所述NAT网关B
n
的类型都为对称型后,所述NAT网关A
m
和所述NAT网关B
n
不适合打洞。8.根据权利要求1
‑
7中任意一项所述的方法,其特征在于,在所述P2P主服务器接收到所述IPC设备经所述NAT网关B
n
的第一STUN探测消息之前,所述方法还包括:
所述P2P主服务器接收到所述P2P从服务器的第一同步消息,从所述第一同步消息中获取到所述P2P从服务器的第一IP地址和第一端口号;所述IPC服务器接收到所述P2P主服务器的第一注册消息,从所述第一注册消息中获取到所述P2P主服务器的第二IP地址和第二端口号,以及所述P2P从服务器的第一IP地址和第一端口号;所述IPC服务器接收到所述IPC设备经所述NAT网关B
n
的第二注册消息,从所述第二注册消息中获取到所述IPC设备的SN和用户身份标识UID;所述UID与所述IPC设备的账号关联;所述IPC设备的账号和所述UID均唯一;在所述IPC服务器不存在与所述UID对应的存储结构体Room后,所述IPC服务器创建第一Room ID的第一Room,将所述IPC设备的SN和所述UID存储在所述第一Room内,并经所述NAT网关B
n
,向所述IPC设备发送第一返回消息,所述第一返回消息包括所述第一Room ID、所述第一IP地址、所述第一端口号、所述第二IP地址和所述第二端口号。9.根据权利要求8所述的方法,其特征在于,所述IPC服务器接收到所述P2P主服务器的第一传输消息,从所述第一传输消息中获取到所述NAT网关B
n
的类型、所述IPC设备的序列号SN和所述第三IP地址;包括:所述IPC服务器接收到所述P2P主服务器的第一传输消息,从所述第一传输消息中获取到所述NAT网关B
n
的类型、所述IPC设备的序列号SN和所述第三IP地址,将所述NAT网关B
n
的类型、所述IPC设备的序列号SN和所述第三IP地址存储在所述第一Room内。10.根据权利要求9所述的方法,其特征在于,在所述P2P主服务器接收到所述电子设备经所述NAT网关A
m
的第三STUN探测消息之前,所述方法还包括:所述IPC服务器接收到所述电子设备经所述NAT网关A
m
的第三注册消息,从所述第三注册消息中获取到所述电子设备的所述APP的SN和UID;在所述IPC服务器存在与所述UID对应的第一Room后,所述IPC服务器经所述NAT网关A
m
,向所述电子设备发送第四返回消息,所述第四返回消息包括所述第一Room ID、所述IPC设备的SN。11.根据权利要求10所述的方法,其特征在于,在所述IPC服务器经所述NAT网关A
m
,向所述电子设备发送第四返回消息后,所述方法还包括:所述电子设备接收到第三输入后,所述电子设备向所述IPC服务器发送订阅消息,所述订阅消息包括订阅视频的信息,所述电子设备的所述APP的SN和UID;所述IPC服务器接收到所述订阅消息后,获取到所述订阅视频的信息,所述电子设备的所述APP的SN和UID,并经所述NAT网关A
m
,向所述电子设备发送第一响应消息,所述第一响应消息包括所述第一IP地址、所述第一端口号、所述第二IP地址和所述第二端口号;所述电子设备接收到所述第一响应消息,从所述第一响应消息中获取到所述第一IP地址、所述第一端口号、所述第二IP地址和所述第二端口号。12.根据权利要求9所述的方法,其特征在于,在所述P2P主服务器接收到所述电子设备经所述NAT网关A
m
的第三STUN探测消息之前,所述方法还包括:所述IPC服务器接收到所述电子设备经所述NAT网关A
m
的第三注册消息,从所述第三注册消息中获取到所述电子设备的所述APP的SN和UID;在所述IPC服务器存在与所述UID对应的第一Room后,所述IPC服务器...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。