WO2015039579A1 - Video calling method for asymmetric networking system, terminal, server and system - Google Patents

Video calling method for asymmetric networking system, terminal, server and system Download PDF

Info

Publication number
WO2015039579A1
WO2015039579A1 PCT/CN2014/086281 CN2014086281W WO2015039579A1 WO 2015039579 A1 WO2015039579 A1 WO 2015039579A1 CN 2014086281 W CN2014086281 W CN 2014086281W WO 2015039579 A1 WO2015039579 A1 WO 2015039579A1
Authority
WO
WIPO (PCT)
Prior art keywords
terminal
address translation
network address
request
video
Prior art date
Application number
PCT/CN2014/086281
Other languages
French (fr)
Chinese (zh)
Inventor
田振华
吴毅敏
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2015039579A1 publication Critical patent/WO2015039579A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/147Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal

Abstract

Disclosed are a video calling method for an asymmetric networking system, a terminal, a server and a system. The asymmetric networking system comprises a first terminal which supports NAT (network address translation), an intermediate server and a second terminal which does not support NAT. The video calling method comprises: when the detection of the connectivity of the network address translation between a first terminal and an intermediate server is completed, the first terminal sending a key frame request to a second terminal; and the first terminal receiving a key frame which is returned by the second terminal in response to the key frame request, and parsing a subsequent difference frame, so as to normally display a video which is sent by the second terminal. By means of the above-mentioned method, the present invention can effectively reduce the length of time for which the video cannot be normally displayed, thereby creating a better service experience for a user.

Description

不对称组网系统视频呼叫方法及终端、 服务器和系统 技术领域  Asymmetric networking system video calling method and terminal, server and system thereof
本发明涉及通信领域, 特别是涉及一种不对称组网系统视频呼叫方 法及终端、 服务器和系统。 背景技术  The present invention relates to the field of communications, and in particular, to a video calling method for an asymmetric networking system, and a terminal, a server, and a system. Background technique
视频编解码的传输, 如 H.264 的媒体传输釆用实时传输协议 (Real-time Transport Protocol , RTP )方式, 而 RTP是承载在用户数据包 协议 (User Datagram Protocol, UDP)之上, 由于 UDP是无连接, 不可靠 的传输协议, 因此视频流包在网络上传输, 容易出现丟包的情况。  Video codec transmission, such as H.264 media transmission using Real-time Transport Protocol (RTP), and RTP is carried on the User Datagram Protocol (UDP), due to UDP It is a connectionless, unreliable transmission protocol, so video stream packets are transmitted over the network, which is prone to packet loss.
在视频传输中, 一副画面可以分成关键帧和差别帧 (P帧)进行传输, 关键帧是视频传输的关键,后续的 P帧的解码都是依靠关键帧来完成的。 如果关键帧丟失, P帧无法解码, 解码器也就无法正常解析收到的视频 画面。  In video transmission, a picture can be divided into key frames and differential frames (P frames) for transmission. Key frames are the key to video transmission, and subsequent P frame decoding is done by key frames. If the key frame is lost, the P frame cannot be decoded, and the decoder cannot parse the received video picture normally.
H.264相关标准中定义媒体关键帧请求机制, 即当一段解码器发现 丟失关键帧后, 可以主动向另外一个端发送关键帧请求而获取关键帧实 现正常解码。 但是, 这种方式, 无法正常显示对方视频的时间相对比较 长。 另外, 对于一端是支持网络地址转换 (NAT)的终端, 而另一端是不 支持 NAT的终端的组网系统来说, NAT连通性检测也可能导致关键帧 的丟失,如果仍釆用上述的方式来处理, 支持 NAT的终端在接收到视频  The H.264 related standard defines a media key frame request mechanism, that is, when a decoder finds that a key frame is lost, it can actively send a key frame request to another end to obtain a key frame for normal decoding. However, in this way, it is relatively long to display the video of the other party normally. In addition, for a network system where one end is a terminal that supports Network Address Translation (NAT) and the other end is a terminal that does not support NAT, NAT connectivity detection may also cause loss of key frames, if the above method is still used. To handle, the terminal that supports NAT is receiving the video.
发明内容 Summary of the invention
本发明主要解决的技术问题是不对称组网系统下, 如何缩短支持 NAT终端在接收到视频请求应答后无法正常显示对方视频的时间。  The technical problem to be solved by the present invention is how to shorten the time for the NAT terminal to display the video of the other party after receiving the video request response in the asymmetric networking system.
有鉴于此, 本申请提供一种不对称组网系统视频呼叫方法及终端、 服务器和系统, 能够有效减少视频无法正常显示的时间, 给用户更好的 业务体验。  In view of this, the present application provides a video calling method, a terminal, a server, and a system for an asymmetric networking system, which can effectively reduce the time when the video cannot be displayed normally, and provide a better service experience for the user.
第一方面, 提供一种不对称组网系统视频呼叫方法, 所述不对称组 网系统包括支持网络地址转换的第一终端、 中间服务器以及不支持网络 地址转换的第二终端, 所述方法包括: 在所述第一终端与所述中间服务 器间的网络地址转换连通性检测完成时, 所述第一终端向所述第二终端 发送关键帧请求; 所述第一终端接收所述第二终端响应所述关键帧请求 而返回的关键帧, 解析后续的差别帧而正常显示所述第二终端发来的视 频。 The first aspect provides an asymmetric network system video calling method, where the asymmetric group The network system includes a first terminal supporting network address translation, an intermediate server, and a second terminal that does not support network address translation, the method comprising: completing network address translation connectivity detection between the first terminal and the intermediate server The first terminal sends a key frame request to the second terminal; the first terminal receives a key frame returned by the second terminal in response to the key frame request, parses the subsequent difference frame, and displays the normal frame. The video sent by the second terminal.
结合第一方面, 在第一方面的第一种可能的实现方式中: 所述向所 述第二终端发送关键帧请求的步骤包括: 所述第一终端在媒体层面或信 令层面发出关键帧请求, 并通过所述中间服务器转发给所述第二终端。  With reference to the first aspect, in a first possible implementation manner of the first aspect, the step of: sending the key frame request to the second terminal includes: sending, by the first terminal, a key frame at a media layer or a signaling layer Requesting, and forwarding to the second terminal through the intermediate server.
结合第一方面, 在第一方面的第二种可能的实现方式中: 所述在所 述第一终端与所述中间服务器间的网络地址转换连通性检测完成之前, 所述方法还包括: 所述第一终端通过所述中间服务器向所述第二终端发 出视频请求, 所述视频请求携带视频编解码信息以及所述第一终端的网 络地址转换连通性检测候选地址; 所述第一终端接收携带所述中间服务 器的网络地址转换连通性检测候选地址的请求应答消息, 开始与所述中 间服务器进行网络地址转换连通性检测。  With reference to the first aspect, in a second possible implementation manner of the first aspect, the method further includes: before the network address translation connectivity detection between the first terminal and the intermediate server is completed, the method further includes: The first terminal sends a video request to the second terminal by using the intermediate server, where the video request carries video codec information and a network address translation connectivity detection candidate address of the first terminal; Carrying a request response message carrying the network address translation connectivity detection candidate address of the intermediate server, and starting network address translation connectivity detection with the intermediate server.
第二方面, 提供一种不对称组网系统视频呼叫方法, 所述不对称组 网系统包括支持网络地址转换的第一终端、 中间服务器以及不支持网络 地址转换的第二终端, 所述方法包括: 在所述第一终端与所述中间服务 器间的网络地址转换连通性检测完成时, 所述中间服务器向所述第二终 端发送关键帧请求; 所述中间服务器接收所述第二终端响应所述关键帧 请求而返回的关键帧, 并将所述关键帧转发给所述第一终端, 以使所述 第一终端能够正常显示第二终端发来的视频。  A second aspect provides a video calling method for an asymmetric networking system, where the asymmetric networking system includes a first terminal that supports network address translation, an intermediate server, and a second terminal that does not support network address translation, and the method includes The intermediate server sends a key frame request to the second terminal when the network address translation connectivity check between the first terminal and the intermediate server is completed; the intermediate server receives the second terminal response Deriving the key frame returned by the key frame request, and forwarding the key frame to the first terminal, so that the first terminal can normally display the video sent by the second terminal.
结合第二方面, 在第二方面的第一种可能的实现方式中: 所述中间 服务器向所述第二终端发送关键帧请求的步骤包括: 所述中间服务器在 媒体层面或信令层面向所述第二终端发送关键帧请求。  With reference to the second aspect, in a first possible implementation manner of the second aspect, the step of the intermediate server sending a key frame request to the second terminal includes: the intermediate server facing the media layer or the signaling layer The second terminal sends a key frame request.
结合第二方面, 在第二方面的第二种可能的实现方式中: 所述在所 述第一终端与所述中间服务器间的网络地址转换连通性检测完成之前, 还包括: 所述中间服务器接收所述第一终端的视频请求, 所述视频请求 携带视频编解码信息以及所述第一终端的网络地址转换连通性检测候 选地址; 所述中间服务器删除所述视频请求中的网络地址转换连通性检 测候选地址后将所述视频请求转发给所述第二终端。 With reference to the second aspect, in a second possible implementation manner of the second aspect, before the network address translation connectivity detection between the first terminal and the intermediate server is completed, the method further includes: the intermediate server Receiving a video request of the first terminal, the video request Carrying video codec information and a network address translation connectivity detection candidate address of the first terminal; the intermediate server deleting the network address translation connectivity detection candidate address in the video request, and forwarding the video request to the The second terminal.
结合第二方面的第二种可能的实现方式, 在第二方面的第三种可能 的实现方式中: 所述将所述视频请求转发给所述第二终端的步骤之后, 还包括: 所述中间服务器接收来自所述第二终端的请求应答消息, 添加 自身的网络地址转换连通性检测候选地址到所述请求应答消息中, 然后 将请求应答消息转发给所述第一终端。  With the second possible implementation of the second aspect, in a third possible implementation manner of the second aspect, after the step of forwarding the video request to the second terminal, the method further includes: The intermediate server receives the request response message from the second terminal, adds its own network address translation connectivity detection candidate address to the request response message, and then forwards the request response message to the first terminal.
第三方面, 提供一种支持网络地址转换的终端, 所述支持网络地址 转换的终端与不支持网络地址转换的终端通过中间服务器进行视频呼 叫, 所述支持网络地址转换的终端包括请求模块和接收模块, 其中: 所 述请求模块用于在所述支持网络地址转换的终端与所述中间服务器间 的网络地址转换连通性检测完成时, 向所述不支持网络地址转换的终端 发送关键帧请求; 所述接收模块用于接收所述不支持网络地址转换的终 端响应所述关键帧请求而返回的关键帧, 解析后续的差别帧而正常显示 所述不支持网络地址转换的终端发来的视频。  The third aspect provides a terminal that supports network address translation, where the terminal that supports network address translation and the terminal that does not support network address translation make a video call through an intermediate server, where the terminal that supports network address translation includes a request module and receives a module, where: the requesting module is configured to send a key frame request to the terminal that does not support network address translation when the network address translation connectivity detection between the terminal supporting the network address translation and the intermediate server is completed; The receiving module is configured to receive a key frame returned by the terminal that does not support network address translation in response to the key frame request, parse the subsequent difference frame, and normally display the video sent by the terminal that does not support network address translation.
结合第三方面, 在第三方面的第一种可能的实现方式中: 所述请求 模块用于在媒体层面或信令层面发出关键帧请求, 并通过所述中间服务 器转发给所述不支持网络地址转换的终端。  With reference to the third aspect, in a first possible implementation manner of the third aspect, the requesting module is configured to send a key frame request at a media layer or a signaling layer, and forward the information to the unsupported network by using the intermediate server The terminal for address translation.
结合第三方面, 在第三方面的第二种可能的实现方式中: 所述请求 模块用于通过所述中间服务器向所述不支持网络地址转换的终端发出 视频请求, 所述视频请求携带视频编解码信息以及所述支持网络地址转 换的终端的网络地址转换连通性检测候选地址; 所述接收模块用于接收 携带所述中间服务器的网络地址转换连通性检测候选地址的请求应答 消息, 开始与所述中间服务器进行网络地址转换连通性检测。  With reference to the third aspect, in a second possible implementation manner of the third aspect, the requesting module is configured to send a video request to the terminal that does not support network address translation by using the intermediate server, where the video request carries a video The codec information and the network address translation connectivity detection candidate address of the terminal supporting the network address translation; the receiving module is configured to receive a request response message carrying the network address translation connectivity detection candidate address of the intermediate server, start with The intermediate server performs network address translation connectivity detection.
第四方面, 提供一种服务器, 支持网络地址转换的终端与不支持网 络地址转换的终端通过所述服务器进行视频呼叫, 所述服务器包括请求 模块和转发模块, 其中: 所述请求模块用于在所述支持网络地址转换的 终端与所述服务器间的网络地址转换连通性检测完成时, 向所述不支持 网络地址转换的终端发送关键帧请求; 所述转发模块用于接收所述不支 持网络地址转换的终端响应所述关键帧请求而返回的关键帧, 并将所述 关键帧转发给所述支持网络地址转换的终端, 以使所述支持网络地址转 换的终端能够正常显示所述不支持网络地址转换的终端发来的视频。 According to a fourth aspect, a server is provided, and a terminal that supports network address translation and a terminal that does not support network address translation perform a video call by using the server, where the server includes a requesting module and a forwarding module, where: the requesting module is used to When the network address translation connectivity between the terminal supporting the network address translation and the server is completed, the support is not supported. The terminal of the network address translation sends a key frame request; the forwarding module is configured to receive a key frame returned by the terminal that does not support network address translation in response to the key frame request, and forward the key frame to the support network The address translation terminal is configured to enable the terminal supporting the network address translation to normally display the video sent by the terminal that does not support network address translation.
结合第四方面, 在第四方面的第一种可能的实现方式中: 所述请求 模块用于在媒体层面或信令层面向所述不支持网络地址转换的终端发 送关键帧请求。  In conjunction with the fourth aspect, in a first possible implementation manner of the fourth aspect, the requesting module is configured to send a key frame request to a terminal that does not support network address translation at a media layer or a signaling layer.
结合第四方面, 在第四方面的第二种可能的实现方式中: 所述转发 模块用于接收所述支持网络地址转换的终端的视频请求, 所述视频请求 携带视频编解码信息以及所述支持网络地址转换的终端的网络地址转 换连通性检测候选地址, 删除所述视频请求中的网络地址转换连通性检 测候选地址后将所述视频请求转发给所述不支持网络地址转换的终端。  With reference to the fourth aspect, in a second possible implementation manner of the fourth aspect, the forwarding module is configured to receive a video request of the terminal that supports network address translation, where the video request carries video codec information and the The network address translation connectivity detection candidate address of the terminal that supports the network address translation is deleted, and the video request is forwarded to the terminal that does not support the network address translation after deleting the network address translation connectivity detection candidate address in the video request.
结合第四方面的第二种可能的实现方式, 在第四方面的第三种可能 的实现方式中: 所述转发模块用于接收来自所述不支持网络地址转换的 终端的请求应答消息, 添加所述服务器的网络地址转换连通性检测候选 地址到所述请求应答消息中, 然后将请求应答消息转发给所述支持网络 地址转换的终端。  With the second possible implementation of the fourth aspect, in a third possible implementation manner of the fourth aspect, the forwarding module is configured to receive a request response message from the terminal that does not support network address translation, and add The network address translation connectivity of the server detects the candidate address into the request response message, and then forwards the request response message to the terminal supporting the network address translation.
第五方面, 提供一种网络系统, 所述网络系统包括上述第三方面以 及第三方面的任一种可能的实现方式中的支持网络地址转换的终端和 第四方面以及第四方面的任一种可能的实现方式中的服务器, 还包括不 支持网络地址转换的终端。  According to a fifth aspect, a network system is provided, where the network system includes the terminal supporting the network address translation in any of the foregoing third aspect and the third aspect, and the fourth aspect and the fourth aspect A server in a possible implementation also includes a terminal that does not support network address translation.
本申请的有益效果是: 区别于现有技术的情况, 本申请不对称组网 系统视频呼叫方法, 在支持 NAT的终端与中间服务器之间的 NAT连通 性检测完成时,主动向不支持 NAT的终端发送关键帧请求,从而接收不 支持 NAT的终端的关键帧而实现视频正常解码。通过这样的方式,有效 缩短支持 NAT 终端在接收视频请求应答消息后无法正常显示对端视频 的时间, 给用户更好的业务体验。 附图说明 图 1是本申请不对称组网系统视频呼叫方法第一个实施方式的流程 图; The beneficial effects of the present application are as follows: Different from the prior art, the video calling method of the asymmetric networking system of the present application actively supports NAT when the NAT connectivity detection between the terminal supporting the NAT and the intermediate server is completed. The terminal sends a key frame request, thereby receiving a key frame of the terminal that does not support NAT, and realizing normal video decoding. In this way, the time for the NAT terminal to display the video request response message cannot be displayed normally after receiving the video request response message, thereby giving the user a better service experience. DRAWINGS 1 is a flowchart of a first embodiment of a video calling method for an asymmetric networking system of the present application;
图 2是本申请不对称组网系统视频呼叫方法第二个实施方式的流程 图;  2 is a flow chart of a second embodiment of a video calling method for an asymmetric networking system of the present application;
图 3是本申请不对称组网系统视频呼叫方法第三个实施方式的流程 图;  3 is a flow chart of a third embodiment of a video calling method for an asymmetric networking system of the present application;
图 4是本申请不对称组网系统视频呼叫方法第四个实施方式的流程 图;  4 is a flow chart of a fourth embodiment of a video calling method for an asymmetric networking system of the present application;
图 5是本申请不对称组网系统视频呼叫方法第五个实施方式的流程 图;  5 is a flow chart of a fifth embodiment of a video calling method for an asymmetric networking system of the present application;
图 6是本申请支持 NAT的终端一个实施方式的结构示意图; 图 7是本申请服务器一个实施方式的结构示意图;  6 is a schematic structural diagram of an embodiment of a terminal supporting NAT in the present application; FIG. 7 is a schematic structural diagram of an embodiment of a server according to the present application;
图 8是本申请支持 NAT的终端另一个实施方式的结构示意图。 具体实施方式  FIG. 8 is a schematic structural diagram of another embodiment of a terminal supporting NAT according to the present application. detailed description
目前视频编解码的传输, 如 H.264 的媒体传输釆用实时传输协议 RTP方式, 而 RTP是承载在用户数据包协议 UDP之上, 由于 UDP是无 连接, 不可靠的传输协议, 因此视频流包在网络上传输, 容易出现丟包 的情况, 从而导致关键帧丟失而无法正常显示对端发来的视频。  At present, the transmission of video codec, such as H.264 media transmission, uses the real-time transmission protocol RTP mode, and RTP is carried on the user data packet protocol UDP. Since UDP is a connectionless, unreliable transmission protocol, the video stream Packets are transmitted over the network, which is prone to packet loss, resulting in the loss of key frames and the normal display of video from the peer.
NAT 穿越, 常见的有 STU (Simple Traversal of UDP Through Network Address Translators)和 TURN(Traversal Using Relay NAT)两种方 式, 二者比较鲜明的不同点是 TURN是一个中间服务器, 所有需要穿越 NAT的数据包都发送到 TURN服务器做中转。 而 STUN无需做数据包 的中转。  NAT traversal, commonly used STU (Simple Traversal of UDP Through Network Address Translators) and TURN (Traversal Using Relay NAT) two ways, the two distinct difference is that TURN is an intermediate server, all packets need to traverse NAT Both are sent to the TURN server for transit. STUN does not need to do the transfer of data packets.
在 NAT穿越技术中, 当终端获取到 NAT设备地址或 TURN设备地 址结束后, 都需要进行连通性检测。 所谓连通性检测, 就是在多个 NAT 地址准备之间进行是否连通的检测, 目的就是确定从本端到对端哪个路 径是可达的。 当检测完成确定一条通路时, 就可以发送数据包了。 一般 连通性检测的 NAT 连通性检测候选地址是在呼叫信令协议(Session Initiation Protocol , SIP)消息中会话描述协议 (Session Description Protocol , SDP)携带的, 因此完成 SIP的媒体信息交换是进行 NAT连通 性检测的第一步 (因为请求 /应答完成后, 彼此才能知道对方的 NAT连 通性检测候选地址,才能根据对方的 NAT连通性检测候选地址进行连通 性检测 )。 In the NAT traversal technology, connectivity detection is required after the terminal obtains the NAT device address or the TURN device address. The so-called connectivity detection is to detect whether or not connectivity is established between multiple NAT address preparations. The purpose is to determine which path is reachable from the local end to the opposite end. When the detection is completed to determine a path, the packet can be sent. The NAT connectivity detection candidate address for general connectivity detection is in the call signaling protocol (Session Initiation Protocol (SIP) messages are carried in the Session Description Protocol (SDP). Therefore, the completion of SIP media information exchange is the first step in NAT connectivity detection (because the request/response is completed, each other can know each other's The NAT connectivity detection candidate address can be used for connectivity detection based on the NAT connectivity detection candidate address of the other party.
在不对称组网系统, 即一端是支持 NAT 的终端而另一端是不支持 NAT的终端进行视频呼叫时, 由于连通性检测的发生是在支持 NAT的 终端与中间某个节点(中间节点的主要作用是终结所有的 NAT流程, 因 为被叫终端是不支持 NAT的), 因此作为不支持 NAT终端而言, 并不知 道支持 NAT的终端与中间服务器间的 NAT检测是否已经完成, 是否可 以正常接收或发送数据。不支持 NAT的终端有可能是在完成媒体信息交 换流程后就开始发送数据。 因此, 由于连通性检测的影响, 支持 NAT 的终端可能在接收视频请求应答后一段时间无法正常显示对端发来的 视频图像。  In an asymmetric networking system, where one end is a terminal that supports NAT and the other end is a video call that does not support NAT, connectivity detection occurs in a terminal that supports NAT and a node in the middle (the main node of the intermediate node) The function is to terminate all NAT processes, because the called terminal does not support NAT. Therefore, as a NAT terminal is not supported, it is not known whether NAT detection between the terminal supporting NAT and the intermediate server has been completed, and whether it can be received normally. Or send data. A terminal that does not support NAT may start transmitting data after completing the media information exchange process. Therefore, due to the influence of connectivity detection, a terminal that supports NAT may not display the video image sent by the peer end after receiving the video request response for a period of time.
有鉴于此, 本申请提供一种不对称组网系统视频呼叫方法及终端、 服务器和系统, 旨在解决不对称组网系统视频呼叫时,支持 NAT的终端 在接收视频请求应答后较长时间无法正常显示对端发来的视频图像的 问题。  In view of this, the present application provides a video calling method for an asymmetric networking system, a terminal, a server, and a system, which are intended to solve a video call of an asymmetric networking system, and a terminal supporting NAT cannot be used for a long time after receiving a video request response. The problem of displaying the video image sent from the opposite end is normally displayed.
以下结合具体实施方式, 对本申请要求保护的技术方案进行进一步 地阐述, 但是并不用以限定本申请要求保护的范围。  The technical solutions claimed in the present application are further described below in conjunction with the specific embodiments, but are not intended to limit the scope of the claims.
请参阅图 1 , 图 1是本申请不对称组网系统视频呼叫方法的第一个 实施方式的流程图,本实施方式中,不对称组网系统包括支持 NAT的终 端、 中间服务器以及不支持 NAT的终端,本实施方式是以不对称组网系 统中支持 NAT的终端的角度进行描述,本实施方式的不对称组网系统视 频呼叫方法包括:  Referring to FIG. 1 , FIG. 1 is a flowchart of a first embodiment of a video calling method for an asymmetric networking system of the present application. In this implementation manner, the asymmetric networking system includes a terminal that supports NAT, an intermediate server, and does not support NAT. The terminal is described in the perspective of a terminal that supports NAT in an asymmetric networking system. The video calling method of the asymmetric networking system in this embodiment includes:
步骤 S101 :在支持网络地址转换的第一终端与中间服务器间的网络 地址转换连通性检测完成时, 第一终端向不支持网络地址转换的第二终 端发送关键帧请求;  Step S101: When the network address translation connectivity detection between the first terminal supporting the network address translation and the intermediate server is completed, the first terminal sends a key frame request to the second terminal that does not support network address translation.
支持 NAT的第一终端在中间服务器返回不支持 NAT的第二终端的 请求应答消息后,得知中间服务器的 NAT连通性候选地址而开始与中间 服务器进行连通性检测。 在检测完成时, 第一终端主动向第二终端发送 关键帧请求, 以避免关键帧丟失而导致长时间无法正常显示第二终端发 来的视频图像。 The first terminal supporting NAT returns the second terminal that does not support NAT in the intermediate server. After requesting the response message, the NAT connectivity candidate address of the intermediate server is known and connectivity detection with the intermediate server is started. When the detection is completed, the first terminal actively sends a key frame request to the second terminal to prevent the key frame from being lost, so that the video image sent by the second terminal cannot be normally displayed for a long time.
实际应用过程中, 第一终端可以通过媒体层面或信令层面发出关键 帧请求, 并通过中间服务器转发给第二终端。  In the actual application process, the first terminal may send a key frame request through the media layer or the signaling layer, and forward the request to the second terminal through the intermediate server.
步骤 S102: 第一终端接收第二终端响应关键帧请求而返回的关键 帧, 解析后续的差别帧而正常显示第二终端发来的视频;  Step S102: The first terminal receives the key frame returned by the second terminal in response to the key frame request, parses the subsequent difference frame, and normally displays the video sent by the second terminal.
第二终端接收到来自第一终端的关键帧请求后, 向第一终端返回请 求应答消息, 请求应答消息中携带第一终端请求的关键帧。 第二终端将 请求应答消息返回到中间服务器, 由中间服务器转发给第一终端。  After receiving the key frame request from the first terminal, the second terminal returns a request response message to the first terminal, where the request response message carries the key frame requested by the first terminal. The second terminal returns the request response message to the intermediate server, and the intermediate server forwards the message to the first terminal.
第一终端接收返回的关键帧, 可以正常解析后续的 P帧, 显示第二 终端发来的视频正常。  The first terminal receives the returned key frame, and can correctly parse the subsequent P frame to display that the video sent by the second terminal is normal.
通过上述实施方式的描述, 可以理解, 本申请不对称组网系统视频 呼叫方法, 在支持 NAT的终端与中间服务器之间的 NAT连通性检测完 成时,主动向不支持 NAT的终端发送关键帧请求,从而接收不支持 NAT 的终端的关键帧而实现视频正常解码。 通过这样的方式, 有效缩短支持 NAT的终端在接收视频请求应答消息后无法正常显示对端视频的时间, 给用户更好的业务体验。  Through the description of the foregoing embodiments, it can be understood that the video calling method of the asymmetric networking system of the present application actively sends a key frame request to a terminal that does not support NAT when the NAT connectivity detection between the terminal supporting the NAT and the intermediate server is completed. Therefore, the key frame of the terminal that does not support NAT is received to achieve normal video decoding. In this way, the terminal that supports the NAT cannot effectively display the time of the peer video after receiving the video request response message, thereby giving the user a better service experience.
请参阅图 2, 图 2是本申请不对称组网系统视频呼叫方法第二个实 施方式的流程图,本实施方式中,不对称组网系统包括支持 NAT的终端、 中间服务器以及不支持 NAT的终端,本实施方式是以不对称组网系统中 支持 NAT的终端的角度进行描述,本实施方式的不对称组网系统视频呼 叫方法包括:  Referring to FIG. 2, FIG. 2 is a flowchart of a second embodiment of a video calling method for an asymmetric networking system of the present application. In this implementation manner, the asymmetric networking system includes a terminal that supports NAT, an intermediate server, and an interface that does not support NAT. The terminal is described in the perspective of a terminal that supports NAT in an asymmetric networking system. The video calling method of the asymmetric networking system in this embodiment includes:
步骤 S201 :支持网络地址转换的第一终端通过中间服务器向不支持 网络地址转换的第二终端发出视频请求;  Step S201: The first terminal supporting network address translation sends a video request to the second terminal that does not support network address translation through the intermediate server.
支持 NAT的第一终端发起视频请求,携带视频编解码信息以及自身 NAT连通性检测候选地址在 SDP中, 中间服务器收到携带了 NAT连通 性检测候选地址的视频请求后,去掉视频请求中的 NAT连通性检测候选 地址, 然后将视频请求发送给不支持 NAT的第二终端。 The first terminal supporting the NAT initiates a video request, and carries the video codec information and the self-NAT connectivity detection candidate address in the SDP. After receiving the video request carrying the NAT connectivity detection candidate address, the intermediate server removes the NAT in the video request. Connectivity detection candidate The address is then sent to the second terminal that does not support NAT.
不支持 NAT的第二终端发送没有携带 NAT连通性检测候选地址的 请求应答消息给中间服务器, 中间服务器收到请求应答消息后, 添加自 身的 NAT连通性检测候选地址信息到请求应答消息后,将请求应答消息 转发给支持 NAT的第一终端。  The second terminal that does not support the NAT sends a request response message that does not carry the NAT connectivity detection candidate address to the intermediate server. After receiving the request response message, the intermediate server adds its own NAT connectivity detection candidate address information to the request response message. The request response message is forwarded to the first terminal supporting the NAT.
步骤 S202:第一终端接收携带中间服务器的网络地址转换连通性检 测候选地址的请求应答消息, 开始与中间服务器进行网络地址转换连通 性检测;  Step S202: The first terminal receives a request response message carrying a network address translation connectivity detection candidate address of the intermediate server, and starts network address translation connectivity detection with the intermediate server.
支持 NAT的第一终端接收通过中间服务器转发的请求应答消息,完 成了媒体信息交换,得到了彼此的 NAT连通性检测候选地址,开始与中 间服务器进行 NAT连通性检测。  The first terminal supporting the NAT receives the request response message forwarded by the intermediate server, completes the media information exchange, obtains the NAT connectivity detection candidate addresses of each other, and starts NAT connectivity detection with the intermediate server.
不支持 NAT的第二终端可能在第一终端与中间服务器的 NAT连通 性检测完成之前就开始发送视频数据, 即发送第一个关键帧。 由于第一 终端与中间服务器的 NAT连通性检测尚未完成,因此可能丟弃第二终端 的第一个关键帧。  The second terminal that does not support NAT may start transmitting video data before the completion of the NAT connectivity detection of the first terminal and the intermediate server, that is, transmitting the first key frame. Since the NAT connectivity detection of the first terminal and the intermediate server has not been completed, the first key frame of the second terminal may be discarded.
步骤 S203:在第一终端与中间服务器间的网络地址转换连通性检测 完成时, 第一终端向第二终端发送关键帧请求;  Step S203: When the network address translation connectivity detection between the first terminal and the intermediate server is completed, the first terminal sends a key frame request to the second terminal.
支持 NAT的第一终端在发现 NAT检测完成后, 与对端建立了通路 可以开始传输数据。 这时第一终端向第二终端开始发送视频。 同时, 第 一终端在媒体层面或信令层面主动发送一个关键帧请求消息, 比如在媒 体层面主动发送一个关键帧请求实时传输控制协议 (Real-time Transport Control Protocol, RTCP)消息, 或在信令层面主动发送一个 INFO 消息 ( INFO消息的目的是沿着 SIP信令通路携带应用层消息)并通过中间 服务器转发给不支持 NAT的第二终端。  After the discovery of the NAT detection, the first terminal supporting the NAT establishes a path with the peer to start transmitting data. At this time, the first terminal starts transmitting video to the second terminal. At the same time, the first terminal actively sends a key frame request message at the media level or the signaling level, for example, actively transmitting a key frame requesting Real-time Transport Control Protocol (RTCP) message at the media level, or signaling The layer actively sends an INFO message (the purpose of the INFO message is to carry the application layer message along the SIP signaling path) and forwards it to the second terminal that does not support NAT through the intermediate server.
步骤 S204: 第一终端接收第二终端响应关键帧请求而返回的关键 帧, 解析后续的差别帧而正常显示第二终端发来的视频;  Step S204: The first terminal receives the key frame returned by the second terminal in response to the key frame request, parses the subsequent difference frame, and normally displays the video sent by the second terminal.
不支持 NAT的第二终端收到关键帧请求消息后,主动发送一个关键 帧到中间服务器, 中间服务器将第二终端发来的关键帧转发到第一终 端, 第一终端收到关键帧后, 能够正常解析后续的 P帧, 显示对端视频 画面正常。 After receiving the key frame request message, the second terminal that does not support the NAT actively sends a key frame to the intermediate server, and the intermediate server forwards the key frame sent by the second terminal to the first terminal. After the first terminal receives the key frame, Can correctly parse subsequent P frames, display peer video The picture is normal.
请参阅图 3 , 图 3是本申请不对称组网系统视频呼叫方法第三个实 施方式的流程图,本实施方式中,不对称组网系统包括支持 NAT的终端、 中间服务器以及不支持 NAT的终端,本实施方式是以不对称组网系统的 中间服务器的角度进行描述, 本实施方式的不对称组网系统视频呼叫方 法包括:  Referring to FIG. 3, FIG. 3 is a flowchart of a third embodiment of a video calling method for an asymmetric networking system of the present application. In this implementation manner, the asymmetric networking system includes a terminal that supports NAT, an intermediate server, and an interface that does not support NAT. The terminal is described in the perspective of an intermediate server of the asymmetric networking system. The video calling method of the asymmetric networking system in this embodiment includes:
步骤 S301 :在支持网络地址转换的第一终端与中间服务器间的网络 地址转换连通性检测完成时, 中间服务器向不支持网络地址转换的第二 终端发送关键帧请求;  Step S301: When the network address translation connectivity detection between the first terminal supporting the network address translation and the intermediate server is completed, the intermediate server sends a key frame request to the second terminal that does not support network address translation.
支持 NAT的第一终端在中间服务器返回不支持 NAT终端的请求应 答消息后,得知中间服务器的 NAT连通性候选地址而开始与中间服务器 进行连通性检测。 在检测完成时, 中间服务器主动向第二终端发送关键 帧请求, 以避免关键帧丟失而导致第一终端长时间无法正常显示第二终 端发来的视频图像。  The first terminal supporting the NAT starts the connectivity check with the intermediate server after the intermediate server returns the request response message that does not support the NAT terminal, knows the NAT connectivity candidate address of the intermediate server. When the detection is completed, the intermediate server actively sends a key frame request to the second terminal to prevent the key frame from being lost, so that the first terminal cannot display the video image sent by the second terminal for a long time.
实际应用过程中, 中间服务器可以通过媒体层面或信令层面向第二 终端发出关键帧请求。  In the actual application process, the intermediate server can issue a key frame request to the second terminal through the media layer or the signaling layer.
步骤 S302: 中间服务器接收第二终端响应关键帧请求而返回的关键 帧并转发给第一终端;  Step S302: The intermediate server receives the key frame returned by the second terminal in response to the key frame request and forwards the key frame to the first terminal.
第二终端接收到关键帧请求后, 向中间服务器返回请求应答消息, 请求应答消息中携带中间服务器所请求的关键帧。 中间服务器将关键帧 转发给第一终端。  After receiving the key frame request, the second terminal returns a request response message to the intermediate server, where the request response message carries the key frame requested by the intermediate server. The intermediate server forwards the key frame to the first terminal.
第一终端接收返回的关键帧, 可以正常解析后续的 P帧, 显示第二 终端发来的视频正常。  The first terminal receives the returned key frame, and can correctly parse the subsequent P frame to display that the video sent by the second terminal is normal.
请参阅图 4, 图 4是本申请不对称组网系统视频呼叫方法第四个实 施方式的流程图,本实施方式中,不对称组网系统包括支持 NAT的终端、 中间服务器以及不支持 NAT的终端,本实施方式是以不对称组网系统的 中间服务器的角度进行描述, 本实施方式的不对称组网系统视频呼叫方 法包括:  Referring to FIG. 4, FIG. 4 is a flowchart of a fourth embodiment of a video calling method for an asymmetric networking system of the present application. In this implementation manner, the asymmetric networking system includes a terminal that supports NAT, an intermediate server, and an interface that does not support NAT. The terminal is described in the perspective of an intermediate server of the asymmetric networking system. The video calling method of the asymmetric networking system in this embodiment includes:
步骤 S401 : 中间服务器接收支持网络地址转换的第一终端的视频请 求; Step S401: The intermediate server receives the video of the first terminal that supports network address translation. begging;
支持 NAT的第一终端发起视频请求,携带视频编解码信息以及自身 NAT连通性检测候选地址在 SDP中, 中间服务器接收第一终端的视频 请求。  The first terminal supporting the NAT initiates a video request, carries the video codec information, and the self-NAT connectivity detection candidate address is in the SDP, and the intermediate server receives the video request of the first terminal.
步骤 S402: 中间服务器删除视频请求中的网络地址转换连通性检测 候选地址后将视频请求转发给不支持网络地址转换的第二终端;  Step S402: The intermediate server deletes the network address translation connectivity detection candidate address in the video request, and then forwards the video request to the second terminal that does not support network address translation.
中间服务器接收到来自第一终端的携带了 NAT 连通性检测候选地 址的视频请求后,去掉视频请求中的 NAT连通性检测候选地址, 然后将 视频请求发送给不支持 NAT的第二终端。  After receiving the video request from the first terminal that carries the NAT connectivity detection candidate address, the intermediate server removes the NAT connectivity detection candidate address in the video request, and then sends the video request to the second terminal that does not support NAT.
步骤 S403: 中间服务器接收来自第二终端的请求应答消息, 添加自 身的网络地址转换连通性检测候选地址到请求应答消息中, 然后将请求 应答消息转发给第一终端;  Step S403: The intermediate server receives the request response message from the second terminal, adds its own network address translation connectivity detection candidate address to the request response message, and then forwards the request response message to the first terminal.
不支持 NAT的第二终端接收到视频请求后, 发送没有携带 NAT连 通性检测候选地址的请求应答消息给中间服务器, 中间服务器收到请求 应答消息后,添加自身的 NAT连通性检测候选地址信息到请求应答消息 后, 将请求应答消息转发给支持 NAT的第一终端。  After receiving the video request, the second terminal that does not support the NAT sends a request response message that does not carry the NAT connectivity detection candidate address to the intermediate server. After receiving the request response message, the intermediate server adds its own NAT connectivity detection candidate address information to After requesting the response message, the request response message is forwarded to the first terminal supporting the NAT.
支持 NAT的第一终端接收通过中间服务器转发的请求应答消息,完 成了媒体信息交换,得到了彼此的 NAT连通性检测候选地址,开始与中 间服务器进行 NAT连通性检测。  The first terminal supporting the NAT receives the request response message forwarded by the intermediate server, completes the media information exchange, obtains the NAT connectivity detection candidate addresses of each other, and starts NAT connectivity detection with the intermediate server.
不支持 NAT的第二终端可能在第一终端与中间服务器的 NAT连通 性检测完成之前就开始发送视频数据, 即发送第一个关键帧。 由于第一 终端与中间服务器的 NAT连通性检测尚未完成,因此可能丟弃第二终端 的第一个关键帧。  The second terminal that does not support NAT may start transmitting video data before the completion of the NAT connectivity detection of the first terminal and the intermediate server, that is, transmitting the first key frame. Since the NAT connectivity detection of the first terminal and the intermediate server has not been completed, the first key frame of the second terminal may be discarded.
步骤 S404:在第一终端与中间服务器间的网络地址转换连通性检测 完成时, 中间服务器向第二终端发送关键帧请求;  Step S404: When the network address translation connectivity detection between the first terminal and the intermediate server is completed, the intermediate server sends a key frame request to the second terminal.
支持 NAT的第一终端与中间服务器 NAT连通性检测完成, 第一终 端与对端建立了通路可以开始传输数据。 这时第一终端通过中间服务器 向第二终端开始发送视频, 第二终端能够正常显示第一终端发来的视频 图像。 同时, 中间服务器在媒体层面或信令层面主动发送一个关键帧请 求 RTCP消息给不支持 NAT的第二终端。 The NAT connection detection between the first terminal and the intermediate server supporting NAT is completed, and the first terminal establishes a path with the opposite end to start transmitting data. At this time, the first terminal starts to send video to the second terminal through the intermediate server, and the second terminal can normally display the video image sent by the first terminal. At the same time, the intermediate server actively sends a key frame at the media level or signaling level. The RTCP message is sought for the second terminal that does not support NAT.
步骤 S405: 中间服务器接收第二终端响应关键帧请求而返回的关键 帧并转发给第一终端;  Step S405: The intermediate server receives the key frame returned by the second terminal in response to the key frame request and forwards the key frame to the first terminal.
不支持 NAT的第二终端收到关键帧请求消息后,主动发送一个关键 帧到中间服务器, 中间服务器将第二终端发来的关键帧转发到第一终 端, 第一终端收到关键帧后, 能够正常解析后续的 P帧, 显示对端视频 画面正常。  After receiving the key frame request message, the second terminal that does not support the NAT actively sends a key frame to the intermediate server, and the intermediate server forwards the key frame sent by the second terminal to the first terminal. After the first terminal receives the key frame, The subsequent P frames can be parsed normally, and the peer video picture is displayed normally.
为进一步解释本申请的不对称组网系统视频呼叫方法, 以下结合一 个具体的实施方式, 具体描述支持 NAT的终端与不支持 NAT的终端通 过中间服务器而相互交互实现过程, 具体解释本申请的不对称组网系统 视频呼叫方法:  To further explain the video calling method of the asymmetric networking system of the present application, the following describes a specific implementation manner of the NAT-enabled terminal and the terminal that does not support the NAT through the intermediate server, and specifically explains the present application. Symmetric networking system video calling method:
请参阅图 5, 图 5是本申请不对称组网系统视频呼叫方法第五个实 施方式的流程图, 本实施方式包括以下步骤:  Referring to FIG. 5, FIG. 5 is a flowchart of a fifth implementation manner of a video calling method for an asymmetric networking system according to the present application. The implementation manner includes the following steps:
S1 : 支持 NAT终端发起视频请求;  S1: Supporting the NAT terminal to initiate a video request;
支持 NAT终端发起视频请求,携带视频编解码信息以及自身的 NAT 连通性检测候选地址在 SDP中, 通过中间服务器转发给不支持 NAT终 端。  The NAT terminal is enabled to initiate a video request, and the video codec information and its own NAT connectivity detection candidate address are forwarded in the SDP through the intermediate server to the unsupported NAT terminal.
S2: 中间服务器接收到来自支持 NAT终端的视频请求, 去掉 NAT 连通性检测候选地址, 发给不支持 NAT终端;  S2: The intermediate server receives the video request from the supporting NAT terminal, removes the NAT connectivity detection candidate address, and sends the unsupported NAT terminal;
中间服务器收到携带了 NAT连通性检测候选地址的视频请求后,去 掉支持 NAT终端的 NAT连通性检测候选地址,发送给不支持 NAT的终 端。  After receiving the video request carrying the NAT connectivity check candidate address, the intermediate server removes the NAT connectivity detection candidate address that supports the NAT terminal and sends the candidate address to the terminal that does not support NAT.
S3: 不支持 NAT终端发送没有携带 NAT连通性检测候选地址的应 答给中间服务器;  S3: The NAT terminal is not allowed to send a response that does not carry the NAT connectivity detection candidate address to the intermediate server;
不支持 NAT终端发送没有携带 NAT连通性检测候选地址的应答发 送给中间服务器, 由中间服务器转发给支持 NAT终端。  The NAT terminal does not support sending a response that does not carry the NAT connectivity detection candidate address to the intermediate server, and the intermediate server forwards it to the supporting NAT terminal.
S4: 中间服务器收到应答后,添加 NAT连通性检测候选地址到 SDP 中转发给支持 NAT终端;  S4: After receiving the response, the intermediate server adds the NAT connectivity check candidate address to the SDP and forwards it to the supporting NAT terminal.
中间服务器接收到应答后,添加自身的 NAT连通性检测候选地址到 SDP中, 将应答通过 SDP转发给支持 NAT终端。 After receiving the response, the intermediate server adds its own NAT connectivity detection candidate address to In the SDP, the response is forwarded to the supporting NAT terminal through the SDP.
S5: 不支持 NAT终端向中间服务器发送第一个关键帧;  S5: The NAT terminal is not supported to send the first key frame to the intermediate server;
由于不支持 NAT终端不知道支持 NAT终端与中间服务器之间的连 通性检测是否完成, 因此可能在完成媒体信息交换(即接收视屏请求并 返回应答消息)后就有可能开始向支持 NAT终端发送媒体。 因此该步骤 的行为, 即向中间服务器发送第一个关键帧, 通过中间服务器转发给支 持 NAT终端。  Since the NAT terminal is not supported, it is not known whether the connectivity detection between the NAT terminal and the intermediate server is completed. Therefore, it may be possible to start sending media to the supporting NAT terminal after completing the media information exchange (ie, receiving the video request and returning the response message). . Therefore, the behavior of this step is to send the first key frame to the intermediate server and forward it to the supporting NAT terminal through the intermediate server.
S6: 进行连通性检测;  S6: performing connectivity detection;
中间服务器与支持 NAT终端之间由于完成了媒体信息交换,得到了 彼此的 NAT连通性检测候选地址, 开始进行连通性检测。  Since the media information exchange is completed between the intermediate server and the supporting NAT terminal, the NAT connectivity detection candidate addresses are obtained, and connectivity detection is started.
S7: 可能丟弃第一个关键帧;  S7: The first key frame may be discarded;
由于中间服务器与支持 NAT终端之间的 NAT连通性检测尚未完成, 因此可能丟弃不支持 NAT终端的第一个关键帧。  Since the NAT connectivity check between the intermediate server and the supporting NAT terminal has not been completed, the first key frame that does not support the NAT terminal may be discarded.
S8: 连通性检测完成;  S8: The connectivity detection is completed;
中间服务器与支持 NAT终端的连通性检测完成。  The connectivity detection between the intermediate server and the supporting NAT terminal is completed.
S9: 支持 NAT终端发送第一个关键帧;  S9: Supporting the NAT terminal to send the first key frame;
在连通性检测完成后,支持 NAT终端开始通过中间服务器向不支持 NAT终端发送视频, 即发送第一个关键帧。  After the connectivity detection is completed, the supporting NAT terminal starts to send video to the unsupported NAT terminal through the intermediate server, that is, the first key frame is sent.
S10: 中间服务器将来自支持 NAT终端的第一个关键帧发给不支持 NAT终端, 不支持 NAT终端显示支持 NAT终端发送的视频正常;  S10: The intermediate server sends the first key frame from the supporting NAT terminal to the unsupported NAT terminal, and does not support the NAT terminal to display that the video supported by the NAT terminal is normal;
中间服务器将支持 NAT 终端发来的关键帧转发给对端即不支持 NAT终端, 不支持 NAT终端收到该关键帧后, 可以正常解析后续的 P 帧。 不支持 NAT终端显示支持 NAT终端发送的视频正常。  The intermediate server forwards the key frames sent by the NAT terminal to the peer end, that is, does not support the NAT terminal, and does not support the NAT terminal to correctly parse the subsequent P frames after receiving the key frame. NAT terminal display is not supported. The video sent by the NAT terminal is normal.
S11 : 支持 NAT终端发现 NAT检测完成后,在媒体层面主动向不支 持 NAT终端发送一个关键帧请求消息;  S11: Supporting NAT terminal discovery After the NAT detection is completed, the UE actively sends a key frame request message to the unsupported NAT terminal at the media level;
支持 NAT终端发现 NAT检测完成后, 在媒体层面主动发送一个关 键帧请求 RTCP消息, 通过中间服务器转发给不支持 NAT终端。  Supporting NAT terminal discovery After NAT detection is completed, a critical frame request RTCP message is actively sent at the media level, and is forwarded to the unsupported NAT terminal through the intermediate server.
需要说明的是,支持终端发现 NAT检测完成后,也可以在信令层面 主动发送一个关键帧请求消息如 SIP的 INFO消息, 通过中间服务器转 发给不支持 NAT终端。 It should be noted that after the terminal detects that the NAT detection is completed, it can also actively send a key frame request message, such as a SIP INFO message, at the signaling level, and then transit through the intermediate server. Issued to not support NAT terminals.
S12: 中间服务器将关键帧请求消息转发给不支持 NAT终端; 中间服务器收到通过媒体层面或信令层面的关键帧请求消息后, 将 关键帧请求消息转发给不支持 NAT终端。  S12: The intermediate server forwards the key frame request message to the unsupported NAT terminal; after receiving the key frame request message through the media layer or the signaling layer, the intermediate server forwards the key frame request message to the unsupported NAT terminal.
S13: 不支持 NAT终端收到关键帧请求后, 发送第二个关键帧到中 间服务器;  S13: The NAT terminal is not supported to send the second key frame to the intermediate server after receiving the key frame request;
不支持 NAT收到关键帧请求后,需要主动发送一个关键帧即第二个 关键帧到中间服务器, 通过中间服务器转发给支持 NAT终端。  After receiving the key frame request, the NAT needs to send a key frame, that is, the second key frame to the intermediate server, and forward it to the supporting NAT terminal through the intermediate server.
S14: 中间服务器收到第二个关键帧后, 转发给支持 NAT终端, 支 持 NAT终端显示对端视频正常。  S14: After receiving the second key frame, the intermediate server forwards to the supporting NAT terminal, and supports the NAT terminal to display that the peer video is normal.
中间服务器收到不支持 NAT终端发送来的第二个关键帧后,转发到 支持 NAT终端, 支持 NAT终端收到该第二个关键帧后, 可以正常解析 后续的 P帧, 显示对端视频正常。  After receiving the second key frame sent by the NAT terminal, the intermediate server forwards the packet to the supporting NAT terminal. After receiving the second key frame, the NAT server can normally parse the subsequent P frame to display the normal video of the peer end. .
需要说明的是, 本实施方式的发送关键帧请求的执行步骤也可以由 中间服务器主动发起。即中间服务器在与支持 NAT终端完成连通性检测 完成后 ,可以在媒体层面或信令层面主动向不支持 NAT终端发送一个关 键帧请求消息, 比如通过媒体层面发送一个关键帧请求 RTCP消息, 或 通过信令层面发送一个关键帧请求消息如 SIP的 INFO消息, 对于该步 骤之前的步骤以及该步骤之后的执行步骤跟本实施方式的实现过程一 样, 本申请不——进行举例说明。  It should be noted that the execution step of the transmission key frame request in this embodiment may also be initiated by the intermediate server. That is, after completing the connectivity check with the supporting NAT terminal, the intermediate server can actively send a key frame request message to the unsupported NAT terminal at the media level or the signaling level, for example, sending a key frame request RTCP message through the media layer, or passing The signaling layer sends a key frame request message, such as an INFO message of the SIP. The steps before the step and the steps after the step are the same as the implementation process of the embodiment.
请参阅图 6, 图 6是本申请支持 NAT的终端一个实施方式的结构示 务器进行视频呼叫, 支持 NAT的终端 100包括请求模块 11和接收模块 12, 其中:  Referring to FIG. 6, FIG. 6 is a structural caller of an embodiment of the NAT-enabled terminal of the present application for making a video call. The NAT-enabled terminal 100 includes a requesting module 11 and a receiving module 12, where:
请求模块 11用于在支持 NAT的终端与中间服务器间的 NAT连通性 检测完成时, 向不支持 NAT的终端发送关键帧请求;  The requesting module 11 is configured to send a key frame request to a terminal that does not support NAT when the NAT connectivity check between the terminal supporting the NAT and the intermediate server is completed;
支持 NAT的终端在中间服务器返回不支持 NAT的终端的请求应答 消息后,得知中间服务器的 NAT连通性候选地址而开始与中间服务器进 行连通性检测。 在检测完成时, 通过请求模块 11主动向不支持 NAT的 终端发送关键帧请求, 以避免关键帧丟失而导致长时间无法正常显示不 支持 NAT的终端发来的视频图像。 After the intermediate server returns the request response message of the terminal that does not support NAT, the NAT-enabled terminal learns the NAT connectivity candidate address of the intermediate server and starts connectivity detection with the intermediate server. When the detection is completed, the request module 11 actively sends an unsupported NAT. The terminal sends a key frame request to avoid the loss of the key frame, which may cause the video image sent by the terminal that does not support NAT to be displayed normally for a long time.
实际应用过程中, 请求模块 11 可以通过媒体层面或信令层面发出 关键帧请求, 并通过中间服务器转发给不支持 NAT的终端。  In the actual application process, the requesting module 11 may issue a key frame request through the media layer or the signaling layer, and forward it to the terminal that does not support NAT through the intermediate server.
接收模块 12用于接收不支持 NAT的终端响应关键帧请求而返回的 关键帧, 解析后续的差别帧而正常显示不支持 NAT的终端发来的视频。  The receiving module 12 is configured to receive a key frame returned by the terminal that does not support the NAT in response to the key frame request, parse the subsequent difference frame, and normally display the video sent by the terminal that does not support the NAT.
不支持 NAT的终端接收到关键帧请求后, 向支持 NAT的终端返回 请求应答消息,请求应答消息中携带请求的关键帧。不支持 NAT的终端 将请求应答消息返回到中间服务器, 由中间服务器转发给接收模块 12。  After receiving the key frame request, the terminal that does not support the NAT returns a request response message to the terminal supporting the NAT, and the request response message carries the requested key frame. A terminal that does not support NAT returns a request response message to the intermediate server, which is forwarded to the receiving module 12 by the intermediate server.
接收模块 12接收返回的关键帧, 可以正常解析后续的 P帧, 显示 不支持 NAT的终端发来的视频正常。  The receiving module 12 receives the returned key frame, and can correctly parse the subsequent P frame, and display that the video sent by the terminal that does not support NAT is normal.
其中, 请求模块 11还用于通过中间服务器向不支持 NAT的终端发 出视频请求,视频请求携带视频编解码信息以及支持 NAT的终端的 NAT 连通性检测候选地址;  The requesting module 11 is further configured to send a video request to the terminal that does not support the NAT through the intermediate server, where the video request carries the video codec information and the NAT connectivity detection candidate address of the terminal supporting the NAT;
请求模块 11发起视频请求, 携带视频编解码信息以及自身 NAT连 通性检测候选地址在 SDP中, 中间服务器收到携带了 NAT连通性检测 候选地址的视频请求后, 去掉视频请求中的 NAT连通性检测候选地址 , 然后将视频请求发送给不支持 NAT的终端。  The requesting module 11 initiates a video request, and carries the video codec information and the self-NAT connectivity detection candidate address in the SDP. After receiving the video request carrying the NAT connectivity detection candidate address, the intermediate server removes the NAT connectivity detection in the video request. The candidate address is then sent to the terminal that does not support NAT.
不支持 NAT的终端发送没有携带 NAT连通性检测候选地址的请求 应答消息给中间服务器, 中间服务器收到请求应答消息后, 添加自身的 NAT连通性检测候选地址信息到请求应答消息后,将请求应答消息转发 给接收模块 12。  The terminal that does not support the NAT sends a request response message that does not carry the NAT connectivity detection candidate address to the intermediate server. After receiving the request response message, the intermediate server adds its own NAT connectivity detection candidate address information to the request response message, and then requests the response. The message is forwarded to the receiving module 12.
接收模块 12还用于接收携带中间服务器的网络地址转换连通性检 测候选地址的请求应答消息, 开始与中间服务器进行网络地址转换连通 性检测。  The receiving module 12 is further configured to receive a request response message carrying a network address translation connectivity detection candidate address of the intermediate server, and start network address translation connectivity detection with the intermediate server.
接收模块 12接收通过中间服务器转发的请求应答消息, 完成了媒 体信息交换,得到了彼此的 NAT连通性检测候选地址,开始与中间服务 器进行 NAT连通性检测。  The receiving module 12 receives the request response message forwarded by the intermediate server, completes the media information exchange, obtains the NAT connectivity detection candidate addresses of each other, and starts NAT connectivity detection with the intermediate server.
请参阅图 7, 图 7是本申请服务器一个实施方式的结构示意图, 支 呼叫, 本实施方式的服务器 200包括请求模块 21和转发模块 22, 其中: 请求模块 21用于在支持 NAT的终端与服务器间的网络地址转换连 通性检测完成时, 向不支持 NAT的终端发送关键帧请求; Please refer to FIG. 7. FIG. 7 is a schematic structural diagram of an embodiment of a server according to the present application. The server 200 of the present embodiment includes a requesting module 21 and a forwarding module 22, where: the requesting module 21 is configured to send a key to a terminal that does not support NAT when the network address translation connectivity detection between the terminal supporting the NAT and the server is completed. Frame request
支持 NAT的终端在服务器返回不支持 NAT终端的请求应答消息后, 得知中间服务器的 NAT 连通性候选地址而开始与服务器进行连通性检 测。 在检测完成时, 请求模块 21主动向不支持 NAT的终端发送关键帧 二终端发来的视频图像。  The NAT-enabled terminal starts the connectivity check with the server after the server returns a request response message that does not support the NAT terminal, knows the NAT connectivity candidate address of the intermediate server. When the detection is completed, the requesting module 21 actively sends the video image sent by the key frame to the terminal that does not support the NAT.
实际应用过程中, 请求模块 21 可以通过媒体层面或信令层面向不 支持 NAT的终端发出关键帧请求。  In the actual application process, the requesting module 21 may issue a key frame request to a terminal that does not support NAT through a media layer or a signaling layer.
转发模块 22用于接收不支持 NAT的终端响应关键帧请求而返回的 关键帧, 并将关键帧转发给支持 NAT的终端, 以使支持 NAT的终端能 够正常显示不支持 NAT的终端发来的视频。  The forwarding module 22 is configured to receive a key frame returned by the terminal that does not support the NAT in response to the key frame request, and forward the key frame to the terminal that supports the NAT, so that the terminal supporting the NAT can normally display the video sent by the terminal that does not support the NAT. .
不支持 NAT的终端接收到关键帧请求后, 向转发模块 22返回请求 应答消息, 请求应答消息中携带中间服务器所请求的关键帧。 转发模块 22将关键帧转发给支持 NAT的终端。  After receiving the key frame request, the terminal that does not support the NAT returns a request response message to the forwarding module 22, where the request response message carries the key frame requested by the intermediate server. The forwarding module 22 forwards the key frames to the terminal that supports the NAT.
支持 NAT的终端接收返回的关键帧, 可以正常解析后续的 P帧, 显示不支持 NAT的终端发来的视频正常。  The terminal that supports the NAT receives the returned key frame, and can correctly parse the subsequent P frame, and display the video sent by the terminal that does not support NAT.
其中, 转发模块 22用于接收支持 NAT的终端的视频请求, 视频请 求携带视频编解码信息以及支持 NAT的终端的 NAT连通性检测候选地 址,删除视频请求中的 NAT连通性检测候选地址后将视频请求转发给不 支持 NAT的终端。  The forwarding module 22 is configured to receive a video request of the terminal that supports the NAT, and the video request carries the video codec information and the NAT connectivity detection candidate address of the terminal that supports the NAT, and deletes the NAT connectivity detection candidate address in the video request. Request to forward to a terminal that does not support NAT.
支持 NAT的终端发起视频请求,携带视频编解码信息以及自身 NAT 连通性检测候选地址在 SDP中,转发模块 22接收到来自支持 NAT的终 端的携带 NAT 连通性检测候选地址的视频请求后, 去掉视频请求中的 NAT连通性检测候选地址, 然后将视频请求发送给不支持 NAT的终端。  The NAT-enabled terminal initiates a video request, carries the video codec information, and the self-NAT connectivity detection candidate address is in the SDP, and the forwarding module 22 receives the video request from the NAT-enabled terminal that carries the NAT connectivity detection candidate address, and then removes the video. The NAT connectivity in the request detects the candidate address, and then sends the video request to the terminal that does not support NAT.
转发模块 22接收来自不支持 NAT的终端的请求应答消息, 添加服 务器的 NAT连通性检测候选地址到请求应答消息中,然后将请求应答消 息转发给支持 NAT的终端。 The forwarding module 22 receives the request response message from the terminal that does not support the NAT, adds the NAT connectivity detection candidate address of the server to the request response message, and then cancels the request response. The information is forwarded to the terminal that supports NAT.
不支持 NAT的终端接收到视频请求后, 发送没有携带 NAT连通性 检测候选地址的请求应答消息给服务器的转发模块 22, 转发模块 22接 收到请求应答消息后,添加服务器的 NAT连通性检测候选地址信息到请 求应答消息后, 将请求应答消息转发给支持 NAT的终端。  After receiving the video request, the terminal that does not support the NAT sends a request response message that does not carry the NAT connectivity check candidate address to the forwarding module 22 of the server. After receiving the request response message, the forwarding module 22 adds the NAT connectivity detection candidate address of the server. After the message reaches the request response message, the request response message is forwarded to the terminal supporting the NAT.
支持 NAT的终端接收通过转发模块 22转发的请求应答消息, 完成 了媒体信息交换,得到了彼此的 NAT连通性检测候选地址,开始与服务 器进行 NAT连通性检测。  The NAT-enabled terminal receives the request response message forwarded by the forwarding module 22, completes the media information exchange, obtains the NAT connectivity detection candidate addresses of each other, and starts NAT connectivity detection with the server.
请参阅图 8, 图 8是本申请支持 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从网络接收数据或者向网络发送数据, 使得:  Please refer to FIG. 8. FIG. 8 is a structural server of another embodiment of the NAT-enabled terminal of the present application for making a video call. The terminal 300 supporting the NAT in this embodiment includes a processor 31, a receiver 32, a transmitter 33, and a random access memory. 34. Read only memory 35, bus 36, and network interface unit 37. The processor 31 is coupled to the receiver 32, the transmitter 33, the random access memory 34, the read only memory 35, and the network interface unit 37 via a bus 36, respectively. When the terminal 300 supporting NAT is required to be run, the booting system in the basic input/output system or the embedded system in the read-only memory 34 is booted, and the terminal 300 supporting the NAT is booted into a normal running state. After the NAT-enabled terminal 300 enters a normal operating state, the application and operating system are run in the random access memory 33, and data is received from the network or transmitted to the network through the network interface unit 36, such that:
处理器 31在支持 NAT的终端与中间服务器的 NAT连通性检测完成 时, 向不支持 NAT的终端发送关键帧请求, 并接收不支持 NAT的终端 响应关键帧请求而返回的关键帧, 正常解析后续的 P 帧, 显示不支持 NAT的终端发来的视频图像正常。  When the NAT connectivity detection of the terminal supporting the NAT and the intermediate server is completed, the processor 31 sends a key frame request to the terminal that does not support the NAT, and receives the key frame returned by the terminal that does not support the NAT in response to the key frame request, and the subsequent analysis is performed normally. The P frame shows that the video image sent by the terminal that does not support NAT is normal.
另一方面, 处理器 31还用于通过中间服务器向不支持 NAT的终端 发送视频请求,所述视频请求携带视频编解码信息以及支持 NAT的终端 的 NAT连通性检测候选地址,并接收返回的视频请求应答消息而使支持 本实施方式中, 处理器 31可能是一个中央处理器 CPU, 或者是特 定集成电路 ASIC ( Application Specific Integrated Circuit ), 或者是被配 置成实施本申请实施方式的一个或多个集成电路。 On the other hand, the processor 31 is further configured to send a video request to the terminal that does not support the NAT through the intermediate server, where the video request carries the video codec information and the NAT connectivity detection candidate address of the terminal supporting the NAT, and receives the returned video. Requesting a response message to support the present embodiment, the processor 31 may be a central processing unit CPU, or An Application Specific Integrated Circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present application.
发送器 33在 NAT连通性检测完成后,发送视频数据到中间服务器, 中间服务器将视频数据转发给不支持 NAT的终端;  After the NAT connectivity detection is completed, the transmitter 33 sends the video data to the intermediate server, and the intermediate server forwards the video data to the terminal that does not support the NAT;
接收器 32接收不支持 NAT的终端通过中间服务器转发过来的视频 数据。  The receiver 32 receives the video data forwarded by the terminal that does not support the NAT through the intermediate server.
在本申请上述提供的支持 NAT 的终端以及服务器的实施方式的基 础上, 本申请进一步提供一种网络系统, 该网络系统包括上述任一实施 方式所述的支持 NAT的终端以及上述任一实施方式所述的服务器,还包 括不支持 NAT的终端。支持 NAT的终端通过服务器与不支持 NAT的终 端之间进行视频呼叫并实现视频数据的交互传输。  The present application further provides a network system, including the terminal supporting NAT according to any one of the foregoing embodiments, and any of the foregoing embodiments, on the basis of the foregoing embodiments of the NAT-enabled terminal and the server provided by the present application. The server further includes a terminal that does not support NAT. A terminal that supports NAT performs a video call between a server and a terminal that does not support NAT, and implements interactive transmission of video data.
上述实施方式, 本申请不对称组网系统视频呼叫方法及终端、 服务 器和系统, 在支持 NAT的终端与中间服务器之间的 NAT连通性检测完 成时,主动向不支持的 NAT终端发送关键帧请求,从而接收不支持 NAT 的终端的关键帧而实现视频正常解码。 通过这样的方式, 有效缩短支持 NAT终端在接收视频请求应答消息后无法正常显示对端视频的时间,给 用户更好的业务体验。  In the foregoing embodiment, the video calling method, the terminal, the server, and the system of the asymmetric networking system of the present application actively send a key frame request to an unsupported NAT terminal when the NAT connectivity detection between the terminal supporting the NAT and the intermediate server is completed. Therefore, the key frame of the terminal that does not support NAT is received to achieve normal video decoding. In this way, the time for the NAT terminal to display the video request response message cannot be displayed normally after receiving the video request response message, thereby giving the user a better service experience.
在本申请所提供的几个实施例中, 应该理解到, 所揭露的系统, 装 置和方法, 可以通过其它的方式实现。 例如, 以上所描述的装置实施例 仅仅是示意性的, 例如, 所述模块或单元的划分, 仅仅为一种逻辑功能 划分, 实际实现时可以有另外的划分方式, 例如多个单元或组件可以结 合或者可以集成到另一个系统, 或一些特征可以忽略, 或不执行。 另一 点, 所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过 一些接口, 装置或单元的间接耦合或通信连接, 可以是电性, 机械或其 它的形式。 的, 作为单元显示的部件可以是或者也可以不是物理单元, 即可以位于 一个地方, 或者也可以分布到多个网络单元上。 可以根据实际的需要选 择其中的部分或者全部单元来实现本实施例方案的目的。 另外, 在本申请各个实施例中的各功能单元可以集成在一个处理单 元中, 也可以是各个单元单独物理存在, 也可以两个或两个以上单元集 成在一个单元中。 上述集成的单元既可以釆用硬件的形式实现, 也可以 釆用软件功能单元的形式实现。 In the several embodiments provided by the present application, it should be understood that the disclosed system, apparatus, and method may be implemented in other manners. For example, the device embodiments described above are merely illustrative. For example, the division of the modules or units is only a logical function division. In actual implementation, there may be another division manner, for example, multiple units or components may be used. Combined or can be integrated into another system, or some features can be ignored, or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form. The components displayed as the unit may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment. In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
所述集成的单元如果以软件功能单元的形式实现并作为独立的产 品销售或使用时, 可以存储在一个计算机可读取存储介质中。 基于这样 的理解, 本申请的技术方案本质上或者说对现有技术做出贡献的部分或 者该技术方案的全部或部分可以以软件产品的形式体现出来, 该计算机 软件产品存储在一个存储介质中, 包括若干指令用以使得一台计算机设 备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor ) 执行本申请各个实施例所述方法的全部或部分步骤。 而前述的存储介质 包括: U盘、 移动硬盘、 只读存储器(ROM, Read-Only Memory ), 随 机存取存储器(RAM, Random Access Memory )、 磁碟或者光盘等各种 可以存储程序代码的介质。  The integrated unit, if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application, in essence or the contribution to the prior art, or all or part of the technical solution may be embodied in the form of a software product stored in a storage medium. The instructions include a plurality of instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) or a processor to perform all or part of the steps of the methods described in various embodiments of the present application. The foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and the like, which can store program codes. .
以上所述仅为本申请的实施例, 并非因此限制本申请的专利范围, 凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换, 或 直接或间接运用在其他相关的技术领域, 均同理包括在本申请的专利保 护范围内。  The above is only the embodiment of the present application, and thus does not limit the scope of the patent application, and the equivalent structure or equivalent process transformation made by using the specification and the drawings of the present application, or directly or indirectly applied to other related technologies. The scope of the invention is included in the scope of patent protection of this application.

Claims

权 利 要 求 Rights request
1.一种不对称组网系统视频呼叫方法, 所述不对称组网系统包括支 持网络地址转换的第一终端、 中间服务器以及不支持网络地址转换的第 二终端, 其特征在于, 所述方法包括:  An asymmetric network system video calling method, the asymmetric networking system comprising a first terminal supporting network address translation, an intermediate server, and a second terminal not supporting network address translation, wherein the method Includes:
在所述第一终端与所述中间服务器间的网络地址转换连通性检测 完成时, 所述第一终端向所述第二终端发送关键帧请求;  When the network address translation connectivity check between the first terminal and the intermediate server is completed, the first terminal sends a key frame request to the second terminal;
所述第一终端接收所述第二终端响应所述关键帧请求而返回的关 键帧, 解析后续的差别帧而正常显示所述第二终端发来的视频。  The first terminal receives the key frame returned by the second terminal in response to the key frame request, parses the subsequent difference frame, and normally displays the video sent by the second terminal.
2.根据权利要求 1所述的方法, 其特征在于,  2. The method of claim 1 wherein
所述向所述第二终端发送关键帧请求的步骤包括: 所述第一终端在 媒体层面或信令层面发出关键帧请求, 并通过所述中间服务器转发给所 述第二终端。  The step of sending a key frame request to the second terminal includes: the first terminal sends a key frame request at a media level or a signaling level, and forwards the request to the second terminal by using the intermediate server.
3.根据权利要求 1所述的方法, 其特征在于,  3. The method of claim 1 wherein
所述在所述第一终端与所述中间服务器间的网络地址转换连通性 检测完成之前, 所述方法还包括:  The method further includes: before the network address translation connectivity detection between the first terminal and the intermediate server is completed, the method further includes:
所述第一终端通过所述中间服务器向所述第二终端发出视频请求, 所述视频请求携带视频编解码信息以及所述第一终端的网络地址转换 连通性检测候选地址;  The first terminal sends a video request to the second terminal by using the intermediate server, where the video request carries video codec information and a network address translation connectivity detection candidate address of the first terminal;
所述第一终端接收携带所述中间服务器的网络地址转换连通性检 测候选地址的请求应答消息, 开始与所述中间服务器进行网络地址转换 连通性检测。  The first terminal receives a request response message carrying a network address translation connectivity detection candidate address of the intermediate server, and starts network address translation connectivity detection with the intermediate server.
4.一种不对称组网系统视频呼叫方法, 所述不对称组网系统包括支 持网络地址转换的第一终端、 中间服务器以及不支持网络地址转换的第 二终端, 其特征在于, 所述方法包括:  A video calling method for an asymmetric networking system, the asymmetric networking system comprising a first terminal supporting network address translation, an intermediate server, and a second terminal not supporting network address translation, wherein the method Includes:
在所述第一终端与所述中间服务器间的网络地址转换连通性检测 完成时, 所述中间服务器向所述第二终端发送关键帧请求;  After the network address translation connectivity detection between the first terminal and the intermediate server is completed, the intermediate server sends a key frame request to the second terminal;
所述中间服务器接收所述第二终端响应所述关键帧请求而返回的 关键帧, 并将所述关键帧转发给所述第一终端, 以使所述第一终端能够 正常显示第二终端发来的视频。 The intermediate server receives the key frame returned by the second terminal in response to the key frame request, and forwards the key frame to the first terminal, so that the first terminal can normally display the second terminal The video that came.
5.根据权利要求 4所述的方法, 其特征在于, 5. The method of claim 4, wherein
所述中间服务器向所述第二终端发送关键帧请求的步骤包括: 所述 中间服务器在媒体层面或信令层面向所述第二终端发送关键帧请求。  The step of the intermediate server sending a key frame request to the second terminal includes: the intermediate server sending a key frame request to the second terminal at a media level or a signaling layer.
6.根据权利要求 4所述的方法, 其特征在于,  6. The method of claim 4, wherein
所述在所述第一终端与所述中间服务器间的网络地址转换连通性 检测完成之前, 还包括:  Before the network address translation connectivity check between the first terminal and the intermediate server is completed, the method further includes:
所述中间服务器接收所述第一终端的视频请求, 所述视频请求携带 视频编解码信息以及所述第一终端的网络地址转换连通性检测候选地 址;  The intermediate server receives a video request of the first terminal, where the video request carries video codec information and a network address translation connectivity detection candidate address of the first terminal;
所述中间服务器删除所述视频请求中的网络地址转换连通性检测 候选地址后将所述视频请求转发给所述第二终端。  And deleting, by the intermediate server, the network address translation connectivity detection candidate address in the video request, and forwarding the video request to the second terminal.
7.根据权利要求 6所述的方法, 其特征在于,  7. The method of claim 6 wherein:
所述将所述视频请求转发给所述第二终端的步骤之后, 还包括: 所述中间服务器接收来自所述第二终端的请求应答消息, 添加自身 的网络地址转换连通性检测候选地址到所述请求应答消息中, 然后将请 求应答消息转发给所述第一终端。  After the step of forwarding the video request to the second terminal, the method further includes: the intermediate server receiving a request response message from the second terminal, adding its own network address translation connectivity detection candidate address to the In the request response message, the request response message is then forwarded to the first terminal.
8.—种支持网络地址转换的终端, 其特征在于, 所述支持网络地址 转换的终端与不支持网络地址转换的终端通过中间服务器进行视频呼 叫, 所述支持网络地址转换的终端包括请求模块和接收模块, 其中: 所述请求模块用于在所述支持网络地址转换的终端与所述中间服 务器间的网络地址转换连通性检测完成时, 向所述不支持网络地址转换 的终端发送关键帧请求;  8. A terminal for supporting network address translation, wherein: the terminal supporting the network address translation and the terminal not supporting the network address translation perform a video call through the intermediate server, where the terminal supporting the network address translation includes a request module and a receiving module, where: the requesting module is configured to send a key frame request to the terminal that does not support network address translation when the network address translation connectivity detection between the terminal supporting the network address translation and the intermediate server is completed ;
所述接收模块用于接收所述不支持网络地址转换的终端响应所述 关键帧请求而返回的关键帧, 解析后续的差别帧而正常显示所述不支持 网络地址转换的终端发来的视频。  The receiving module is configured to receive a key frame returned by the terminal that does not support network address translation in response to the key frame request, parse the subsequent difference frame, and normally display the video sent by the terminal that does not support network address translation.
9.根据权利要求 8所述的终端, 其特征在于,  9. The terminal of claim 8 wherein:
所述请求模块用于在媒体层面或信令层面发出关键帧请求, 并通过 所述中间服务器转发给所述不支持网络地址转换的终端。  The requesting module is configured to issue a key frame request at a media level or a signaling level, and forwarded by the intermediate server to the terminal that does not support network address translation.
10.根据权利要求 8所述的终端, 其特征在于, 所述请求模块用于通过所述中间服务器向所述不支持网络地址转 换的终端发出视频请求, 所述视频请求携带视频编解码信息以及所述支 持网络地址转换的终端的网络地址转换连通性检测候选地址; 10. The terminal of claim 8 wherein: The requesting module is configured to send a video request to the terminal that does not support network address translation by using the intermediate server, where the video request carries video codec information and network address translation connectivity detection of the terminal that supports network address translation Candidate address
所述接收模块用于接收携带所述中间服务器的网络地址转换连通 性检测候选地址的请求应答消息, 开始与所述中间服务器进行网络地址 转换连通性检测。  The receiving module is configured to receive a request response message carrying a network address translation connectivity detection candidate address of the intermediate server, and start network address translation connectivity detection with the intermediate server.
11.一种服务器, 其特征在于, 支持网络地址转换的终端与不支持网 络地址转换的终端通过所述服务器进行视频呼叫, 所述服务器包括请求 模块和转发模块, 其中:  A server, wherein a terminal that supports network address translation and a terminal that does not support network address translation make a video call through the server, the server includes a request module and a forwarding module, where:
所述请求模块用于在所述支持网络地址转换的终端与所述服务器 间的网络地址转换连通性检测完成时, 向所述不支持网络地址转换的终 端发送关键帧请求;  The requesting module is configured to send a key frame request to the terminal that does not support network address translation when the network address translation connectivity detection between the terminal supporting the network address translation and the server is completed;
所述转发模块用于接收所述不支持网络地址转换的终端响应所述 关键帧请求而返回的关键帧, 并将所述关键帧转发给所述支持网络地址 转换的终端, 以使所述支持网络地址转换的终端能够正常显示所述不支 持网络地址转换的终端发来的视频。  The forwarding module is configured to receive a key frame returned by the terminal that does not support network address translation in response to the key frame request, and forward the key frame to the terminal that supports network address translation, so that the support is supported. The terminal of the network address translation can normally display the video sent by the terminal that does not support network address translation.
12.根据权利要求 11所述的服务器, 其特征在于,  The server according to claim 11, wherein
所述请求模块用于在媒体层面或信令层面向所述不支持网络地址 转换的终端发送关键帧请求。  The requesting module is configured to send a key frame request to the terminal that does not support network address translation at a media level or a signaling layer.
13.根据权利要求 11所述的服务器, 其特征在于,  13. The server of claim 11 wherein:
所述转发模块用于接收所述支持网络地址转换的终端的视频请求, 所述视频请求携带视频编解码信息以及所述支持网络地址转换的终端 的网络地址转换连通性检测候选地址, 删除所述视频请求中的网络地址 转换连通性检测候选地址后将所述视频请求转发给所述不支持网络地 址转换的终端。  The forwarding module is configured to receive a video request of the terminal that supports network address translation, where the video request carries video codec information and a network address translation connectivity detection candidate address of the terminal that supports network address translation, and deletes the After the network address translation connectivity detection candidate address in the video request, the video request is forwarded to the terminal that does not support network address translation.
14.根据权利要求 13所述的服务器, 其特征在于,  14. The server of claim 13 wherein:
所述转发模块用于接收来自所述不支持网络地址转换的终端的请 求应答消息, 添加所述服务器的网络地址转换连通性检测候选地址到所 述请求应答消息中, 然后将请求应答消息转发给所述支持网络地址转换 的终端。 The forwarding module is configured to receive a request response message from the terminal that does not support network address translation, add a network address translation connectivity detection candidate address of the server to the request response message, and then forward the request response message to the The support network address translation Terminal.
15.—种网络系统, 其特征在于, 所述网络系统包括权利要求 8-10 任一项所述的支持网络地址转换的终端以及权利要求 11-14任一项所述 的服务器和不支持网络地址转换的终端。  A network system, comprising: the network address translation enabled terminal according to any one of claims 8-10, and the server and unsupported network according to any one of claims 11-14. The terminal for address translation.
PCT/CN2014/086281 2013-09-18 2014-09-11 Video calling method for asymmetric networking system, terminal, server and system WO2015039579A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310430390.1 2013-09-18
CN201310430390.1A CN104469537B (en) 2013-09-18 2013-09-18 Asymmetric group network system video call method and terminal, server and system

Publications (1)

Publication Number Publication Date
WO2015039579A1 true WO2015039579A1 (en) 2015-03-26

Family

ID=52688234

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/086281 WO2015039579A1 (en) 2013-09-18 2014-09-11 Video calling method for asymmetric networking system, terminal, server and system

Country Status (2)

Country Link
CN (1) CN104469537B (en)
WO (1) WO2015039579A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113452947B (en) * 2021-05-19 2023-01-24 深圳市捷视飞通科技股份有限公司 Key frame acquisition method and device, computer equipment and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1717935A (en) * 2002-11-27 2006-01-04 皇家飞利浦电子股份有限公司 I-picture insertion on request
CN101651815A (en) * 2009-09-01 2010-02-17 中兴通讯股份有限公司 Visual telephone and method for enhancing video quality by utilizing same
CN101998101A (en) * 2009-08-31 2011-03-30 中兴通讯股份有限公司 Video data receiving and transmitting systems and video data processing method for video telephone
CN102739815A (en) * 2011-06-03 2012-10-17 北京天地互连信息技术有限公司 Method for reducing system time delaying of network address translation of video conference system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1717935A (en) * 2002-11-27 2006-01-04 皇家飞利浦电子股份有限公司 I-picture insertion on request
CN101998101A (en) * 2009-08-31 2011-03-30 中兴通讯股份有限公司 Video data receiving and transmitting systems and video data processing method for video telephone
CN101651815A (en) * 2009-09-01 2010-02-17 中兴通讯股份有限公司 Visual telephone and method for enhancing video quality by utilizing same
CN102739815A (en) * 2011-06-03 2012-10-17 北京天地互连信息技术有限公司 Method for reducing system time delaying of network address translation of video conference system

Also Published As

Publication number Publication date
CN104469537B (en) 2018-04-27
CN104469537A (en) 2015-03-25

Similar Documents

Publication Publication Date Title
US10536490B2 (en) Apparatus and method for communications involving a legacy device
US10250646B2 (en) Method and device for establishing channel
CN107682657B (en) WebRTC-based multi-user voice video call method and system
US10798138B2 (en) Instant calling method, apparatus and system
US20150304364A1 (en) Method, System, and Terminal for Web Real-Time Communication
TWI484804B (en) Data management methods for use in a network system and systems thereof
WO2016107454A1 (en) Turn relay service reuse for nat traversal during media session resumption
WO2014135050A1 (en) Message processing method, device, gateway, set-top box and internet protocol television system
WO2019184262A1 (en) Multi-type media data network address translation traversing method, terminal and system
WO2010020169A1 (en) Media bypass method, system and apparatus
KR20110017372A (en) Support for continuity of single radio voice call communications in a transition to a circuit switched communications network
WO2013170812A1 (en) Transmission method for media data stream and thin client
US11070665B2 (en) Voice over internet protocol processing method and related network device
WO2015039579A1 (en) Video calling method for asymmetric networking system, terminal, server and system
WO2011000291A1 (en) Method, device and system for associating real-time transport protocol (rtp) packets in session initiation protocol (sip) session
US8812694B2 (en) Dialog establishment over a peer-to-peer architecture
WO2023284231A1 (en) Message processing method and message processing system
WO2009121310A1 (en) Method, system and device for selecting a gateway
WO2011120458A2 (en) Method, mobile terminal, device and system for implementing voice services
CN116346988A (en) Method and device for receiving incoming call
WO2014026316A1 (en) Media data transmission method and device
WO2012129913A1 (en) Method and related device for registering sip terminal and service processing
EP2608488B1 (en) Dialog establishment over a peer-to-peer architecture
JP7340835B2 (en) Program, information processing method, and information processing device
WO2023011476A1 (en) Communication method, data channel establishment method, device, and storage medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14846642

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14846642

Country of ref document: EP

Kind code of ref document: A1