不对称组网系统视频呼叫方法及终端、服务器和系统.pdf

上传人:b*** 文档编号:4080188 上传时间:2018-08-14 格式:PDF 页数:18 大小:2.02MB
返回 下载 相关 举报
摘要
申请专利号:

CN201310430390.1

申请日:

2013.09.18

公开号:

CN104469537A

公开日:

2015.03.25

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04N21/6437申请日:20130918|||公开

IPC分类号:

H04N21/6437(2011.01)I; H04N21/647(2011.01)I; H04N7/14

主分类号:

H04N21/6437

申请人:

华为技术有限公司

发明人:

田振华; 吴毅敏

地址:

518129广东省深圳市龙岗区坂田华为总部办公楼

优先权:

专利代理机构:

深圳市威世博知识产权代理事务所(普通合伙)44280

代理人:

何青瓦

PDF下载: PDF下载
内容摘要

本发明公开了一种不对称组网系统视频呼叫方法及终端、服务器和系统。不对称组网系统包括支持NAT的第一终端、中间服务器以及不支持NAT的第二终端,视频呼叫方法包括:在第一终端与中间服务器间的网络地址转换连通性检测完成时,第一终端向第二终端发送关键帧请求;第一终端接收第二终端响应关键帧请求而返回的关键帧,解析后续的差别帧而正常显示第二终端发来的视频。通过上述方式,本发明能够有效减少视频无法正常显示的时间,给用户更好的业务体验。

权利要求书

权利要求书1.  一种不对称组网系统视频呼叫方法,所述不对称组网系统包括支持网络地址转换的第一终端、中间服务器以及不支持网络地址转换的第二终端,其特征在于,所述方法包括:在所述第一终端与所述中间服务器间的网络地址转换连通性检测完成时,所述第一终端向所述第二终端发送关键帧请求;所述第一终端接收所述第二终端响应所述关键帧请求而返回的关键帧,解析后续的差别帧而正常显示所述第二终端发来的视频。2.  根据权利要求1所述的方法,其特征在于,所述向所述第二终端发送关键帧请求的步骤包括:所述第一终端在媒体层面或信令层面发出关键帧请求,并通过所述中间服务器转发给所述第二终端。3.  根据权利要求1所述的方法,其特征在于,所述在所述第一终端与所述中间服务器间的网络地址转换连通性检测完成之前,所述方法还包括:所述第一终端通过所述中间服务器向所述第二终端发出视频请求,所述视频请求携带视频编解码信息以及所述第一终端的网络地址转换连通性检测候选地址;所述第一终端接收携带所述中间服务器的网络地址转换连通性检测候选地址的请求应答消息,开始与所述中间服务器进行网络地址转换连通性检测。4.  一种不对称组网系统视频呼叫方法,所述不对称组网系统包括支持网络地址转换的第一终端、中间服务器以及不支持网络地址转换的第二终端,其特征在于,所述方法包括:在所述第一终端与所述中间服务器间的网络地址转换连通性检测完成时,所述中间服务器向所述第二终端发送关键帧请求;所述中间服务器接收所述第二终端响应所述关键帧请求而返回的关键帧,并将所述关键帧转发给所述第一终端,以使所述第一终端能够 正常显示第二终端发来的视频。5.  根据权利要求4所述的方法,其特征在于,所述中间服务器向所述第二终端发送关键帧请求的步骤包括:所述中间服务器在媒体层面或信令层面向所述第二终端发送关键帧请求。6.  根据权利要求4所述的方法,其特征在于,所述在所述第一终端与所述中间服务器间的网络地址转换连通性检测完成之前,还包括:所述中间服务器接收所述第一终端的视频请求,所述视频请求携带视频编解码信息以及所述第一终端的网络地址转换连通性检测候选地址;所述中间服务器删除所述视频请求中的网络地址转换连通性检测候选地址后将所述视频请求转发给所述第二终端。7.  根据权利要求6所述的方法,其特征在于,所述将所述视频请求转发给所述第二终端的步骤之后,还包括:所述中间服务器接收来自所述第二终端的请求应答消息,添加自身的网络地址转换连通性检测候选地址到所述请求应答消息中,然后将请求应答消息转发给所述第一终端。8.  一种支持网络地址转换的终端,其特征在于,所述支持网络地址转换的终端与不支持网络地址转换的终端通过中间服务器进行视频呼叫,所述支持网络地址转换的终端包括请求模块和接收模块,其中:所述请求模块用于在所述支持网络地址转换的终端与所述中间服务器间的网络地址转换连通性检测完成时,向所述不支持网络地址转换的终端发送关键帧请求;所述接收模块用于接收所述不支持网络地址转换的终端响应所述关键帧请求而返回的关键帧,解析后续的差别帧而正常显示所述不支持网络地址转换的终端发来的视频。9.  根据权利要求8所述的终端,其特征在于,所述请求模块用于在媒体层面或信令层面发出关键帧请求,并通过所述中间服务器转发给所述不支持网络地址转换的终端。10.  根据权利要求8所述的终端,其特征在于,所述请求模块用于通过所述中间服务器向所述不支持网络地址转换的终端发出视频请求,所述视频请求携带视频编解码信息以及所述支持网络地址转换的终端的网络地址转换连通性检测候选地址;所述接收模块用于接收携带所述中间服务器的网络地址转换连通性检测候选地址的请求应答消息,开始与所述中间服务器进行网络地址转换连通性检测。11.  一种服务器,其特征在于,支持网络地址转换的终端与不支持网络地址转换的终端通过所述服务器进行视频呼叫,所述服务器包括请求模块和转发模块,其中:所述请求模块用于在所述支持网络地址转换的终端与所述服务器间的网络地址转换连通性检测完成时,向所述不支持网络地址转换的终端发送关键帧请求;所述转发模块用于接收所述不支持网络地址转换的终端响应所述关键帧请求而返回的关键帧,并将所述关键帧转发给所述支持网络地址转换的终端,以使所述支持网络地址转换的终端能够正常显示所述不支持网络地址转换的终端发来的视频。12.  根据权利要求11所述的服务器,其特征在于,所述请求模块用于在媒体层面或信令层面向所述不支持网络地址转换的终端发送关键帧请求。13.  根据权利要求11所述的服务器,其特征在于,所述转发模块用于接收所述支持网络地址转换的终端的视频请求,所述视频请求携带视频编解码信息以及所述支持网络地址转换的终端的网络地址转换连通性检测候选地址,删除所述视频请求中的网络地址转换连通性检测候选地址后将所述视频请求转发给所述不支持网络地址转换的终端。14.  根据权利要求13所述的服务器,其特征在于,所述转发模块用于接收来自所述不支持网络地址转换的终端的请求应答消息,添加所述服务器的网络地址转换连通性检测候选地址到所 述请求应答消息中,然后将请求应答消息转发给所述支持网络地址转换的终端。15.  一种网络系统,其特征在于,所述网络系统包括权利要求8-10任一项所述的支持网络地址转换的终端以及权利要求11-14任一项所述的服务器和不支持网络地址转换的终端。

说明书

说明书不对称组网系统视频呼叫方法及终端、服务器和系统
技术领域
本发明涉及通信领域,特别是涉及一种不对称组网系统视频呼叫方法及终端、服务器和系统。
背景技术
视频编解码的传输,如H.264的媒体传输采用实时传输协议(Real-time Transport Protocol,RTP)方式,而RTP是承载在用户数据包协议(User Datagram Protocol,UDP)之上,由于UDP是无连接,不可靠的传输协议,因此视频流包在网络上传输,容易出现丢包的情况。
在视频传输中,一副画面可以分成关键帧和差别帧(P帧)进行传输,关键帧是视频传输的关键,后续的P帧的解码都是依靠关键帧来完成的。如果关键帧丢失,P帧无法解码,解码器也就无法正常解析收到的视频画面。
H.264相关标准中定义媒体关键帧请求机制,即当一段解码器发现丢失关键帧后,可以主动向另外一个端发送关键帧请求而获取关键帧实现正常解码。但是,这种方式,无法正常显示对方视频的时间相对比较长。另外,对于一端是支持网络地址转换(NAT)的终端,而另一端是不支持NAT的终端的组网系统来说,NAT连通性检测也可能导致关键帧的丢失,如果仍采用上述的方式来处理,支持NAT的终端在接收到视频请求应答后会持续较长时间无法正常显示对方视频。
发明内容
本发明主要解决的技术问题是不对称组网系统下,如何缩短支持NAT终端在接收到视频请求应答后无法正常显示对方视频的时间。
有鉴于此,本申请提供一种不对称组网系统视频呼叫方法及终端、 服务器和系统,能够有效减少视频无法正常显示的时间,给用户更好的业务体验。
第一方面,提供一种不对称组网系统视频呼叫方法,所述不对称组网系统包括支持网络地址转换的第一终端、中间服务器以及不支持网络地址转换的第二终端,所述方法包括:在所述第一终端与所述中间服务器间的网络地址转换连通性检测完成时,所述第一终端向所述第二终端发送关键帧请求;所述第一终端接收所述第二终端响应所述关键帧请求而返回的关键帧,解析后续的差别帧而正常显示所述第二终端发来的视频。
结合第一方面,在第一方面的第一种可能的实现方式中:所述向所述第二终端发送关键帧请求的步骤包括:所述第一终端在媒体层面或信令层面发出关键帧请求,并通过所述中间服务器转发给所述第二终端。
结合第一方面,在第一方面的第二种可能的实现方式中:所述在所述第一终端与所述中间服务器间的网络地址转换连通性检测完成之前,所述方法还包括:所述第一终端通过所述中间服务器向所述第二终端发出视频请求,所述视频请求携带视频编解码信息以及所述第一终端的网络地址转换连通性检测候选地址;所述第一终端接收携带所述中间服务器的网络地址转换连通性检测候选地址的请求应答消息,开始与所述中间服务器进行网络地址转换连通性检测。
第二方面,提供一种不对称组网系统视频呼叫方法,所述不对称组网系统包括支持网络地址转换的第一终端、中间服务器以及不支持网络地址转换的第二终端,所述方法包括:在所述第一终端与所述中间服务器间的网络地址转换连通性检测完成时,所述中间服务器向所述第二终端发送关键帧请求;所述中间服务器接收所述第二终端响应所述关键帧请求而返回的关键帧,并将所述关键帧转发给所述第一终端,以使所述第一终端能够正常显示第二终端发来的视频。
结合第二方面,在第二方面的第一种可能的实现方式中:所述中间服务器向所述第二终端发送关键帧请求的步骤包括:所述中间服务器在媒体层面或信令层面向所述第二终端发送关键帧请求。
结合第二方面,在第二方面的第二种可能的实现方式中:所述在所述第一终端与所述中间服务器间的网络地址转换连通性检测完成之前,还包括:所述中间服务器接收所述第一终端的视频请求,所述视频请求携带视频编解码信息以及所述第一终端的网络地址转换连通性检测候选地址;所述中间服务器删除所述视频请求中的网络地址转换连通性检测候选地址后将所述视频请求转发给所述第二终端。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中:所述将所述视频请求转发给所述第二终端的步骤之后,还包括:所述中间服务器接收来自所述第二终端的请求应答消息,添加自身的网络地址转换连通性检测候选地址到所述请求应答消息中,然后将请求应答消息转发给所述第一终端。
第三方面,提供一种支持网络地址转换的终端,所述支持网络地址转换的终端与不支持网络地址转换的终端通过中间服务器进行视频呼叫,所述支持网络地址转换的终端包括请求模块和接收模块,其中:所述请求模块用于在所述支持网络地址转换的终端与所述中间服务器间的网络地址转换连通性检测完成时,向所述不支持网络地址转换的终端发送关键帧请求;所述接收模块用于接收所述不支持网络地址转换的终端响应所述关键帧请求而返回的关键帧,解析后续的差别帧而正常显示所述不支持网络地址转换的终端发来的视频。
结合第三方面,在第三方面的第一种可能的实现方式中:所述请求模块用于在媒体层面或信令层面发出关键帧请求,并通过所述中间服务器转发给所述不支持网络地址转换的终端。
结合第三方面,在第三方面的第二种可能的实现方式中:所述请求模块用于通过所述中间服务器向所述不支持网络地址转换的终端发出视频请求,所述视频请求携带视频编解码信息以及所述支持网络地址转换的终端的网络地址转换连通性检测候选地址;所述接收模块用于接收携带所述中间服务器的网络地址转换连通性检测候选地址的请求应答消息,开始与所述中间服务器进行网络地址转换连通性检测。
第四方面,提供一种服务器,支持网络地址转换的终端与不支持网 络地址转换的终端通过所述服务器进行视频呼叫,所述服务器包括请求模块和转发模块,其中:所述请求模块用于在所述支持网络地址转换的终端与所述服务器间的网络地址转换连通性检测完成时,向所述不支持网络地址转换的终端发送关键帧请求;所述转发模块用于接收所述不支持网络地址转换的终端响应所述关键帧请求而返回的关键帧,并将所述关键帧转发给所述支持网络地址转换的终端,以使所述支持网络地址转换的终端能够正常显示所述不支持网络地址转换的终端发来的视频。
结合第四方面,在第四方面的第一种可能的实现方式中:所述请求模块用于在媒体层面或信令层面向所述不支持网络地址转换的终端发送关键帧请求。
结合第四方面,在第四方面的第二种可能的实现方式中:所述转发模块用于接收所述支持网络地址转换的终端的视频请求,所述视频请求携带视频编解码信息以及所述支持网络地址转换的终端的网络地址转换连通性检测候选地址,删除所述视频请求中的网络地址转换连通性检测候选地址后将所述视频请求转发给所述不支持网络地址转换的终端。
结合第四方面的第二种可能的实现方式,在第四方面的第三种可能的实现方式中:所述转发模块用于接收来自所述不支持网络地址转换的终端的请求应答消息,添加所述服务器的网络地址转换连通性检测候选地址到所述请求应答消息中,然后将请求应答消息转发给所述支持网络地址转换的终端。
第五方面,提供一种网络系统,所述网络系统包括上述第三方面以及第三方面的任一种可能的实现方式中的支持网络地址转换的终端和第四方面以及第四方面的任一种可能的实现方式中的服务器,还包括不支持网络地址转换的终端。
本申请的有益效果是:区别于现有技术的情况,本申请不对称组网系统视频呼叫方法,在支持NAT的终端与中间服务器之间的NAT连通性检测完成时,主动向不支持NAT的终端发送关键帧请求,从而接收不支持NAT的终端的关键帧而实现视频正常解码。通过这样的方式,有效缩短支持NAT终端在接收视频请求应答消息后无法正常显示对端视频 的时间,给用户更好的业务体验。
附图说明
图1是本申请不对称组网系统视频呼叫方法第一个实施方式的流程图;
图2是本申请不对称组网系统视频呼叫方法第二个实施方式的流程图;
图3是本申请不对称组网系统视频呼叫方法第三个实施方式的流程图;
图4是本申请不对称组网系统视频呼叫方法第四个实施方式的流程图;
图5是本申请不对称组网系统视频呼叫方法第五个实施方式的流程图;
图6是本申请支持NAT的终端一个实施方式的结构示意图;
图7是本申请服务器一个实施方式的结构示意图;
图8是本申请支持NAT的终端另一个实施方式的结构示意图。
具体实施方式
目前视频编解码的传输,如H.264的媒体传输采用实时传输协议RTP方式,而RTP是承载在用户数据包协议UDP之上,由于UDP是无连接,不可靠的传输协议,因此视频流包在网络上传输,容易出现丢包的情况,从而导致关键帧丢失而无法正常显示对端发来的视频。
NAT穿越,常见的有STUN(Simple Traversal of UDP Through Network Address Translators)和TURN(Traversal Using Relay NAT)两种方式,二者比较鲜明的不同点是TURN是一个中间服务器,所有需要穿越NAT的数据包都发送到TURN服务器做中转。而STUN无需做数据包的中转。
在NAT穿越技术中,当终端获取到NAT设备地址或TURN设备地址结束后,都需要进行连通性检测。所谓连通性检测,就是在多个NAT地址准备之间进行是否连通的检测,目的就是确定从本端到对端哪个路 径是可达的。当检测完成确定一条通路时,就可以发送数据包了。一般连通性检测的NAT连通性检测候选地址是在呼叫信令协议(Session Initiation Protocol,SIP)消息中会话描述协议(Session Description Protocol,SDP)携带的,因此完成SIP的媒体信息交换是进行NAT连通性检测的第一步(因为请求/应答完成后,彼此才能知道对方的NAT连通性检测候选地址,才能根据对方的NAT连通性检测候选地址进行连通性检测)。
在不对称组网系统,即一端是支持NAT的终端而另一端是不支持NAT的终端进行视频呼叫时,由于连通性检测的发生是在支持NAT的终端与中间某个节点(中间节点的主要作用是终结所有的NAT流程,因为被叫终端是不支持NAT的),因此作为不支持NAT终端而言,并不知道支持NAT的终端与中间服务器间的NAT检测是否已经完成,是否可以正常接收或发送数据。不支持NAT的终端有可能是在完成媒体信息交换流程后就开始发送数据。因此,由于连通性检测的影响,支持NAT的终端可能在接收视频请求应答后一段时间无法正常显示对端发来的视频图像。
有鉴于此,本申请提供一种不对称组网系统视频呼叫方法及终端、服务器和系统,旨在解决不对称组网系统视频呼叫时,支持NAT的终端在接收视频请求应答后较长时间无法正常显示对端发来的视频图像的问题。
以下结合具体实施方式,对本申请要求保护的技术方案进行进一步地阐述,但是并不用以限定本申请要求保护的范围。
请参阅图1,图1是本申请不对称组网系统视频呼叫方法的第一个实施方式的流程图,本实施方式中,不对称组网系统包括支持NAT的终端、中间服务器以及不支持NAT的终端,本实施方式是以不对称组网系统中支持NAT的终端的角度进行描述,本实施方式的不对称组网系统视频呼叫方法包括:
步骤S101:在支持网络地址转换的第一终端与中间服务器间的网络地址转换连通性检测完成时,第一终端向不支持网络地址转换的第二终 端发送关键帧请求;
支持NAT的第一终端在中间服务器返回不支持NAT的第二终端的请求应答消息后,得知中间服务器的NAT连通性候选地址而开始与中间服务器进行连通性检测。在检测完成时,第一终端主动向第二终端发送关键帧请求,以避免关键帧丢失而导致长时间无法正常显示第二终端发来的视频图像。
实际应用过程中,第一终端可以通过媒体层面或信令层面发出关键帧请求,并通过中间服务器转发给第二终端。
步骤S102:第一终端接收第二终端响应关键帧请求而返回的关键帧,解析后续的差别帧而正常显示第二终端发来的视频;
第二终端接收到来自第一终端的关键帧请求后,向第一终端返回请求应答消息,请求应答消息中携带第一终端请求的关键帧。第二终端将请求应答消息返回到中间服务器,由中间服务器转发给第一终端。
第一终端接收返回的关键帧,可以正常解析后续的P帧,显示第二终端发来的视频正常。
通过上述实施方式的描述,可以理解,本申请不对称组网系统视频呼叫方法,在支持NAT的终端与中间服务器之间的NAT连通性检测完成时,主动向不支持NAT的终端发送关键帧请求,从而接收不支持NAT的终端的关键帧而实现视频正常解码。通过这样的方式,有效缩短支持NAT的终端在接收视频请求应答消息后无法正常显示对端视频的时间,给用户更好的业务体验。
请参阅图2,图2是本申请不对称组网系统视频呼叫方法第二个实施方式的流程图,本实施方式中,不对称组网系统包括支持NAT的终端、中间服务器以及不支持NAT的终端,本实施方式是以不对称组网系统中支持NAT的终端的角度进行描述,本实施方式的不对称组网系统视频呼叫方法包括:
步骤S201:支持网络地址转换的第一终端通过中间服务器向不支持网络地址转换的第二终端发出视频请求;
支持NAT的第一终端发起视频请求,携带视频编解码信息以及自身 NAT连通性检测候选地址在SDP中,中间服务器收到携带了NAT连通性检测候选地址的视频请求后,去掉视频请求中的NAT连通性检测候选地址,然后将视频请求发送给不支持NAT的第二终端。
不支持NAT的第二终端发送没有携带NAT连通性检测候选地址的请求应答消息给中间服务器,中间服务器收到请求应答消息后,添加自身的NAT连通性检测候选地址信息到请求应答消息后,将请求应答消息转发给支持NAT的第一终端。
步骤S202:第一终端接收携带中间服务器的网络地址转换连通性检测候选地址的请求应答消息,开始与中间服务器进行网络地址转换连通性检测;
支持NAT的第一终端接收通过中间服务器转发的请求应答消息,完成了媒体信息交换,得到了彼此的NAT连通性检测候选地址,开始与中间服务器进行NAT连通性检测。
不支持NAT的第二终端可能在第一终端与中间服务器的NAT连通性检测完成之前就开始发送视频数据,即发送第一个关键帧。由于第一终端与中间服务器的NAT连通性检测尚未完成,因此可能丢弃第二终端的第一个关键帧。
步骤S203:在第一终端与中间服务器间的网络地址转换连通性检测完成时,第一终端向第二终端发送关键帧请求;
支持NAT的第一终端在发现NAT检测完成后,与对端建立了通路可以开始传输数据。这时第一终端向第二终端开始发送视频。同时,第一终端在媒体层面或信令层面主动发送一个关键帧请求消息,比如在媒体层面主动发送一个关键帧请求实时传输控制协议(Real-time Transport Control Protocol,RTCP)消息,或在信令层面主动发送一个INFO消息(INFO消息的目的是沿着SIP信令通路携带应用层消息)并通过中间服务器转发给不支持NAT的第二终端。
步骤S204:第一终端接收第二终端响应关键帧请求而返回的关键帧,解析后续的差别帧而正常显示第二终端发来的视频;
不支持NAT的第二终端收到关键帧请求消息后,主动发送一个关键 帧到中间服务器,中间服务器将第二终端发来的关键帧转发到第一终端,第一终端收到关键帧后,能够正常解析后续的P帧,显示对端视频画面正常。
请参阅图3,图3是本申请不对称组网系统视频呼叫方法第三个实施方式的流程图,本实施方式中,不对称组网系统包括支持NAT的终端、中间服务器以及不支持NAT的终端,本实施方式是以不对称组网系统的中间服务器的角度进行描述,本实施方式的不对称组网系统视频呼叫方法包括:
步骤S301:在支持网络地址转换的第一终端与中间服务器间的网络地址转换连通性检测完成时,中间服务器向不支持网络地址转换的第二终端发送关键帧请求;
支持NAT的第一终端在中间服务器返回不支持NAT终端的请求应答消息后,得知中间服务器的NAT连通性候选地址而开始与中间服务器进行连通性检测。在检测完成时,中间服务器主动向第二终端发送关键帧请求,以避免关键帧丢失而导致第一终端长时间无法正常显示第二终端发来的视频图像。
实际应用过程中,中间服务器可以通过媒体层面或信令层面向第二终端发出关键帧请求。
步骤S302:中间服务器接收第二终端响应关键帧请求而返回的关键帧并转发给第一终端;
第二终端接收到关键帧请求后,向中间服务器返回请求应答消息,请求应答消息中携带中间服务器所请求的关键帧。中间服务器将关键帧转发给第一终端。
第一终端接收返回的关键帧,可以正常解析后续的P帧,显示第二终端发来的视频正常。
请参阅图4,图4是本申请不对称组网系统视频呼叫方法第四个实施方式的流程图,本实施方式中,不对称组网系统包括支持NAT的终端、中间服务器以及不支持NAT的终端,本实施方式是以不对称组网系统的中间服务器的角度进行描述,本实施方式的不对称组网系统视频呼叫方 法包括:
步骤S401:中间服务器接收支持网络地址转换的第一终端的视频请求;
支持NAT的第一终端发起视频请求,携带视频编解码信息以及自身NAT连通性检测候选地址在SDP中,中间服务器接收第一终端的视频请求。
步骤S402:中间服务器删除视频请求中的网络地址转换连通性检测候选地址后将视频请求转发给不支持网络地址转换的第二终端;
中间服务器接收到来自第一终端的携带了NAT连通性检测候选地址的视频请求后,去掉视频请求中的NAT连通性检测候选地址,然后将视频请求发送给不支持NAT的第二终端。
步骤S403:中间服务器接收来自第二终端的请求应答消息,添加自身的网络地址转换连通性检测候选地址到请求应答消息中,然后将请求应答消息转发给第一终端;
不支持NAT的第二终端接收到视频请求后,发送没有携带NAT连通性检测候选地址的请求应答消息给中间服务器,中间服务器收到请求应答消息后,添加自身的NAT连通性检测候选地址信息到请求应答消息后,将请求应答消息转发给支持NAT的第一终端。
支持NAT的第一终端接收通过中间服务器转发的请求应答消息,完成了媒体信息交换,得到了彼此的NAT连通性检测候选地址,开始与中间服务器进行NAT连通性检测。
不支持NAT的第二终端可能在第一终端与中间服务器的NAT连通性检测完成之前就开始发送视频数据,即发送第一个关键帧。由于第一终端与中间服务器的NAT连通性检测尚未完成,因此可能丢弃第二终端的第一个关键帧。
步骤S404:在第一终端与中间服务器间的网络地址转换连通性检测完成时,中间服务器向第二终端发送关键帧请求;
支持NAT的第一终端与中间服务器NAT连通性检测完成,第一终端与对端建立了通路可以开始传输数据。这时第一终端通过中间服务器 向第二终端开始发送视频,第二终端能够正常显示第一终端发来的视频图像。同时,中间服务器在媒体层面或信令层面主动发送一个关键帧请求RTCP消息给不支持NAT的第二终端。
步骤S405:中间服务器接收第二终端响应关键帧请求而返回的关键帧并转发给第一终端;
不支持NAT的第二终端收到关键帧请求消息后,主动发送一个关键帧到中间服务器,中间服务器将第二终端发来的关键帧转发到第一终端,第一终端收到关键帧后,能够正常解析后续的P帧,显示对端视频画面正常。
为进一步解释本申请的不对称组网系统视频呼叫方法,以下结合一个具体的实施方式,具体描述支持NAT的终端与不支持NAT的终端通过中间服务器而相互交互实现过程,具体解释本申请的不对称组网系统视频呼叫方法:
请参阅图5,图5是本申请不对称组网系统视频呼叫方法第五个实施方式的流程图,本实施方式包括以下步骤:
S1:支持NAT终端发起视频请求;
支持NAT终端发起视频请求,携带视频编解码信息以及自身的NAT连通性检测候选地址在SDP中,通过中间服务器转发给不支持NAT终端。
S2:中间服务器接收到来自支持NAT终端的视频请求,去掉NAT连通性检测候选地址,发给不支持NAT终端;
中间服务器收到携带了NAT连通性检测候选地址的视频请求后,去掉支持NAT终端的NAT连通性检测候选地址,发送给不支持NAT的终端。
S3:不支持NAT终端发送没有携带NAT连通性检测候选地址的应答给中间服务器;
不支持NAT终端发送没有携带NAT连通性检测候选地址的应答发送给中间服务器,由中间服务器转发给支持NAT终端。
S4:中间服务器收到应答后,添加NAT连通性检测候选地址到SDP 中转发给支持NAT终端;
中间服务器接收到应答后,添加自身的NAT连通性检测候选地址到SDP中,将应答通过SDP转发给支持NAT终端。
S5:不支持NAT终端向中间服务器发送第一个关键帧;
由于不支持NAT终端不知道支持NAT终端与中间服务器之间的连通性检测是否完成,因此可能在完成媒体信息交换(即接收视屏请求并返回应答消息)后就有可能开始向支持NAT终端发送媒体。因此该步骤的行为,即向中间服务器发送第一个关键帧,通过中间服务器转发给支持NAT终端。
S6:进行连通性检测;
中间服务器与支持NAT终端之间由于完成了媒体信息交换,得到了彼此的NAT连通性检测候选地址,开始进行连通性检测。
S7:可能丢弃第一个关键帧;
由于中间服务器与支持NAT终端之间的NAT连通性检测尚未完成,因此可能丢弃不支持NAT终端的第一个关键帧。
S8:连通性检测完成;
中间服务器与支持NAT终端的连通性检测完成。
S9:支持NAT终端发送第一个关键帧;
在连通性检测完成后,支持NAT终端开始通过中间服务器向不支持NAT终端发送视频,即发送第一个关键帧。
S10:中间服务器将来自支持NAT终端的第一个关键帧发给不支持NAT终端,不支持NAT终端显示支持NAT终端发送的视频正常;
中间服务器将支持NAT终端发来的关键帧转发给对端即不支持NAT终端,不支持NAT终端收到该关键帧后,可以正常解析后续的P帧。不支持NAT终端显示支持NAT终端发送的视频正常。
S11:支持NAT终端发现NAT检测完成后,在媒体层面主动向不支持NAT终端发送一个关键帧请求消息;
支持NAT终端发现NAT检测完成后,在媒体层面主动发送一个关键帧请求RTCP消息,通过中间服务器转发给不支持NAT终端。
需要说明的是,支持终端发现NAT检测完成后,也可以在信令层面主动发送一个关键帧请求消息如SIP的INFO消息,通过中间服务器转发给不支持NAT终端。
S12:中间服务器将关键帧请求消息转发给不支持NAT终端;
中间服务器收到通过媒体层面或信令层面的关键帧请求消息后,将关键帧请求消息转发给不支持NAT终端。
S13:不支持NAT终端收到关键帧请求后,发送第二个关键帧到中间服务器;
不支持NAT收到关键帧请求后,需要主动发送一个关键帧即第二个关键帧到中间服务器,通过中间服务器转发给支持NAT终端。
S14:中间服务器收到第二个关键帧后,转发给支持NAT终端,支持NAT终端显示对端视频正常。
中间服务器收到不支持NAT终端发送来的第二个关键帧后,转发到支持NAT终端,支持NAT终端收到该第二个关键帧后,可以正常解析后续的P帧,显示对端视频正常。
需要说明的是,本实施方式的发送关键帧请求的执行步骤也可以由中间服务器主动发起。即中间服务器在与支持NAT终端完成连通性检测完成后,可以在媒体层面或信令层面主动向不支持NAT终端发送一个关键帧请求消息,比如通过媒体层面发送一个关键帧请求RTCP消息,或通过信令层面发送一个关键帧请求消息如SIP的INFO消息,对于该步骤之前的步骤以及该步骤之后的执行步骤跟本实施方式的实现过程一样,本申请不一一进行举例说明。
请参阅图6,图6是本申请支持NAT的终端一个实施方式的结构示意图,本实施方式的支持NAT的终端与不支持NAT的终端通过中间服务器进行视频呼叫,支持NAT的终端100包括请求模块11和接收模块12,其中:
请求模块11用于在支持NAT的终端与中间服务器间的NAT连通性检测完成时,向不支持NAT的终端发送关键帧请求;
支持NAT的终端在中间服务器返回不支持NAT的终端的请求应答 消息后,得知中间服务器的NAT连通性候选地址而开始与中间服务器进行连通性检测。在检测完成时,通过请求模块11主动向不支持NAT的终端发送关键帧请求,以避免关键帧丢失而导致长时间无法正常显示不支持NAT的终端发来的视频图像。
实际应用过程中,请求模块11可以通过媒体层面或信令层面发出关键帧请求,并通过中间服务器转发给不支持NAT的终端。
接收模块12用于接收不支持NAT的终端响应关键帧请求而返回的关键帧,解析后续的差别帧而正常显示不支持NAT的终端发来的视频。
不支持NAT的终端接收到关键帧请求后,向支持NAT的终端返回请求应答消息,请求应答消息中携带请求的关键帧。不支持NAT的终端将请求应答消息返回到中间服务器,由中间服务器转发给接收模块12。
接收模块12接收返回的关键帧,可以正常解析后续的P帧,显示不支持NAT的终端发来的视频正常。
其中,请求模块11还用于通过中间服务器向不支持NAT的终端发出视频请求,视频请求携带视频编解码信息以及支持NAT的终端的NAT连通性检测候选地址;
请求模块11发起视频请求,携带视频编解码信息以及自身NAT连通性检测候选地址在SDP中,中间服务器收到携带了NAT连通性检测候选地址的视频请求后,去掉视频请求中的NAT连通性检测候选地址,然后将视频请求发送给不支持NAT的终端。
不支持NAT的终端发送没有携带NAT连通性检测候选地址的请求应答消息给中间服务器,中间服务器收到请求应答消息后,添加自身的NAT连通性检测候选地址信息到请求应答消息后,将请求应答消息转发给接收模块12。
接收模块12还用于接收携带中间服务器的网络地址转换连通性检测候选地址的请求应答消息,开始与中间服务器进行网络地址转换连通性检测。
接收模块12接收通过中间服务器转发的请求应答消息,完成了媒体信息交换,得到了彼此的NAT连通性检测候选地址,开始与中间服务 器进行NAT连通性检测。
请参阅图7,图7是本申请服务器一个实施方式的结构示意图,支持NAT的终端与不支持NAT的终端通过本实施方式的服务器进行视频呼叫,本实施方式的服务器200包括请求模块21和转发模块22,其中:
请求模块21用于在支持NAT的终端与服务器间的网络地址转换连通性检测完成时,向不支持NAT的终端发送关键帧请求;
支持NAT的终端在服务器返回不支持NAT终端的请求应答消息后,得知中间服务器的NAT连通性候选地址而开始与服务器进行连通性检测。在检测完成时,请求模块21主动向不支持NAT的终端发送关键帧请求,以避免关键帧丢失而导致支持NAT的终端长时间无法正常显示第二终端发来的视频图像。
实际应用过程中,请求模块21可以通过媒体层面或信令层面向不支持NAT的终端发出关键帧请求。
转发模块22用于接收不支持NAT的终端响应关键帧请求而返回的关键帧,并将关键帧转发给支持NAT的终端,以使支持NAT的终端能够正常显示不支持NAT的终端发来的视频。
不支持NAT的终端接收到关键帧请求后,向转发模块22返回请求应答消息,请求应答消息中携带中间服务器所请求的关键帧。转发模块22将关键帧转发给支持NAT的终端。
支持NAT的终端接收返回的关键帧,可以正常解析后续的P帧,显示不支持NAT的终端发来的视频正常。
其中,转发模块22用于接收支持NAT的终端的视频请求,视频请求携带视频编解码信息以及支持NAT的终端的NAT连通性检测候选地址,删除视频请求中的NAT连通性检测候选地址后将视频请求转发给不支持NAT的终端。
支持NAT的终端发起视频请求,携带视频编解码信息以及自身NAT连通性检测候选地址在SDP中,转发模块22接收到来自支持NAT的终端的携带NAT连通性检测候选地址的视频请求后,去掉视频请求中的NAT连通性检测候选地址,然后将视频请求发送给不支持NAT的终端。
转发模块22接收来自不支持NAT的终端的请求应答消息,添加服务器的NAT连通性检测候选地址到请求应答消息中,然后将请求应答消息转发给支持NAT的终端。
不支持NAT的终端接收到视频请求后,发送没有携带NAT连通性检测候选地址的请求应答消息给服务器的转发模块22,转发模块22接收到请求应答消息后,添加服务器的NAT连通性检测候选地址信息到请求应答消息后,将请求应答消息转发给支持NAT的终端。
支持NAT的终端接收通过转发模块22转发的请求应答消息,完成了媒体信息交换,得到了彼此的NAT连通性检测候选地址,开始与服务器进行NAT连通性检测。
请参阅图8,图8是本申请支持NAT的终端另一个实施方式的结构示意图,本实施方式的支持NAT的终端与不支持NAT的终端通过中间服务器进行视频呼叫,本实施方式支持NAT的终端300包括处理器31、接收器32、发送器33、随机存取存储器34、只读存储器35、总线36以及网络接口单元37。其中,处理器31通过总线36分别耦接接收器32、发送器33、随机存取存储器34、只读存储器35以及网络接口单元37。其中,当需要运行支持NAT的终端300时,通过固化在只读存储器34中的基本输入输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导支持NAT的终端300进入正常运行状态。在支持NAT的终端300进入正常运行状态后,在随机存取存储器33中运行应用程序和操作系统,通过网络接口单元36从网络接收数据或者向网络发送数据,使得:
处理器31在支持NAT的终端与中间服务器的NAT连通性检测完成时,向不支持NAT的终端发送关键帧请求,并接收不支持NAT的终端响应关键帧请求而返回的关键帧,正常解析后续的P帧,显示不支持NAT的终端发来的视频图像正常。
另一方面,处理器31还用于通过中间服务器向不支持NAT的终端发送视频请求,所述视频请求携带视频编解码信息以及支持NAT的终端的NAT连通性检测候选地址,并接收返回的视频请求应答消息而使支持 NAT的终端与中间服务器之间开始进行NAT连通性检测。
本实施方式中,处理器31可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本申请实施方式的一个或多个集成电路。
发送器33在NAT连通性检测完成后,发送视频数据到中间服务器,中间服务器将视频数据转发给不支持NAT的终端;
接收器32接收不支持NAT的终端通过中间服务器转发过来的视频数据。
在本申请上述提供的支持NAT的终端以及服务器的实施方式的基础上,本申请进一步提供一种网络系统,该网络系统包括上述任一实施方式所述的支持NAT的终端以及上述任一实施方式所述的服务器,还包括不支持NAT的终端。支持NAT的终端通过服务器与不支持NAT的终端之间进行视频呼叫并实现视频数据的交互传输。
上述实施方式,本申请不对称组网系统视频呼叫方法及终端、服务器和系统,在支持NAT的终端与中间服务器之间的NAT连通性检测完成时,主动向不支持的NAT终端发送关键帧请求,从而接收不支持NAT的终端的关键帧而实现视频正常解码。通过这样的方式,有效缩短支持NAT终端在接收视频请求应答消息后无法正常显示对端视频的时间,给用户更好的业务体验。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于 一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

不对称组网系统视频呼叫方法及终端、服务器和系统.pdf_第1页
第1页 / 共18页
不对称组网系统视频呼叫方法及终端、服务器和系统.pdf_第2页
第2页 / 共18页
不对称组网系统视频呼叫方法及终端、服务器和系统.pdf_第3页
第3页 / 共18页
点击查看更多>>
资源描述

《不对称组网系统视频呼叫方法及终端、服务器和系统.pdf》由会员分享,可在线阅读,更多相关《不对称组网系统视频呼叫方法及终端、服务器和系统.pdf(18页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 (43)申请公布日 (21)申请号 201310430390.1(22)申请日 2013.09.18H04N 21/6437(2011.01)H04N 21/647(2011.01)H04N 7/14(2006.01)(71)申请人华为技术有限公司地址 518129 广东省深圳市龙岗区坂田华为总部办公楼(72)发明人田振华 吴毅敏(74)专利代理机构深圳市威世博知识产权代理事务所(普通合伙) 44280代理人何青瓦(54) 发明名称不对称组网系统视频呼叫方法及终端、服务器和系统(57) 摘要本发明公开了一种不对称组网系统视频呼叫方法及终端、服务器和系统。不对称组网系统包括支。

2、持NAT的第一终端、中间服务器以及不支持NAT的第二终端,视频呼叫方法包括:在第一终端与中间服务器间的网络地址转换连通性检测完成时,第一终端向第二终端发送关键帧请求;第一终端接收第二终端响应关键帧请求而返回的关键帧,解析后续的差别帧而正常显示第二终端发来的视频。通过上述方式,本发明能够有效减少视频无法正常显示的时间,给用户更好的业务体验。(51)Int.Cl.(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书2页 说明书11页 附图4页(10)申请公布号 CN 104469537 A(43)申请公布日 2015.03.25CN 104469537 A1/2页21.一种不对称组网。

3、系统视频呼叫方法,所述不对称组网系统包括支持网络地址转换的第一终端、中间服务器以及不支持网络地址转换的第二终端,其特征在于,所述方法包括:在所述第一终端与所述中间服务器间的网络地址转换连通性检测完成时,所述第一终端向所述第二终端发送关键帧请求;所述第一终端接收所述第二终端响应所述关键帧请求而返回的关键帧,解析后续的差别帧而正常显示所述第二终端发来的视频。2.根据权利要求1所述的方法,其特征在于,所述向所述第二终端发送关键帧请求的步骤包括:所述第一终端在媒体层面或信令层面发出关键帧请求,并通过所述中间服务器转发给所述第二终端。3.根据权利要求1所述的方法,其特征在于,所述在所述第一终端与所述中间。

4、服务器间的网络地址转换连通性检测完成之前,所述方法还包括:所述第一终端通过所述中间服务器向所述第二终端发出视频请求,所述视频请求携带视频编解码信息以及所述第一终端的网络地址转换连通性检测候选地址;所述第一终端接收携带所述中间服务器的网络地址转换连通性检测候选地址的请求应答消息,开始与所述中间服务器进行网络地址转换连通性检测。4.一种不对称组网系统视频呼叫方法,所述不对称组网系统包括支持网络地址转换的第一终端、中间服务器以及不支持网络地址转换的第二终端,其特征在于,所述方法包括:在所述第一终端与所述中间服务器间的网络地址转换连通性检测完成时,所述中间服务器向所述第二终端发送关键帧请求;所述中间服。

5、务器接收所述第二终端响应所述关键帧请求而返回的关键帧,并将所述关键帧转发给所述第一终端,以使所述第一终端能够正常显示第二终端发来的视频。5.根据权利要求4所述的方法,其特征在于,所述中间服务器向所述第二终端发送关键帧请求的步骤包括:所述中间服务器在媒体层面或信令层面向所述第二终端发送关键帧请求。6.根据权利要求4所述的方法,其特征在于,所述在所述第一终端与所述中间服务器间的网络地址转换连通性检测完成之前,还包括:所述中间服务器接收所述第一终端的视频请求,所述视频请求携带视频编解码信息以及所述第一终端的网络地址转换连通性检测候选地址;所述中间服务器删除所述视频请求中的网络地址转换连通性检测候选地。

6、址后将所述视频请求转发给所述第二终端。7.根据权利要求6所述的方法,其特征在于,所述将所述视频请求转发给所述第二终端的步骤之后,还包括:所述中间服务器接收来自所述第二终端的请求应答消息,添加自身的网络地址转换连通性检测候选地址到所述请求应答消息中,然后将请求应答消息转发给所述第一终端。8.一种支持网络地址转换的终端,其特征在于,所述支持网络地址转换的终端与不支持网络地址转换的终端通过中间服务器进行视频呼叫,所述支持网络地址转换的终端包括请求模块和接收模块,其中:权 利 要 求 书CN 104469537 A2/2页3所述请求模块用于在所述支持网络地址转换的终端与所述中间服务器间的网络地址转换连。

7、通性检测完成时,向所述不支持网络地址转换的终端发送关键帧请求;所述接收模块用于接收所述不支持网络地址转换的终端响应所述关键帧请求而返回的关键帧,解析后续的差别帧而正常显示所述不支持网络地址转换的终端发来的视频。9.根据权利要求8所述的终端,其特征在于,所述请求模块用于在媒体层面或信令层面发出关键帧请求,并通过所述中间服务器转发给所述不支持网络地址转换的终端。10.根据权利要求8所述的终端,其特征在于,所述请求模块用于通过所述中间服务器向所述不支持网络地址转换的终端发出视频请求,所述视频请求携带视频编解码信息以及所述支持网络地址转换的终端的网络地址转换连通性检测候选地址;所述接收模块用于接收携带。

8、所述中间服务器的网络地址转换连通性检测候选地址的请求应答消息,开始与所述中间服务器进行网络地址转换连通性检测。11.一种服务器,其特征在于,支持网络地址转换的终端与不支持网络地址转换的终端通过所述服务器进行视频呼叫,所述服务器包括请求模块和转发模块,其中:所述请求模块用于在所述支持网络地址转换的终端与所述服务器间的网络地址转换连通性检测完成时,向所述不支持网络地址转换的终端发送关键帧请求;所述转发模块用于接收所述不支持网络地址转换的终端响应所述关键帧请求而返回的关键帧,并将所述关键帧转发给所述支持网络地址转换的终端,以使所述支持网络地址转换的终端能够正常显示所述不支持网络地址转换的终端发来的视。

9、频。12.根据权利要求11所述的服务器,其特征在于,所述请求模块用于在媒体层面或信令层面向所述不支持网络地址转换的终端发送关键帧请求。13.根据权利要求11所述的服务器,其特征在于,所述转发模块用于接收所述支持网络地址转换的终端的视频请求,所述视频请求携带视频编解码信息以及所述支持网络地址转换的终端的网络地址转换连通性检测候选地址,删除所述视频请求中的网络地址转换连通性检测候选地址后将所述视频请求转发给所述不支持网络地址转换的终端。14.根据权利要求13所述的服务器,其特征在于,所述转发模块用于接收来自所述不支持网络地址转换的终端的请求应答消息,添加所述服务器的网络地址转换连通性检测候选地址到。

10、所述请求应答消息中,然后将请求应答消息转发给所述支持网络地址转换的终端。15.一种网络系统,其特征在于,所述网络系统包括权利要求8-10任一项所述的支持网络地址转换的终端以及权利要求11-14任一项所述的服务器和不支持网络地址转换的终端。权 利 要 求 书CN 104469537 A1/11页4不对称组网系统视频呼叫方法及终端、 服务器和系统技术领域0001 本发明涉及通信领域,特别是涉及一种不对称组网系统视频呼叫方法及终端、服务器和系统。背景技术0002 视频编解码的传输,如H.264的媒体传输采用实时传输协议(Real-time Transport Protocol,RTP)方式,而RTP。

11、是承载在用户数据包协议(User Datagram Protocol,UDP)之上,由于UDP是无连接,不可靠的传输协议,因此视频流包在网络上传输,容易出现丢包的情况。0003 在视频传输中,一副画面可以分成关键帧和差别帧(P帧)进行传输,关键帧是视频传输的关键,后续的P帧的解码都是依靠关键帧来完成的。如果关键帧丢失,P帧无法解码,解码器也就无法正常解析收到的视频画面。0004 H.264相关标准中定义媒体关键帧请求机制,即当一段解码器发现丢失关键帧后,可以主动向另外一个端发送关键帧请求而获取关键帧实现正常解码。但是,这种方式,无法正常显示对方视频的时间相对比较长。另外,对于一端是支持网络地址。

12、转换(NAT)的终端,而另一端是不支持NAT的终端的组网系统来说,NAT连通性检测也可能导致关键帧的丢失,如果仍采用上述的方式来处理,支持NAT的终端在接收到视频请求应答后会持续较长时间无法正常显示对方视频。发明内容0005 本发明主要解决的技术问题是不对称组网系统下,如何缩短支持NAT终端在接收到视频请求应答后无法正常显示对方视频的时间。0006 有鉴于此,本申请提供一种不对称组网系统视频呼叫方法及终端、服务器和系统,能够有效减少视频无法正常显示的时间,给用户更好的业务体验。0007 第一方面,提供一种不对称组网系统视频呼叫方法,所述不对称组网系统包括支持网络地址转换的第一终端、中间服务器以。

13、及不支持网络地址转换的第二终端,所述方法包括:在所述第一终端与所述中间服务器间的网络地址转换连通性检测完成时,所述第一终端向所述第二终端发送关键帧请求;所述第一终端接收所述第二终端响应所述关键帧请求而返回的关键帧,解析后续的差别帧而正常显示所述第二终端发来的视频。0008 结合第一方面,在第一方面的第一种可能的实现方式中:所述向所述第二终端发送关键帧请求的步骤包括:所述第一终端在媒体层面或信令层面发出关键帧请求,并通过所述中间服务器转发给所述第二终端。0009 结合第一方面,在第一方面的第二种可能的实现方式中:所述在所述第一终端与所述中间服务器间的网络地址转换连通性检测完成之前,所述方法还包括。

14、:所述第一终端通过所述中间服务器向所述第二终端发出视频请求,所述视频请求携带视频编解码信息以及所述第一终端的网络地址转换连通性检测候选地址;所述第一终端接收携带所述中间服说 明 书CN 104469537 A2/11页5务器的网络地址转换连通性检测候选地址的请求应答消息,开始与所述中间服务器进行网络地址转换连通性检测。0010 第二方面,提供一种不对称组网系统视频呼叫方法,所述不对称组网系统包括支持网络地址转换的第一终端、中间服务器以及不支持网络地址转换的第二终端,所述方法包括:在所述第一终端与所述中间服务器间的网络地址转换连通性检测完成时,所述中间服务器向所述第二终端发送关键帧请求;所述中间。

15、服务器接收所述第二终端响应所述关键帧请求而返回的关键帧,并将所述关键帧转发给所述第一终端,以使所述第一终端能够正常显示第二终端发来的视频。0011 结合第二方面,在第二方面的第一种可能的实现方式中:所述中间服务器向所述第二终端发送关键帧请求的步骤包括:所述中间服务器在媒体层面或信令层面向所述第二终端发送关键帧请求。0012 结合第二方面,在第二方面的第二种可能的实现方式中:所述在所述第一终端与所述中间服务器间的网络地址转换连通性检测完成之前,还包括:所述中间服务器接收所述第一终端的视频请求,所述视频请求携带视频编解码信息以及所述第一终端的网络地址转换连通性检测候选地址;所述中间服务器删除所述视。

16、频请求中的网络地址转换连通性检测候选地址后将所述视频请求转发给所述第二终端。0013 结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中:所述将所述视频请求转发给所述第二终端的步骤之后,还包括:所述中间服务器接收来自所述第二终端的请求应答消息,添加自身的网络地址转换连通性检测候选地址到所述请求应答消息中,然后将请求应答消息转发给所述第一终端。0014 第三方面,提供一种支持网络地址转换的终端,所述支持网络地址转换的终端与不支持网络地址转换的终端通过中间服务器进行视频呼叫,所述支持网络地址转换的终端包括请求模块和接收模块,其中:所述请求模块用于在所述支持网络地址转换的终端与所。

17、述中间服务器间的网络地址转换连通性检测完成时,向所述不支持网络地址转换的终端发送关键帧请求;所述接收模块用于接收所述不支持网络地址转换的终端响应所述关键帧请求而返回的关键帧,解析后续的差别帧而正常显示所述不支持网络地址转换的终端发来的视频。0015 结合第三方面,在第三方面的第一种可能的实现方式中:所述请求模块用于在媒体层面或信令层面发出关键帧请求,并通过所述中间服务器转发给所述不支持网络地址转换的终端。0016 结合第三方面,在第三方面的第二种可能的实现方式中:所述请求模块用于通过所述中间服务器向所述不支持网络地址转换的终端发出视频请求,所述视频请求携带视频编解码信息以及所述支持网络地址转换。

18、的终端的网络地址转换连通性检测候选地址;所述接收模块用于接收携带所述中间服务器的网络地址转换连通性检测候选地址的请求应答消息,开始与所述中间服务器进行网络地址转换连通性检测。0017 第四方面,提供一种服务器,支持网络地址转换的终端与不支持网络地址转换的终端通过所述服务器进行视频呼叫,所述服务器包括请求模块和转发模块,其中:所述请求模块用于在所述支持网络地址转换的终端与所述服务器间的网络地址转换连通性检测完成时,向所述不支持网络地址转换的终端发送关键帧请求;所述转发模块用于接收所述不说 明 书CN 104469537 A3/11页6支持网络地址转换的终端响应所述关键帧请求而返回的关键帧,并将所。

19、述关键帧转发给所述支持网络地址转换的终端,以使所述支持网络地址转换的终端能够正常显示所述不支持网络地址转换的终端发来的视频。0018 结合第四方面,在第四方面的第一种可能的实现方式中:所述请求模块用于在媒体层面或信令层面向所述不支持网络地址转换的终端发送关键帧请求。0019 结合第四方面,在第四方面的第二种可能的实现方式中:所述转发模块用于接收所述支持网络地址转换的终端的视频请求,所述视频请求携带视频编解码信息以及所述支持网络地址转换的终端的网络地址转换连通性检测候选地址,删除所述视频请求中的网络地址转换连通性检测候选地址后将所述视频请求转发给所述不支持网络地址转换的终端。0020 结合第四方。

20、面的第二种可能的实现方式,在第四方面的第三种可能的实现方式中:所述转发模块用于接收来自所述不支持网络地址转换的终端的请求应答消息,添加所述服务器的网络地址转换连通性检测候选地址到所述请求应答消息中,然后将请求应答消息转发给所述支持网络地址转换的终端。0021 第五方面,提供一种网络系统,所述网络系统包括上述第三方面以及第三方面的任一种可能的实现方式中的支持网络地址转换的终端和第四方面以及第四方面的任一种可能的实现方式中的服务器,还包括不支持网络地址转换的终端。0022 本申请的有益效果是:区别于现有技术的情况,本申请不对称组网系统视频呼叫方法,在支持NAT的终端与中间服务器之间的NAT连通性检。

21、测完成时,主动向不支持NAT的终端发送关键帧请求,从而接收不支持NAT的终端的关键帧而实现视频正常解码。通过这样的方式,有效缩短支持NAT终端在接收视频请求应答消息后无法正常显示对端视频的时间,给用户更好的业务体验。附图说明0023 图1是本申请不对称组网系统视频呼叫方法第一个实施方式的流程图;0024 图2是本申请不对称组网系统视频呼叫方法第二个实施方式的流程图;0025 图3是本申请不对称组网系统视频呼叫方法第三个实施方式的流程图;0026 图4是本申请不对称组网系统视频呼叫方法第四个实施方式的流程图;0027 图5是本申请不对称组网系统视频呼叫方法第五个实施方式的流程图;0028 图6是。

22、本申请支持NAT的终端一个实施方式的结构示意图;0029 图7是本申请服务器一个实施方式的结构示意图;0030 图8是本申请支持NAT的终端另一个实施方式的结构示意图。具体实施方式0031 目前视频编解码的传输,如H.264的媒体传输采用实时传输协议RTP方式,而RTP是承载在用户数据包协议UDP之上,由于UDP是无连接,不可靠的传输协议,因此视频流包在网络上传输,容易出现丢包的情况,从而导致关键帧丢失而无法正常显示对端发来的视频。0032 NAT穿越,常见的有STUN(Simple Traversal of UDP Through Network Address Translators)和T。

23、URN(Traversal Using Relay NAT)两种方式,二者比较鲜明的不同点是说 明 书CN 104469537 A4/11页7TURN是一个中间服务器,所有需要穿越NAT的数据包都发送到TURN服务器做中转。而STUN无需做数据包的中转。0033 在NAT穿越技术中,当终端获取到NAT设备地址或TURN设备地址结束后,都需要进行连通性检测。所谓连通性检测,就是在多个NAT地址准备之间进行是否连通的检测,目的就是确定从本端到对端哪个路径是可达的。当检测完成确定一条通路时,就可以发送数据包了。一般连通性检测的NAT连通性检测候选地址是在呼叫信令协议(Session Initiati。

24、on Protocol,SIP)消息中会话描述协议(Session Description Protocol,SDP)携带的,因此完成SIP的媒体信息交换是进行NAT连通性检测的第一步(因为请求/应答完成后,彼此才能知道对方的NAT连通性检测候选地址,才能根据对方的NAT连通性检测候选地址进行连通性检测)。0034 在不对称组网系统,即一端是支持NAT的终端而另一端是不支持NAT的终端进行视频呼叫时,由于连通性检测的发生是在支持NAT的终端与中间某个节点(中间节点的主要作用是终结所有的NAT流程,因为被叫终端是不支持NAT的),因此作为不支持NAT终端而言,并不知道支持NAT的终端与中间服务器。

25、间的NAT检测是否已经完成,是否可以正常接收或发送数据。不支持NAT的终端有可能是在完成媒体信息交换流程后就开始发送数据。因此,由于连通性检测的影响,支持NAT的终端可能在接收视频请求应答后一段时间无法正常显示对端发来的视频图像。0035 有鉴于此,本申请提供一种不对称组网系统视频呼叫方法及终端、服务器和系统,旨在解决不对称组网系统视频呼叫时,支持NAT的终端在接收视频请求应答后较长时间无法正常显示对端发来的视频图像的问题。0036 以下结合具体实施方式,对本申请要求保护的技术方案进行进一步地阐述,但是并不用以限定本申请要求保护的范围。0037 请参阅图1,图1是本申请不对称组网系统视频呼叫方。

26、法的第一个实施方式的流程图,本实施方式中,不对称组网系统包括支持NAT的终端、中间服务器以及不支持NAT的终端,本实施方式是以不对称组网系统中支持NAT的终端的角度进行描述,本实施方式的不对称组网系统视频呼叫方法包括:0038 步骤S101:在支持网络地址转换的第一终端与中间服务器间的网络地址转换连通性检测完成时,第一终端向不支持网络地址转换的第二终端发送关键帧请求;0039 支持NAT的第一终端在中间服务器返回不支持NAT的第二终端的请求应答消息后,得知中间服务器的NAT连通性候选地址而开始与中间服务器进行连通性检测。在检测完成时,第一终端主动向第二终端发送关键帧请求,以避免关键帧丢失而导致。

27、长时间无法正常显示第二终端发来的视频图像。0040 实际应用过程中,第一终端可以通过媒体层面或信令层面发出关键帧请求,并通过中间服务器转发给第二终端。0041 步骤S102:第一终端接收第二终端响应关键帧请求而返回的关键帧,解析后续的差别帧而正常显示第二终端发来的视频;0042 第二终端接收到来自第一终端的关键帧请求后,向第一终端返回请求应答消息,请求应答消息中携带第一终端请求的关键帧。第二终端将请求应答消息返回到中间服务器,由中间服务器转发给第一终端。说 明 书CN 104469537 A5/11页80043 第一终端接收返回的关键帧,可以正常解析后续的P帧,显示第二终端发来的视频正常。00。

28、44 通过上述实施方式的描述,可以理解,本申请不对称组网系统视频呼叫方法,在支持NAT的终端与中间服务器之间的NAT连通性检测完成时,主动向不支持NAT的终端发送关键帧请求,从而接收不支持NAT的终端的关键帧而实现视频正常解码。通过这样的方式,有效缩短支持NAT的终端在接收视频请求应答消息后无法正常显示对端视频的时间,给用户更好的业务体验。0045 请参阅图2,图2是本申请不对称组网系统视频呼叫方法第二个实施方式的流程图,本实施方式中,不对称组网系统包括支持NAT的终端、中间服务器以及不支持NAT的终端,本实施方式是以不对称组网系统中支持NAT的终端的角度进行描述,本实施方式的不对称组网系统视。

29、频呼叫方法包括:0046 步骤S201:支持网络地址转换的第一终端通过中间服务器向不支持网络地址转换的第二终端发出视频请求;0047 支持NAT的第一终端发起视频请求,携带视频编解码信息以及自身NAT连通性检测候选地址在SDP中,中间服务器收到携带了NAT连通性检测候选地址的视频请求后,去掉视频请求中的NAT连通性检测候选地址,然后将视频请求发送给不支持NAT的第二终端。0048 不支持NAT的第二终端发送没有携带NAT连通性检测候选地址的请求应答消息给中间服务器,中间服务器收到请求应答消息后,添加自身的NAT连通性检测候选地址信息到请求应答消息后,将请求应答消息转发给支持NAT的第一终端。0。

30、049 步骤S202:第一终端接收携带中间服务器的网络地址转换连通性检测候选地址的请求应答消息,开始与中间服务器进行网络地址转换连通性检测;0050 支持NAT的第一终端接收通过中间服务器转发的请求应答消息,完成了媒体信息交换,得到了彼此的NAT连通性检测候选地址,开始与中间服务器进行NAT连通性检测。0051 不支持NAT的第二终端可能在第一终端与中间服务器的NAT连通性检测完成之前就开始发送视频数据,即发送第一个关键帧。由于第一终端与中间服务器的NAT连通性检测尚未完成,因此可能丢弃第二终端的第一个关键帧。0052 步骤S203:在第一终端与中间服务器间的网络地址转换连通性检测完成时,第一。

31、终端向第二终端发送关键帧请求;0053 支持NAT的第一终端在发现NAT检测完成后,与对端建立了通路可以开始传输数据。这时第一终端向第二终端开始发送视频。同时,第一终端在媒体层面或信令层面主动发送一个关键帧请求消息,比如在媒体层面主动发送一个关键帧请求实时传输控制协议(Real-time Transport Control Protocol,RTCP)消息,或在信令层面主动发送一个INFO消息(INFO消息的目的是沿着SIP信令通路携带应用层消息)并通过中间服务器转发给不支持NAT的第二终端。0054 步骤S204:第一终端接收第二终端响应关键帧请求而返回的关键帧,解析后续的差别帧而正常显示第。

32、二终端发来的视频;0055 不支持NAT的第二终端收到关键帧请求消息后,主动发送一个关键帧到中间服务器,中间服务器将第二终端发来的关键帧转发到第一终端,第一终端收到关键帧后,能够正常解析后续的P帧,显示对端视频画面正常。说 明 书CN 104469537 A6/11页90056 请参阅图3,图3是本申请不对称组网系统视频呼叫方法第三个实施方式的流程图,本实施方式中,不对称组网系统包括支持NAT的终端、中间服务器以及不支持NAT的终端,本实施方式是以不对称组网系统的中间服务器的角度进行描述,本实施方式的不对称组网系统视频呼叫方法包括:0057 步骤S301:在支持网络地址转换的第一终端与中间服务。

33、器间的网络地址转换连通性检测完成时,中间服务器向不支持网络地址转换的第二终端发送关键帧请求;0058 支持NAT的第一终端在中间服务器返回不支持NAT终端的请求应答消息后,得知中间服务器的NAT连通性候选地址而开始与中间服务器进行连通性检测。在检测完成时,中间服务器主动向第二终端发送关键帧请求,以避免关键帧丢失而导致第一终端长时间无法正常显示第二终端发来的视频图像。0059 实际应用过程中,中间服务器可以通过媒体层面或信令层面向第二终端发出关键帧请求。0060 步骤S302:中间服务器接收第二终端响应关键帧请求而返回的关键帧并转发给第一终端;0061 第二终端接收到关键帧请求后,向中间服务器返。

34、回请求应答消息,请求应答消息中携带中间服务器所请求的关键帧。中间服务器将关键帧转发给第一终端。0062 第一终端接收返回的关键帧,可以正常解析后续的P帧,显示第二终端发来的视频正常。0063 请参阅图4,图4是本申请不对称组网系统视频呼叫方法第四个实施方式的流程图,本实施方式中,不对称组网系统包括支持NAT的终端、中间服务器以及不支持NAT的终端,本实施方式是以不对称组网系统的中间服务器的角度进行描述,本实施方式的不对称组网系统视频呼叫方法包括:0064 步骤S401:中间服务器接收支持网络地址转换的第一终端的视频请求;0065 支持NAT的第一终端发起视频请求,携带视频编解码信息以及自身NA。

35、T连通性检测候选地址在SDP中,中间服务器接收第一终端的视频请求。0066 步骤S402:中间服务器删除视频请求中的网络地址转换连通性检测候选地址后将视频请求转发给不支持网络地址转换的第二终端;0067 中间服务器接收到来自第一终端的携带了NAT连通性检测候选地址的视频请求后,去掉视频请求中的NAT连通性检测候选地址,然后将视频请求发送给不支持NAT的第二终端。0068 步骤S403:中间服务器接收来自第二终端的请求应答消息,添加自身的网络地址转换连通性检测候选地址到请求应答消息中,然后将请求应答消息转发给第一终端;0069 不支持NAT的第二终端接收到视频请求后,发送没有携带NAT连通性检测。

36、候选地址的请求应答消息给中间服务器,中间服务器收到请求应答消息后,添加自身的NAT连通性检测候选地址信息到请求应答消息后,将请求应答消息转发给支持NAT的第一终端。0070 支持NAT的第一终端接收通过中间服务器转发的请求应答消息,完成了媒体信息交换,得到了彼此的NAT连通性检测候选地址,开始与中间服务器进行NAT连通性检测。0071 不支持NAT的第二终端可能在第一终端与中间服务器的NAT连通性检测完成之前就开始发送视频数据,即发送第一个关键帧。由于第一终端与中间服务器的NAT连通性检说 明 书CN 104469537 A7/11页10测尚未完成,因此可能丢弃第二终端的第一个关键帧。0072。

37、 步骤S404:在第一终端与中间服务器间的网络地址转换连通性检测完成时,中间服务器向第二终端发送关键帧请求;0073 支持NAT的第一终端与中间服务器NAT连通性检测完成,第一终端与对端建立了通路可以开始传输数据。这时第一终端通过中间服务器向第二终端开始发送视频,第二终端能够正常显示第一终端发来的视频图像。同时,中间服务器在媒体层面或信令层面主动发送一个关键帧请求RTCP消息给不支持NAT的第二终端。0074 步骤S405:中间服务器接收第二终端响应关键帧请求而返回的关键帧并转发给第一终端;0075 不支持NAT的第二终端收到关键帧请求消息后,主动发送一个关键帧到中间服务器,中间服务器将第二终。

38、端发来的关键帧转发到第一终端,第一终端收到关键帧后,能够正常解析后续的P帧,显示对端视频画面正常。0076 为进一步解释本申请的不对称组网系统视频呼叫方法,以下结合一个具体的实施方式,具体描述支持NAT的终端与不支持NAT的终端通过中间服务器而相互交互实现过程,具体解释本申请的不对称组网系统视频呼叫方法:0077 请参阅图5,图5是本申请不对称组网系统视频呼叫方法第五个实施方式的流程图,本实施方式包括以下步骤:0078 S1:支持NAT终端发起视频请求;0079 支持NAT终端发起视频请求,携带视频编解码信息以及自身的NAT连通性检测候选地址在SDP中,通过中间服务器转发给不支持NAT终端。0。

39、080 S2:中间服务器接收到来自支持NAT终端的视频请求,去掉NAT连通性检测候选地址,发给不支持NAT终端;0081 中间服务器收到携带了NAT连通性检测候选地址的视频请求后,去掉支持NAT终端的NAT连通性检测候选地址,发送给不支持NAT的终端。0082 S3:不支持NAT终端发送没有携带NAT连通性检测候选地址的应答给中间服务器;0083 不支持NAT终端发送没有携带NAT连通性检测候选地址的应答发送给中间服务器,由中间服务器转发给支持NAT终端。0084 S4:中间服务器收到应答后,添加NAT连通性检测候选地址到SDP中转发给支持NAT终端;0085 中间服务器接收到应答后,添加自身的NAT连通性检测候选地址到SDP中,将应答通过SDP转发给支持NAT终端。0086 S5:不支持NAT终端向中间服务器发送第一个关键帧;0087 由于不支持NAT终端不知道支持NAT终端与中间服务器之间的连通性检测是否完成,因此可能在完成媒体信息交换(即接收视屏请求并返回应答消息)后就有可能开始向支持NAT终端发送媒体。因此该步骤的行为,即向中间服务器发送第一个关键帧,通过中间服务器转发给支持NAT终端。0088 S6:进行连通性检测;0089 中间服务器与支持NAT终端之间由于完成了媒体信息交换,得到了彼此的NAT连说 明 书CN 104469537 A10。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1