WO2016177056A1 - 用于视频会议的数据传输方法、装置及系统 - Google Patents

用于视频会议的数据传输方法、装置及系统 Download PDF

Info

Publication number
WO2016177056A1
WO2016177056A1 PCT/CN2016/075252 CN2016075252W WO2016177056A1 WO 2016177056 A1 WO2016177056 A1 WO 2016177056A1 CN 2016075252 W CN2016075252 W CN 2016075252W WO 2016177056 A1 WO2016177056 A1 WO 2016177056A1
Authority
WO
WIPO (PCT)
Prior art keywords
video conference
processor
media
signaling
target terminal
Prior art date
Application number
PCT/CN2016/075252
Other languages
English (en)
French (fr)
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 WO2016177056A1 publication Critical patent/WO2016177056A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems

Definitions

  • the present invention relates to the field of communications, and in particular to a data transmission method, apparatus, and system for video conferencing.
  • IPv4 addresses and the immature development of IPv6 have led many enterprises, homes and hotels to build IPv4 private networks.
  • the NAT traversal problem will cause the video conference to fail, or there will be no media stream after the conference. The other end will not see the image and cannot hear the sound.
  • the prior art solution to the NAT traversal problem is to deploy a server that supports video conferencing signaling and media NAT traversal.
  • centralized deployment of NAT traversal servers faces problems such as server performance pressure, limited access bandwidth, large initial investment, and poor disaster tolerance.
  • the present invention provides a data transmission method, apparatus, and system for a video conference, so as to at least solve the related art in the related art, by centrally deploying a NAT traversal server to implement NAT traversal of a video conference system, and the operation efficiency of the video conference system is caused. Low and high cost issues.
  • a data transmission method for a video conference comprising: a signaling processor receiving a call request of a video conference, wherein the call request is a request initiated when the source terminal calls the target terminal; After the processor receives the call request, selecting a media processor from the plurality of media processors according to the obtained topological relationship of the plurality of media processors and the status information of the plurality of media processors; the signaling processor The selected media processor notifies the source terminal and the target terminal, wherein the selected media processor is set to forward the code stream of the video conference between the source terminal and the target terminal.
  • the signaling processor notifying the selected media processor to the source terminal and the target terminal includes: the signaling processor forwarding the call request and the identification information of the selected media processor to the target terminal; After the terminal responds to the call request, the signaling processor forwards the identification information to the source terminal.
  • the method before the signaling processor notifies the selected media processor to the source terminal and the target terminal, the method further includes: the signaling processor sends a resource request to the selected media processor; the signaling processor Receiving selected media
  • the indication information sent by the processor is used to indicate that the selected media processor allows the resource to be requested by the resource allocation request.
  • the source terminal is a video conference client
  • the target terminal is a video conference server
  • the source terminal is a video conference server
  • the target terminal is a video conference client
  • the signaling processor selects one of the plurality of media processors according to the acquired topological relationship of the plurality of media processors and the state information of the plurality of media processors.
  • the media processor includes: the signaling processor determines whether the video conference client is located in the private network, where the signaling processor determines that the video conference client is located in the private network, and according to the topological relationship and the status information, the multiple media The media processor is selected in the processor.
  • the method before the signaling processor receives the call request of the video conference, the method further includes: the video conference client acquiring the address information of the multiple signaling processors; the video conference client is from the preset condition One of the signaling processors selects a signaling processor; the video conferencing client registers with the selected signaling processor, wherein the selected signaling processor is set to receive when the video conferencing client calls the video conferencing server A call request, or a call request initiated by a video conferencing server when calling a video conferencing client.
  • the registration of the video conference client to the selected signaling processor includes: the signaling processor receiving the registration message sent by the video conference client; and the signaling processor forwarding the registration message to the video conference server; The signaling processor receives the registration response returned by the video conference server and forwards the registration response to the video conference client.
  • the method further includes: the media processor transmitting the status update information to the plurality of signaling processors according to a preset period.
  • a data transmission method for a video conference comprising: a media processor receiving a resource request sent by a signaling processor, wherein the media processor is receiving the signaling processor After the call request to the video conference, according to the acquired topological relationship of the plurality of media processors and the status information of the plurality of media processors, one of the plurality of media processors is selected, and the call request is a source terminal call.
  • the media processor sends indication information to the signaling processor, the indication information is used to indicate that the media processor allows to allocate the resource request for the requested resource; and the media processor forwards the video conference between the source terminal and the target terminal The code stream, wherein the signaling processor notifies the media processor to the source terminal and the target terminal after receiving the indication information.
  • the method before the media processor forwards the code stream of the video conference between the source terminal and the target terminal, the method further includes: the media processor updating the state information to the signaling processor according to a preset period.
  • the method further includes: the signaling processor forwarding the call request and the identification information of the selected media processor to the target terminal; at the target terminal After responding to the call request, the signaling processor forwards the identification information to the source terminal.
  • a data transmission apparatus for a video conference which is applied to a signaling processor side, the apparatus comprising: a first receiving module, configured to receive a call request of a video conference, wherein The call request is a request initiated by the source terminal when the target terminal is called; the selecting module is configured to select one media from the plurality of media processors according to the acquired topological relationship of the plurality of media processors and the status information of the plurality of media processors a first transmitting module configured to notify the selected media processor to the source terminal and the target terminal, wherein the selected media processor is configured to forward The code stream of the video conference between the source terminal and the target terminal.
  • the first sending module includes: a first sending unit, configured to forward the call request and the selected media processor identification information to the target terminal; and the second sending unit is configured to respond to the call at the target terminal After the request, the signaling processor forwards the identification information to the source terminal.
  • the device further includes: a second sending module, configured to send a resource request to the selected media processor; and a second receiving module configured to receive the indication information sent by the selected media processor, where the indication information is used
  • the media processor indicating the selection allows the resource to be requested by the resource allocation request.
  • the source terminal is a video conference client
  • the target terminal is a video conference server
  • the source terminal is a video conference server
  • the target terminal is a video conference client
  • the selection module includes: a determination unit, which is set to determine the video. Whether the conference client is located in the private network; and the selecting unit is configured to select the media processor from the plurality of media processors according to the topological relationship and the state information when determining that the video conference client is located in the private network.
  • a data transmission apparatus for a video conference applied to a media processor side, the apparatus comprising: a third receiving module configured to receive a resource request sent by a signaling processor
  • the media processor selects, from the plurality of media processors, the signaling processor, after receiving the call request of the video conference, according to the acquired topological relationship of the plurality of media processors and the state information of the plurality of media processors.
  • a media processor the call request is a request initiated by the source terminal when the target terminal is called;
  • the third sending module is configured to send indication information to the signaling processor, where the indication information is used to indicate that the media processor allows the resource request to be allocated.
  • the forwarding module is configured to forward a code stream of the video conference between the source terminal and the target terminal, where the signaling processor notifies the media processor to the source terminal and the target terminal after receiving the indication information.
  • the apparatus further comprises: a status update module configured to update the status information to the signaling processor in accordance with a preset period.
  • a data transmission system for a video conference comprising: at least one signaling processor deployed in one or more cloud servers, configured to receive a call of a video conference After the request, according to the acquired topological relationship of the plurality of media processors and the state information of the media processor, one media processor is selected from the plurality of media processors, and the selected media processor is notified to the source terminal and the target terminal.
  • the call request is a request initiated by the source terminal when the target terminal is called; the at least one media processor is deployed in one or more cloud servers, and is configured to forward the source terminal and the target terminal after being selected by the signaling processor.
  • the stream of video conferencing comprising: at least one signaling processor deployed in one or more cloud servers, configured to receive a call of a video conference After the request, according to the acquired topological relationship of the plurality of media processors and the state information of the media processor, one media processor is selected from the plurality of media processors, and the selected media processor is notified to the source terminal and the target terminal.
  • the call request
  • a call request of a video conference is received by using a signaling processor, wherein the call request is a request initiated when the source terminal calls the target terminal; and the signaling processor is configured according to the acquired topological relationship of the plurality of media processors and the plurality of media.
  • a status information of the processor selecting a media processor from the plurality of media processors; the signaling processor notifying the selected media processor to the source terminal and the target terminal, wherein the selected media processor is configured to forward the source terminal And the code stream of the video conference between the target terminal and the target terminal; the problem of low efficiency and high cost of the video conference system caused by the NAT traversal of the video conference system by centrally deploying the NAT traversal server is solved, thereby achieving the improvement The effect of video conferencing system data transmission efficiency and disaster tolerance fault tolerance.
  • FIG. 1 is a flowchart of a data transmission method for a video conference according to an embodiment of the present invention
  • FIG. 2 is a flow chart of another data transmission method for a video conference according to an embodiment of the present invention.
  • FIG. 3 is a flowchart of an optional video conference client registration to a signaling processor according to an embodiment of the present invention
  • FIG. 4 is a flow diagram of an optional signaling processor selection media processor in accordance with an embodiment of the present invention.
  • FIG. 5 is a flowchart of an optional video conference calling client initiating a video conference according to an embodiment of the present invention
  • FIG. 6 is a flowchart of an optional call video conference called client joining a video conference according to an embodiment of the present invention
  • FIG. 7 is a structural block diagram of a data transmission apparatus for a video conference according to an embodiment of the present invention.
  • FIG. 8 is a structural block diagram of an optional data transmission apparatus for video conference according to an embodiment of the present invention.
  • FIG. 9 is a structural block diagram of another data transmission apparatus for video conference according to an embodiment of the present invention.
  • FIG. 10 is a structural block diagram of an optional data transmission apparatus for video conference according to an embodiment of the present invention.
  • FIG. 11 is a schematic structural diagram of a data transmission system for a video conference according to an embodiment of the present invention.
  • FIG. 12 is a schematic diagram of an interaction flow of a data transmission system for a video conference according to an alternative embodiment of the present invention.
  • FIG. 1 is a flowchart of a data transmission method for a video conference according to an embodiment of the present invention. As shown in FIG. 1, the flow includes the following steps. :
  • Step S102 The signaling processor receives a call request of a video conference, where the call request is a request initiated when the source terminal calls the target terminal.
  • the signaling processor may be deployed on the cloud server according to the area, which is also referred to as a signaling server in the present invention.
  • the signaling processor establishes a connection with the source terminal and the target terminal through the network.
  • the signaling processor can be configured to forward signaling between the source terminal and the target terminal.
  • the source terminal is a terminal that sends a call request for a video conference, and the source terminal may be a video conference client, configured to send the call request to the video conference server when the conference is initiated, or may be a video.
  • the conference server is configured to send the call request to the video conference client when the conference video conference client joins the conference.
  • the target terminal is the requested party or the receiver of the video conference request.
  • the target terminal is a video conference client
  • the target terminal is a video conference server
  • the target terminal is a video conference client.
  • the call request may be a message of the H232 and SIP protocols.
  • Step S104 after receiving the call request, the signaling processor selects one media processor from the plurality of media processors according to the acquired topological relationship of the plurality of media processors and the state information of the plurality of media processors;
  • the media processor may also be deployed on the cloud server according to the area, which is referred to as a media server in the present invention.
  • the media processor establishes a connection with the source terminal, the target terminal, and the signaling server through the network, and the connection between the media processor and the signaling processor for the case where the media processor and the signaling processor may be deployed in the same server.
  • the situation is not limited to the network.
  • the media processor may send status information of itself or other known media processors to the signaling processor by actively reporting or responding to the signaling processor querying the message.
  • the topological relationship between multiple media processors can be pre-stored locally to the signaling processor.
  • the status information of the media processor includes but is not limited to the following: the area where the media processor is located, the number of video conference clients that are accessed, the access bandwidth, the delay and jitter of the video conference code stream, and the video conference. Information such as packet loss and physical server CPU usage.
  • Step S106 The signaling processor notifies the selected media processor to the source terminal and the target terminal, wherein the selected media processor is configured to forward the code stream of the video conference between the source terminal and the target terminal.
  • the signaling processor notifies the selected media processor to the source terminal and the target terminal, and may send the identifier information of the selected media processor, such as an address identifier, to the source terminal. And the target terminal, so that the source terminal and the target terminal can access the selected media processor, and send the code stream of the video conference to the media processor.
  • the step of the selected media processor forwarding the code stream of the video conference between the source terminal and the target terminal may include: the selected media processor receives the video conference code stream transmitted by the source terminal and forwards the stream to the target terminal, and/or selects The media processor receives the video conference code stream transmitted by the target terminal and forwards the stream to the source terminal.
  • the code stream forwarded by the media processor may be an RTP stream or an encrypted stream. Selecting the media processor and the selected media processor to forward the code stream through the signaling processor deployed in the cloud not only helps to spread the pressure on the server, reduces the time for the terminal device to join the conference, and implements redundant backup between the servers. It is also convenient to quickly add servers according to the operation.
  • the signaling processor is used to receive a call request of a video conference, where the call request is a request initiated by the source terminal when the target terminal is called; the signaling processor is configured according to the acquired topological relationship of the plurality of media processors and the plurality of media.
  • a status information of the processor selecting a media processor from the plurality of media processors; the signaling processor notifying the selected media processor to the source terminal and the target terminal, wherein the selected media processor is configured to forward the source terminal And the code stream of the video conference between the target terminal and the target terminal; the problem of low efficiency and high cost of the video conference system caused by the NAT traversal of the video conference system by centrally deploying the NAT traversal server is solved, thereby achieving the improvement The effect of video conferencing system data transmission efficiency and disaster tolerance fault tolerance.
  • step S106 the signaling processor notifying the selected media processor to the source terminal and the target terminal further includes the following implementation steps:
  • Step S1062 The signaling processor forwards the call request and the identification information of the selected media processor to the target terminal;
  • the call request carries the identification information of the requested target terminal, such as an address.
  • the signaling processor sends the call request and the selected identification information of the media processor to the target terminal according to the identification information of the target terminal, so that the target terminal knows that there is a video conference call request, and may be based on the identification information of the media processor. Accessing the media processor to receive or send a stream of video conferences.
  • Step S1064 After the target terminal responds to the call request, the signaling processor forwards the identification information to the source terminal.
  • the target terminal may respond to the call request by replying to the message.
  • the identification information may be directly forwarded to the source terminal without waiting for the response of the target terminal.
  • the signaling processor may send the identifier information of the media processor to the source terminal as a response, so that the source terminal knows that the target terminal responds to the call request, and may also access according to the identifier information of the media processor. The media processor.
  • the data transmission method for the video conference further includes:
  • Step S1052 The signaling processor sends a resource request to the selected media processor.
  • the resource request is used to request a specific resource in the media processor.
  • Step S1054 The signaling processor receives the indication information sent by the selected media processor, where the indication information is used to indicate that the selected media processor allows the resource to be requested by the resource allocation request.
  • the signaling processor After receiving the indication information, the signaling processor confirms that the media processor agrees to allocate resources, that is, the media processor may be configured to forward the code stream between the source terminal and the target terminal.
  • the signaling processor receives the message for denying the provision of resources, and the signaling processor may perform the above step S104 of the present invention again to reselect the media server.
  • the data transmission method for video conference further includes: the media processor updates its own state information to other signaling processors, and the other signaling processors are A signaling processor other than the above signaling processor deployed in the cloud server.
  • the updated status information includes, for example, the area where the media processor is located, the number of video conference clients that are accessed, the access bandwidth, the delay and jitter of the video conference code stream, the packet loss of the video conference code stream, and the CPU usage of the physical server. information.
  • the source terminal is a video conference client
  • the target terminal is a video conference server
  • the source terminal is a video conference server
  • the target terminal is a video conference client
  • the video conference server receives the video code stream sent by the video conference client, and joins the other video conference client of the same video conference.
  • the incoming video stream is forwarded to the video conferencing client.
  • the call request may carry other identifiers of the video conference client that needs to join the conference.
  • the video conference client may also call other video conference clients to join other video according to the identifier of other video conference clients that may be carried.
  • the code stream sent by the conference client to implement data interaction between the clients of the video conference.
  • the call request may carry a unique identification code of the current video conference. After the video conference server receives the call request of another client of the same unique identifier, it is responsible for forwarding the media code stream between the clients of the same unique identifier.
  • the video conference client when the target terminal is a video conference client, the video conference client sends a code stream to the video conference server, and receives other video conference clients sent by the video conference server. The end of the code stream.
  • step S104 after receiving the call request, the signaling processor selects one media from the plurality of media processors according to the acquired topological relationship of the plurality of media processors and the state information of the plurality of media processors.
  • the processor includes the following implementation steps:
  • Step S1042 The signaling processor determines whether the video conference client is located in the private network.
  • the private network is opposite to the Internet, and the private network may include a private network that requires NAT traversal or a local area network with NAT traversal problem when accessing the video conference server.
  • the signaling processor can determine whether the client is located in the private network by identifying the IP address of the video conference client.
  • the video conference client may be a source terminal or a target terminal.
  • the signaling processor receives the call request of the video conference sent by the client, and determines whether the client is located in the private network according to the address of the client that sends the call request.
  • the signaling processor receives the call request of the video conference sent by the video conference server, and determines, according to the address of the video conference client to be called by the call request, whether the client to be called is located. Private network. This address can be carried in the call request.
  • Step S1044 The signaling processor selects the media processor from the plurality of media processors according to the topological relationship and the state information, if it is determined that the video conference client is located in the private network.
  • the video conference client needs to perform NAT traversal, and the signaling processor calculates the most suitable MP to send to the client according to a preset algorithm.
  • the preset algorithm includes factors such as MP media processing resources, access bandwidth, location, delay to the client network, jitter, and packet loss.
  • the video conference client when the video conference client is located on the Internet, the video conference client does not need NAT traversal, and the signaling processor can directly forward the addresses of the video conference client and the video conference server to the other party.
  • the video conference client and the video conference server directly establish communication and transmit the code stream of the video conference in both directions.
  • the signaling processor receives the call request of the video conference
  • the data transmission method for the video conference according to the embodiment of the present invention further includes:
  • Step S1012 The video conference client acquires address information of multiple signaling processors.
  • step S1012 of the embodiment of the present invention after the video conference client is started, for example, the SRV record of the DNS may be obtained, and the addresses of the multiple signaling processors are parsed according to the record, so as to obtain the multiple signaling processors. Address information.
  • Step S1014 The video conference client selects one signaling processor from the plurality of signaling processors according to a preset condition
  • the preset condition is, for example, a priority algorithm.
  • Step S1016 The video conference client registers with the selected signaling processor, wherein the selected signaling processor is configured to receive a video conference call request sent by the video conference client to the video conference server, or the video conference server to the video A call request for a video conference sent by the conference client.
  • step S1016 the video conference client registration to the selected signaling processor further includes the following implementation steps:
  • Step S10162 The signaling processor receives the registration message sent by the video conference client.
  • Step S10164 The signaling processor forwards the registration message to the video conference server.
  • Step S10166 The signaling processor receives the registration response returned by the video conference server, and forwards the registration response to the video conference client.
  • the registration message and the registration response are forwarded by the signaling processor, and the registration of the video conference client to the signaling processor is first implemented, and at the same time, the video conference client is also implemented. Registration of the video conferencing server.
  • the data transmission method for video conference according to the embodiment of the present invention further includes:
  • the media processor sends status update information to the plurality of signaling processors in accordance with a preset period.
  • the media processor may update the status to all the signaling processors according to a preset period, in addition to updating the status information to other signaling processors after agreeing to the resource request of the signaling processor.
  • the preset period is, for example, 1 s.
  • FIG. 2 is a flowchart of another data transmission method for a video conference according to an embodiment of the present invention. The process includes the following steps:
  • Step S202 The media processor receives the resource request sent by the signaling processor, where the media processor is configured by the signaling processor according to the acquired topological relationship of the plurality of media processors after receiving the call request of the video conference. Status information of the media processor, one media processor selected from the plurality of media processors, and the call request is a request initiated by the source terminal when calling the target terminal;
  • the media processor may be deployed on the cloud server according to the area, which is referred to as a media server in the present invention.
  • the signaling processor can also be deployed on the cloud server according to the area, which is also referred to as a signaling server in the present invention.
  • the signaling processor establishes a connection with the source terminal and the target terminal through the network.
  • the source terminal is a terminal that sends a call request for a video conference.
  • the source terminal may be a video conference client, configured to send the call request to the video conference server when the conference is initiated, or may be a video conference server for calling the video conference client.
  • the call request is sent to the video conference client when the conference joins the conference.
  • the target terminal is the requested party or the receiver of the video conference request.
  • the target terminal is a video conference server, and when the source terminal is a video conference server, the target terminal is a video conference client.
  • the call request may be a message of the H232 and SIP protocols. Resource requests are used to request specific resources in the media processor.
  • Step S204 The media processor sends indication information to the signaling processor, where the indication information is used to indicate that the media processor allows the resource to be requested by the resource allocation request.
  • the media processor agrees to allocate resources, at least means that the media processor can forward the code stream between the source terminal and the target terminal.
  • Step S206 The media processor forwards the code stream of the video conference between the source terminal and the target terminal, where the signaling processor notifies the media processor to the source terminal and the target terminal after receiving the indication information.
  • the signaling processor notifies the selected media processor to the source terminal and the target terminal, and may send the identifier information of the selected media processor, such as an address identifier, to the source terminal. And the target terminal, so that the source terminal and the target terminal can access the selected media processor, and send the code stream of the video conference to the media processor.
  • the step of the selected media processor forwarding the code stream of the video conference between the source terminal and the target terminal may include: the selected media processor receives the video conference code stream transmitted by the source terminal and forwards the stream to the target terminal, and/or selects The media processor receives the video conference code stream transmitted by the target terminal and forwards the stream to the source terminal.
  • the code stream forwarded by the media processor may be an RTP stream or an encrypted stream. Selecting the media processor and the selected media processor to forward the code stream through the signaling processor deployed in the cloud not only helps to spread the pressure on the server, reduces the time for the terminal device to join the conference, and implements redundant backup between the servers. It is also convenient to quickly add servers according to the operation.
  • the media processor is used to receive the resource request sent by the signaling processor, where the media processor is the signaling processor according to the obtained topological relationship of the plurality of media processors after receiving the call request of the video conference. And status information of the plurality of media processors, a media processor selected from the plurality of media processors, the call request is a request initiated by the source terminal when the target terminal is called; and the media processor sends an indication to the signaling processor The information indicating that the media processor allows the resource to be requested by the resource processor; the media processor forwards the code stream of the video conference between the source terminal and the target terminal, wherein after receiving the indication information, the signaling processor The media processor notifies the source terminal and the target terminal; and solves the problem that the video conference system runs low efficiency and high cost by centrally deploying the NAT traversal server to implement the NAT traversal of the video conference system, thereby achieving the improvement of the video.
  • the data transmission method for video conference further includes: the media processor updates its own state information to other signaling processors, and the other signaling processors are A signaling processor other than the above signaling processor deployed in the cloud server.
  • the updated status information includes, for example, the area where the media processor is located, the number of video conference clients that are accessed, the access bandwidth, the delay and jitter of the video conference code stream, the packet loss of the video conference code stream, and the CPU usage of the physical server. information.
  • the data transmission method for the video conference further includes:
  • Step S208 The media processor updates the status information to the signaling processor according to a preset period.
  • the media processor may update all the signaling processors according to a preset period, in addition to updating the status information to other signaling processors after agreeing to the resource request of the signaling processor. status information.
  • the preset period is, for example, 1 s.
  • the media processor sends the indication information to the signaling processor
  • the method further includes:
  • Step S2052 The signaling processor forwards the call request and the identification information of the selected media processor to the target terminal.
  • the call request carries the identification information of the requested target terminal, such as an address.
  • the signaling processor sends the call request and the selected identification information of the media processor to the target terminal according to the identification information of the target terminal, so that the target terminal knows that there is a video conference call request, and may be based on the identification information of the media processor. Accessing the media processor to receive or send a stream of video conferences.
  • Step S2054 After the target terminal responds to the call request, the signaling processor forwards the identification information to the source terminal.
  • the request information of the target terminal such as an address
  • the signaling processor sends the call request and the selected identification information of the media processor to the target terminal according to the identification information of the target terminal, so that the target terminal knows that there is a video conference call request, and may be based on the identification information of the media processor. Accessing the media processor to receive or send a stream of video conferences.
  • SP represents a signaling processor
  • MP represents a media processor
  • a NAT device indicates a device that a private network client needs to traverse with NAT.
  • FIG. 3 is a flowchart of an optional video conference client registration to a signaling processor according to an embodiment of the present invention; as shown in FIG. 3, the method includes:
  • Step S31 DNS resolution. Specifically, after the video conference client is started, the IP address pool of the SP server corresponding to the DNS domain name in the configuration is parsed.
  • step S32 after the SP address is resolved, the SP is registered. Specifically, the video conference client selects an optimal SP server according to a certain algorithm, and sends a registration message.
  • Step S33 after the SP process, the registration message is turned to the video conference server. Specifically, the SP identifies whether the client is on the intranet, and forwards the registration message to the video conference server if the client is located on the intranet.
  • step S34 the registration result is returned. Specifically, after the video conference server responds to the registration message, the registration result is returned to the SP.
  • step S35 the registration result is returned. Specifically, the SP forwards the registration response message of the server to the client.
  • FIG. 4 is a flow chart of an optional signaling processor selecting a media processor according to an embodiment of the present invention; as shown in FIG. 4, the method includes:
  • step S41 a conference call message is received. Specifically, the SP receives a call request of the video conference sent by the video conference calling client.
  • step S42 it is determined whether the client is in the private network. Specifically, the SP determines which client the call message belongs to, and then searches whether the client is on the intranet.
  • step S43 the MP is searched for the most suitable MP according to the performance of the MP at the time, the network, and the like. Specifically, in the case that the client is located in the private network, the SP searches for a most suitable MP as a media stream traversing server through a specific algorithm.
  • step S44 the SP notifies the client and the server of the MP information. Specifically, the SP notifies the video conference client and the server to the most suitable MP address, that is, the SP sends the selected MP address to the video conference client and the video conference server, so that the video conference client and the server access the MP.
  • Step S45 The SP does not provide MP information. Specifically, in the case that the client is on the Internet, the SP directly notifies the other party of the video conference client and the server media address.
  • FIG. 5 is a flowchart of an optional video conference calling client initiating a video conference according to an embodiment of the present invention; as shown in FIG. 5, the method includes:
  • step S51 the client calls the conference. Specifically, the SP receives the video conference client and sends a conference request to the video conference server.
  • step S52 the client calls the conference. Specifically, the SP forwards the received conference request sent by the client to the video conference server to the video conference server, and the SP selects an optimal MP and the call request according to the network topology diagram of the MP and the real-time status of the related MP. Send it to the video conferencing server.
  • Step S53 The server agrees to the call. Specifically, the server agrees to receive the call and responds to the SP message.
  • Step S54 The SP indicates an MP to the client. Specifically, after receiving the response message, the SP forwards the MP information to the video conference client.
  • step S55 the MP is notified to receive the code stream.
  • the SP sends a message to the MP to notify the MP to receive the code stream of the video conference server and the client, and is used to prompt the MP to update the state.
  • step S56 the SP is notified of the update status. Specifically, the MP responds to the SP's instructions and updates its state to other SPs.
  • Step S57 The MP and the video conference client exchange video and audio code streams of the video conference, and the video conference client performs video and audio relay through the MP to traverse the NAT device faced by the terminal device.
  • Step S58 the MP and the video conference server exchange video and audio code streams of the video conference.
  • FIG. 6 is a flowchart of an optional call video conference called client joining a video conference according to an embodiment of the present invention; as shown in FIG. 6, the method includes:
  • step S61 the server calls the client.
  • the conference call client joins the conference on the video conference server, that is, the SP receives a call request of the video conference sent by the video conference server to the video conference client.
  • step S62 the SP instructs the client to an MP server. Specifically, the SP forwards the call request of the video conference sent by the video conference server to the video conference client to the video conference client, and selects an optimal MP according to the network topology map and the real-time status of the related MP, and the call request is combined with the call request. Send to the video conferencing client.
  • step S63 the client agrees to the call. Specifically, the SP receives the information that the video conference client returns the consent call.
  • step S64 the SP indicates an MP to the server. Specifically, after receiving the response message, the SP forwards the MP information to the video conference server.
  • step S65 the MP is notified to receive the code stream.
  • the SP sends a message to the MP to notify the MP to receive the code stream of the video conference server and the client, and is used to prompt the MP to update the state.
  • step S66 all SPs are notified of the update status. Specifically, the MP responds to the SP's instructions and updates its state to other SPs.
  • Step S67 The MP and the video conference client exchange video and audio code streams of the video conference, and the video conference client performs video and audio relay through the MP to traverse the NAT device faced by the terminal device.
  • Step S68 The MP and the video conference server exchange video and audio code streams of the video conference.
  • the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course, by hardware, but in many cases, the former is A better implementation.
  • the technical solution of the present invention which is essential or contributes to the prior art, may be embodied in the form of a software product stored in a storage medium (such as ROM/RAM, disk,
  • the optical disc includes a number of instructions for causing a terminal device (which may be a cell phone, a computer, a server, or a network device, etc.) to perform the methods described in various embodiments of the present invention.
  • a data transmission device for a video conference is also provided in this embodiment, and the device is used to implement the foregoing embodiments and optional or preferred embodiments, and details are not described herein.
  • the term "module” may implement a combination of software and/or hardware of a predetermined function.
  • the apparatus described in the following embodiments is preferably implemented in software, hardware, or a combination of software and hardware, is also possible and contemplated.
  • FIG. 7 is a structural block diagram of a data transmission apparatus for a video conference according to an embodiment of the present invention. As shown in FIG. 7, the apparatus is applied to a signaling processor side, including: a first receiving module 70, a selecting module 72, and a a sending module 74, wherein
  • the first receiving module 70 is configured to receive a call request of the video conference, where the call request is a request initiated when the source terminal calls the target terminal;
  • the selecting module 72 is configured to: after receiving the call request, select one media processor from the plurality of media processors according to the acquired topological relationship of the plurality of media processors and the state information of the plurality of media processors;
  • the first sending module 74 is configured to notify the selected media processor to the source terminal and the target terminal, wherein the selected media processor is configured to forward the code stream of the video conference between the source terminal and the target terminal.
  • a call request of a video conference by using a signaling processor, where the call request is a request initiated by the source terminal when calling the target terminal; and the signaling processor is configured according to the acquired topological relationship of the plurality of media processors and the plurality of media a status information of the processor, selecting a media processor from the plurality of media processors; the signaling processor notifying the selected media processor to the source terminal and the target terminal, wherein the selected media processor is configured to forward the source terminal And the code stream of the video conference between the target terminal and the target terminal; the problem of low efficiency and high cost of the video conference system caused by the NAT traversal of the video conference system by centrally deploying the NAT traversal server is solved, thereby achieving the improvement The effect of video conferencing system data transmission efficiency and disaster tolerance fault tolerance.
  • the first sending module 74 includes: a first sending unit and a second sending unit, where:
  • a first sending unit configured to forward the call request and the identifier information of the selected media processor to the target terminal
  • the second sending unit is configured to: after the target terminal responds to the call request, the signaling processor forwards the identification information to the source terminal.
  • the data transmission apparatus for video conference according to the embodiment of the present invention further includes:
  • a second sending module configured to send a resource request to the selected media processor
  • the second receiving module is configured to receive the indication information sent by the selected media processor, where the indication information is used to indicate that the selected media processor allows the resource to be requested by the resource allocation request.
  • the source terminal is a video conference client
  • the target terminal is a video conference server
  • the source terminal is a video conference server
  • the target terminal is a video conference client
  • the selection module 72 includes:
  • the determining unit is configured to determine whether the video conference client is located in the private network
  • the selecting unit is configured to select, from the plurality of media processors, the media processor according to the topological relationship and the state information, when it is determined that the video conference client is located in the private network.
  • FIG. 8 is a structural block diagram of an optional data transmission apparatus for video conference according to an embodiment of the present invention. As shown in FIG. 8, the data transmission apparatus for video conference is the signaling shown in FIG.
  • the processor SP, the signaling processor SP includes the following modules:
  • the signaling forwarding module is configured to be responsible for signaling forwarding between the video conference client and the server, and may be a protocol of a protocol such as H323 and SIP, for example, a call request of the video conference described above.
  • Client IP address identification module Set to determine whether the client is in the private network.
  • Save MP status and update module set to save MP status, receive MP status root and query MP latest status.
  • MP selection module Set to select the most suitable MP according to the preset algorithm.
  • the signaling processor SP is respectively connected to a client, a media processor, and a video conference server.
  • the SP receives the call request from the client, it discriminates the client through the client IP address identification module. Whether NAT traversal is required. If NAT traversal is required, the MP state information is obtained from the saved MP state and the update module, and the MP selection module calculates the most suitable MP according to a specific algorithm, and the signaling forwarding module sends the MP and the call request to the video conference server, or The MP is sent to the client.
  • the preset algorithm needs to consider factors such as MP media processing resources, access bandwidth, location, delay to the client network, jitter, and packet loss.
  • FIG. 9 is a structural block diagram of another data transmission for a video conference according to an embodiment of the present invention. As shown in FIG. 9, the apparatus is applied to a media processor side, including: a third receiving module 90 and a third sending module. 92 and a forwarding module 94, wherein:
  • the third receiving module 90 is configured to receive a resource request sent by the signaling processor, where the media processor is configured by the signaling processor according to the obtained topological relationship of the plurality of media processors after receiving the call request of the video conference. a plurality of media processors selected from the plurality of media processors, wherein the call request is a request initiated by the source terminal when the target terminal is called;
  • the third sending module 92 is configured to send indication information to the signaling processor, where the indication information is used to indicate that the media processor allows the resource to be requested by the resource allocation request;
  • the forwarding module 94 is configured to forward a code stream of the video conference between the source terminal and the target terminal, where the signaling processor notifies the media processor to the source terminal and the target terminal after receiving the indication information.
  • the media processor receives the resource request sent by the signaling processor by using the media processor, wherein the media processor is configured by the signaling processor according to the obtained topological relationship of the plurality of media processors after receiving the call request of the video conference. And status information of the plurality of media processors, a media processor selected from the plurality of media processors, wherein the call request is a request initiated when the source terminal calls the target terminal; and the media processor sends an indication to the signaling processor The information indicating that the media processor allows the resource to be requested by the resource processor; the media processor forwards the code stream of the video conference between the source terminal and the target terminal, wherein after receiving the indication information, the signaling processor The media processor notifies the source terminal and the target terminal; and solves the problem that the video conference system runs low efficiency and high cost by centrally deploying the NAT traversal server to implement the NAT traversal of the video conference system, thereby achieving the improvement of the video.
  • the data transmission apparatus for video conference according to the embodiment of the present invention further includes:
  • the status update module is configured to update the status information to the signaling processor according to a preset period.
  • FIG. 10 is a structural block diagram of an optional data transmission apparatus for video conference according to an embodiment of the present invention. As shown in FIG. 10, the data transmission apparatus for video conference is the media processing shown in FIG.
  • the MP the media processor MP includes the following modules:
  • the media stream forwarding module is configured to forward the media stream between the video conference client and the server, which is generally an RTP stream or an encrypted stream.
  • Status information module set to query and save the number of access clients, access bandwidth, video stream delay and jitter Information such as packet loss of the video and video streams, and CPU usage of the physical server.
  • Interacting with the SP state module set to respond to the status request of the SP, and periodically report its status to the SP.
  • the media processors are respectively connected to the client, the video conference server, and the signaling processor.
  • the SP selects the MP and notifies the client and the server when it is determined whether the client needs NAT traversal.
  • the SP requests the resource from the MP.
  • the status information module updates its own state information and sends it to each SP through the SP state interaction module.
  • the media stream forwarding module forwards the resource. Media flow between the client and the server.
  • each of the above modules may be implemented by software or hardware.
  • the foregoing may be implemented by, but not limited to, the foregoing modules are all located in the same processor; or, the modules are located in multiple In the processor.
  • FIG. 11 is a schematic structural diagram of data transmission for a video conference according to an embodiment of the present invention. As shown in FIG. 11, the system includes:
  • the at least one signaling processor 110 is deployed in one or more cloud servers, and is configured to, after receiving the call request of the video conference, according to the acquired topological relationship of the plurality of media processors and the state information of the media processor, Selecting one of the plurality of media processors to notify the source terminal and the target terminal of the selected media processor, wherein the call request is a request initiated when the source terminal calls the target terminal;
  • the at least one media processor 111 is deployed in one or more cloud servers, and is configured to forward the code stream of the video conference of the source terminal and the target terminal after being selected by the signaling processor.
  • a plurality of signaling processors 110 and a plurality of media processors 111 are distributedly deployed on devices of a third-party cloud computing service provider.
  • the video conference client 114 sends a video conference call to the video conference server 112
  • the video conference client 114 selects the signaling processor SP2 from the at least one signaling processor 110 according to a preset algorithm, and passes through the NAT device 113.
  • a call request for a video conference is sent to the signaling processor SP2.
  • the signaling processor SP2 selects the media processor MP2 from the plurality of media processors 111 according to a preset algorithm, and sends the MP2 address information together with the call request to the video conference server 112.
  • the video conference server 112 returns a response to the signaling processor SP2, and the signaling processor SP2 transmits the address information of the media processor MP2 to the video conference client 114 after receiving the response.
  • the video conference client 114 and the video conference server 112 respectively establish a connection with the media processor MP2, and the media processor MP2 forwards the code stream between the video conference client 114 and the video conference server 112.
  • FIG. 12 is a schematic diagram of an interaction flow of a data transmission system for a video conference according to an alternative embodiment of the present invention. As shown in FIG. 12, the process includes the following steps:
  • Step S121 the SP receives the call. Specifically, the video conference client selects the signaling processor according to the SP address and sends a call request to the SP.
  • step S122 the SP selects MP from the status list. Specifically, the SP is based on the preset algorithm and the real-time status of the MP. The video conferencing client selects the optimal MP.
  • Step S123 the SP sends a resource request to the MP for requesting media resources in the media processor.
  • Step S124 the SP receives the response request returned by the MP. Specifically, if the MP agrees to allocate resources, it agrees to the SP; if the MP resources are limited and does not agree to allocate resources, the reply fails, and the SP reselects the MP, and returns to step S122.
  • step S125 the state of itself is updated to other SPs.
  • step S126 the state of itself is updated to other SPs.
  • Step S127 the SP forwards the call request to the video conference server, and provides MP information, so that the video conference server accesses the MP.
  • Step S128 The video conference server responds to the conference request forwarded by the SP.
  • Step S129 the SP forwards the conference response to the client, and provides MP information, so that the video conference client accesses the MP.
  • Step S1210 The MP and the video conference client exchange video and audio code streams of the video conference, and the video conference client performs video and audio relay through the MP to traverse the NAT device faced by the terminal device.
  • Step S1211 The MP and the video conference server exchange video and audio code streams of the video conference.
  • Step S1212 to step S1214 the MP timing updates the status information to all SPs.
  • Embodiments of the present invention also provide a storage medium.
  • the foregoing storage medium may be configured to store program code for performing the following steps:
  • the signaling processor receives a call request of a video conference, where the call request is a request initiated when the source terminal calls the target terminal.
  • the signaling processor selects one media processor from the plurality of media processors according to the acquired topological relationship of the plurality of media processors and the state information of the plurality of media processors;
  • the signaling processor notifies the selected media processor to the source terminal and the target terminal, wherein the selected media processor is configured to forward the code stream of the video conference between the source terminal and the target terminal.
  • the storage medium is further arranged to store program code for performing the following steps:
  • the signaling processor forwards the call request and the identifier information of the selected media processor to the target terminal.
  • the signaling processor forwards the identification information to the source terminal.
  • the storage medium is further arranged to store program code for performing the following steps:
  • the signaling processor sends a resource request to the selected media processor.
  • the signaling processor receives the indication information sent by the selected media processor, where the indication information is used to indicate the selected media.
  • the processor allows allocation of resource requests for the requested resource.
  • the storage medium is further arranged to store program code for performing the following steps:
  • the signaling processor determines whether the video conference client is located in a private network.
  • the signaling processor selects a media processor from the plurality of media processors according to the topological relationship and the state information when determining that the video conference client is located in the private network.
  • the storage medium is further arranged to store program code for performing the following steps:
  • the video conference client obtains address information of multiple signaling processors.
  • the video conference client selects one signaling processor from multiple signaling processors according to a preset condition.
  • the video conference client registers with the selected signaling processor, where the selected signaling processor is used to receive a call request of the video conference sent by the video conference client to the video conference server, or the video conference server sends the video conference client to the video conference client.
  • the call request of the video conference sent by the terminal is used to receive a call request of the video conference sent by the video conference client to the video conference server, or the video conference server sends the video conference client to the video conference client.
  • the storage medium is further arranged to store program code for performing the following steps:
  • the signaling processor receives the registration message sent by the video conference client.
  • the signaling processor forwards the registration message to the video conference server.
  • the signaling processor receives the registration response returned by the video conference server, and forwards the registration response to the video conference client.
  • the storage medium is further arranged to store program code for performing the following steps:
  • the media processor sends status update information to multiple signaling processors according to a preset period.
  • Embodiments of the present invention also provide a storage medium.
  • the foregoing storage medium may be configured to store program code for performing the following steps:
  • the media processor receives the resource request sent by the signaling processor, where the media processor is configured by the signaling processor according to the obtained topological relationship of the plurality of media processors and multiple after receiving the video conference call request. a status information of the media processor, a media processor selected from the plurality of media processors, wherein the call request is a request initiated by the source terminal when the target terminal is called;
  • the media processor sends indication information to the signaling processor, where the indication information is used to indicate that the media processor allows to allocate the resource request to the requested resource.
  • the S3 media processor forwards the code stream of the video conference between the source terminal and the target terminal, and after receiving the indication information, the signaling processor notifies the source processor and the target terminal.
  • the storage medium is further arranged to store program code for performing the following steps:
  • the media processor updates the status information to the signaling processor according to a preset period.
  • the storage medium is further arranged to store program code for performing the following steps:
  • the signaling processor forwards the call request and the identifier information of the selected media processor to the target terminal.
  • the signaling processor forwards the identification information to the source terminal.
  • the foregoing storage medium may include, but not limited to, a USB flash drive, a Read-Only Memory (ROM), a Random Access Memory (RAM), a mobile hard disk, and a magnetic memory.
  • ROM Read-Only Memory
  • RAM Random Access Memory
  • a mobile hard disk e.g., a hard disk
  • magnetic memory e.g., a hard disk
  • the processor performs, according to the stored program code in the storage medium, the signaling processor to receive a call request of the video conference, where the call request is a request initiated by the source terminal when calling the target terminal; After receiving the call request, the processor selects one media processor from the plurality of media processors according to the acquired topological relationship of the plurality of media processors and the state information of the plurality of media processors; the signaling processor selects The media processor notifies the source terminal and the target terminal, wherein the selected media processor is used to forward the code stream of the video conference between the source terminal and the target terminal.
  • the processor executes the signaling processor to forward the call request and the identifier information of the selected media processor to the target terminal according to the stored program code in the storage medium; after the target terminal responds to the call request, The signaling processor forwards the identification information to the source terminal.
  • the processor executes a signaling processor to send a resource request to the selected media processor according to the stored program code in the storage medium; and the signaling processor receives the indication information sent by the selected media processor.
  • the indication information is used to indicate that the selected media processor allows the resource request to be allocated by the resource request.
  • the processor performs a signaling processor according to the stored program code in the storage medium to determine whether the video conference client is located in the private network, where the signaling processor determines that the video conference client is located.
  • a media processor is selected from a plurality of media processors based on topological relationships and status information.
  • the processor executes, according to the stored program code in the storage medium, the video conference client to obtain address information of multiple signaling processors; the video conference client obtains multiple signaling according to preset conditions. Selecting a signaling processor in the processor; the video conferencing client is registered to the selected signaling processor, wherein the selected signaling processor is configured to receive a call request of the video conference sent by the video conference client to the video conference server , or a call request for a video conference sent by the video conference server to the video conference client.
  • the processor executes the signaling processor to receive the registration message sent by the video conference client according to the stored program code in the storage medium; the signaling processor forwards the registration message to the video conference server; The processor is caused to receive a registration response returned by the video conference server and forward the registration response to the video conference client.
  • the processor executes the media processor to send the status update information to the multiple signaling processors according to the preset period according to the stored program code in the storage medium.
  • the processor executes, according to the stored program code in the storage medium, the media processor receives the resource request sent by the signaling processor, where the media processor receives the video for the signaling processor.
  • Conference call request Then, according to the acquired topological relationship of the plurality of media processors and the status information of the plurality of media processors, one of the plurality of media processors is selected, and the call request is a request initiated by the source terminal when the target terminal is called.
  • the media processor sends the indication information to the signaling processor, the indication information is used to indicate that the media processor allows the resource to be requested by the resource request, and the media processor forwards the code stream of the video conference between the source terminal and the target terminal, where After receiving the indication information, the signaling processor notifies the media processor to the source terminal and the target terminal.
  • the processor performs, before the media processor forwards the code stream of the video conference between the source terminal and the target terminal according to the stored program code in the storage medium, the method further includes: the media processor according to the method The preset period updates the status information to the signaling processor.
  • the processor executes the signaling processor to forward the call request and the identifier information of the selected media processor to the target terminal according to the stored program code in the storage medium; after the target terminal responds to the call request, The signaling processor forwards the identification information to the source terminal.
  • modules or steps of the present invention described above can be implemented by a general-purpose computing device that can be centralized on a single computing device or distributed across a network of multiple computing devices. Alternatively, they may be implemented by program code executable by the computing device such that they may be stored in the storage device by the computing device and, in some cases, may be different from the order herein.
  • the steps shown or described are performed, or they are separately fabricated into individual integrated circuit modules, or a plurality of modules or steps thereof are fabricated as a single integrated circuit module.
  • the invention is not limited to any specific combination of hardware and software.
  • the signaling processor receives a call request of a video conference, where the call request is a request initiated when the source terminal calls the target terminal, and the signaling processor is configured according to the acquired multiple media processors. a topological relationship and status information of the plurality of media processors, selecting a media processor from the plurality of media processors; the signaling processor notifying the selected media processor to the source terminal and the target terminal, wherein the selected media processing
  • the device is configured to forward the code stream of the video conference between the source terminal and the target terminal; and solve the related art, the centralized traversal of the NAT traversing server to realize the NAT traversal of the video conference system, and the video conference system has low operation efficiency and high cost. The problem, in turn, achieves the effect of improving the data transmission efficiency and disaster tolerance of the video conference system.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Telephonic Communication Services (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种用于视频会议的数据传输方法、装置及系统。其中,该方法包括:信令处理器接收视频会议的呼叫请求,其中,呼叫请求为源终端呼叫目标终端时发起的请求;信令处理器根据获取的多个媒体处理器的拓扑关系和多个媒体处理器的状态信息,从多个媒体处理器中选择出一个媒体处理器;信令处理器将选择的媒体处理器通知给源终端和目标终端,其中,选择的媒体处理器用于转发源终端和目标终端之间的视频会议的码流。通过本发明,解决了相关技术中通过集中部署NAT穿越服务器来实现视频会议系统NAT穿越,而导致的视频会议系统运行效率低和成本高的问题,进而达到了提升视频会议系统数据传输效率和容灾容错能力的效果。

Description

用于视频会议的数据传输方法、装置及系统 技术领域
本发明涉及通信领域,具体而言,涉及一种用于视频会议的数据传输方法、装置及系统。
背景技术
目前,视频会议和VoIP通话已经广泛应用于人们的日常生活和工作中。借助专业级的视频会议设备、移动终端、软件视频会议终端的远程会议、远程医疗、远程教育等技术都在蓬勃发展。人们已经在享受着由这些技术随时随地面对面对话的便捷。
但是,IPv4地址的匮乏和IPv6发展的不成熟,使得很多企业、家庭、酒店都会搭建IPv4私有网络。当从这些网络接入互联网的视频会议服务器时,很多SIP和H323协议接入的系统面临NAT穿越的问题。NAT穿越问题会导致视频会议召开失败,或者召开会议后无媒体码流,其它端看不到图像听不到声音。现有技术解决NAT穿越问题的方法是部署支撑视频会议信令和媒体NAT穿越的服务器。但是,集中部署NAT穿越服务器面临着服务器性能压力、接入带宽受限、前期投入大、容灾能力差等问题。
针对相关技术中集中部署NAT穿越服务器造成服务器性能压力的问题,目前尚未提出有效的解决方案。
发明内容
本发明提供了一种用于视频会议的数据传输方法、装置及系统,以至少解决相关技术中相关技术中通过集中部署NAT穿越服务器来实现视频会议系统NAT穿越,而导致的视频会议系统运行效率低和成本高的问题。
根据本发明的一个实施例,提供了一种用于视频会议的数据传输方法,包括:信令处理器接收视频会议的呼叫请求,其中,呼叫请求为源终端呼叫目标终端时发起的请求;信令处理器在接收到呼叫请求后,根据获取的多个媒体处理器的拓扑关系和多个媒体处理器的状态信息,从多个媒体处理器中选择出一个媒体处理器;信令处理器将选择的媒体处理器通知给源终端和目标终端,其中,选择的媒体处理器设置为转发源终端和目标终端之间的视频会议的码流。
在本发明的实施例中,信令处理器将选择的媒体处理器通知给源终端和目标终端包括:信令处理器将呼叫请求和选择的媒体处理器的标识信息转发至目标终端;在目标终端响应呼叫请求后,信令处理器将标识信息转发至源终端。
在本发明的实施例中,在信令处理器将选择的媒体处理器通知给源终端和目标终端之前,方法还包括:信令处理器向选择的媒体处理器发送资源请求;信令处理器接收选择的媒体处 理器发送的指示信息,指示信息用于指示选择的媒体处理器允许分配资源请求所请求的资源。
在本发明的实施例中,源终端为视频会议客户端,目标终端为视频会议服务器,或者源终端为视频会议服务器,目标终端为视频会议客户端。
在本发明的实施例中,信令处理器在接收到呼叫请求后,根据获取的多个媒体处理器的拓扑关系和多个媒体处理器的状态信息,从多个媒体处理器中选择出一个媒体处理器包括:信令处理器判断视频会议客户端是否位于私网,其中,信令处理器在判断出视频会议客户端位于私网的情况下,根据拓扑关系和状态信息,从多个媒体处理器中选择出媒体处理器。
在本发明的实施例中,在信令处理器接收视频会议的呼叫请求之前,方法还包括:视频会议客户端获取多个信令处理器的地址信息;视频会议客户端按照预设条件从多个信令处理器中选择出一个信令处理器;视频会议客户端注册到选择的信令处理器上,其中,选择的信令处理器设置为接收视频会议客户端呼叫视频会议服务器时发起的呼叫请求,或者视频会议服务器呼叫视频会议客户端时发起的呼叫请求。
在本发明的实施例中,视频会议客户端注册到选择的信令处理器上包括:信令处理器接收视频会议客户端发送的注册消息;信令处理器将注册消息转发至视频会议服务器;信令处理器接收到视频会议服务器返回的注册响应,将注册响应转发至视频会议客户端。
在本发明的实施例中,方法还包括:媒体处理器按照预设周期向多个信令处理器发送状态更新信息。
根据本发明的另一个实施例,提供了一种用于视频会议的数据传输方法,包括:媒体处理器接收信令处理器发来的资源请求,其中,媒体处理器为信令处理器在接收到视频会议的呼叫请求后,根据获取的多个媒体处理器的拓扑关系和多个媒体处理器的状态信息,从多个媒体处理器中选择出的一个媒体处理器,呼叫请求为源终端呼叫目标终端时发起的请求;媒体处理器向信令处理器发送指示信息,指示信息用于指示媒体处理器允许分配资源请求所请求的资源;媒体处理器转发源终端和目标终端之间的视频会议的码流,其中,信令处理器接收到指示信息后,将媒体处理器通知给源终端和目标终端。
在本发明的实施例中,在媒体处理器转发源终端和目标终端之间的视频会议的码流之前,方法还包括:媒体处理器按照预设周期向信令处理器更新状态信息。
在本发明的实施例中,在媒体处理器向信令处理器发送指示信息之后,方法还包括:信令处理器将呼叫请求和选择的媒体处理器的标识信息转发至目标终端;在目标终端响应呼叫请求后,信令处理器将标识信息转发至源终端。
根据本发明的另一实施例,提供了一种用于视频会议的数据传输装置,应用于信令处理器侧,该装置包括:第一接收模块,设置为接收视频会议的呼叫请求,其中,呼叫请求为源终端呼叫目标终端时发起的请求;选择模块,设置为根据获取的多个媒体处理器的拓扑关系和多个媒体处理器的状态信息,从多个媒体处理器中选择出一个媒体处理器;第一发送模块,设置为将选择的媒体处理器通知给源终端和目标终端,其中,选择的媒体处理器设置为转发 源终端和目标终端之间的视频会议的码流。
在本发明的实施例中,第一发送模块包括:第一发送单元,设置为将呼叫请求和选择的媒体处理器的标识信息转发至目标终端;第二发送单元,设置为在目标终端响应呼叫请求后,信令处理器将标识信息转发至源终端。
在本发明的实施例中,装置还包括:第二发送模块,设置为向选择的媒体处理器发送资源请求;第二接收模块,设置为接收选择的媒体处理器发送的指示信息,指示信息用于指示选择的媒体处理器允许分配资源请求所请求的资源。
在本发明的实施例中,源终端为视频会议客户端,目标终端为视频会议服务器,或者源终端为视频会议服务器,目标终端为视频会议客户端,选择模块包括:判断单元,设置为判断视频会议客户端是否位于私网;选择单元,设置为在判断出视频会议客户端位于私网的情况下,根据拓扑关系和状态信息,从多个媒体处理器中选择出媒体处理器。
根据本发明的另一实施例,提供了一种用于视频会议的数据传输装置,应用于媒体处理器侧,该装置包括:第三接收模块,设置为接收信令处理器发来的资源请求,其中,媒体处理器为信令处理器在接收到视频会议的呼叫请求后,根据获取的多个媒体处理器的拓扑关系和多个媒体处理器的状态信息,从多个媒体处理器中选择出的一个媒体处理器,呼叫请求为源终端呼叫目标终端时发起的请求;第三发送模块,设置为向信令处理器发送指示信息,指示信息用于指示媒体处理器允许分配资源请求所请求的资源;转发模块,设置为转发源终端和目标终端之间的视频会议的码流,其中,信令处理器接收到指示信息后,将媒体处理器通知给源终端和目标终端。
在本发明的实施例中,装置还包括:状态更新模块,设置为按照预设周期向信令处理器更新状态信息。
根据本发明的另一实施例,提供了一种用于视频会议的数据传输系统,包括:至少一个信令处理器,部署于一个或多个云服务器中,设置为在接收到视频会议的呼叫请求后,根据获取的多个媒体处理器的拓扑关系和媒体处理器的状态信息,从多个媒体处理器中选择出一个媒体处理器,将选择的媒体处理器的通知给源终端和目标终端,其中,呼叫请求为源终端呼叫目标终端时发起的请求;至少一个媒体处理器,部署于一个或多个云服务器中,设置为在被信令处理器选择后,转发源终端和目标终端的视频会议的码流。
通过本发明,采用信令处理器接收视频会议的呼叫请求,其中,呼叫请求为源终端呼叫目标终端时发起的请求;信令处理器根据获取的多个媒体处理器的拓扑关系和多个媒体处理器的状态信息,从多个媒体处理器中选择出一个媒体处理器;信令处理器将选择的媒体处理器通知给源终端和目标终端,其中,选择的媒体处理器设置为转发源终端和目标终端之间的视频会议的码流;解决了相关技术中通过集中部署NAT穿越服务器来实现视频会议系统NAT穿越,而导致的视频会议系统运行效率低和成本高的问题,进而达到了提升视频会议系统数据传输效率和容灾容错能力的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的用于视频会议的数据传输方法的流程图;
图2是根据本发明实施例的另一种用于视频会议的数据传输方法的流程图;
图3是根据本发明实施例的一种可选的视频会议客户端注册至信令处理器的流程图;
图4是根据本发明实施例的一种可选的信令处理器选择媒体处理器的流程图;
图5是根据本发明实施例的一种可选的视频会议主叫客户端发起视频会议的流程图;
图6是根据本发明实施例的一种可选的呼叫视频会议被叫客户端加入视频会议的流程图;
图7是根据本发明实施例的用于视频会议的数据传输装置的结构框图;
图8是根据本发明实施例的一种可选的用于视频会议的数据传输装置的结构框图;
图9是根据本发明实施例的另一种用于视频会议的数据传输装置的结构框图;
图10是根据本发明实施例的一种可选的用于视频会议的数据传输装置的结构框图;
图11是根据本发明实施例的用于视频会议的数据传输系统的结构示意图;以及
图12是根据本发明可选实施例的用于视频会议的数据传输系统的交互流程示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
在本实施例中提供了一种用于视频会议的数据传输方法,图1是根据本发明实施例的用于视频会议的数据传输方法的流程图,如图1所示,该流程包括如下步骤:
步骤S102,信令处理器接收视频会议的呼叫请求,其中,呼叫请求为源终端呼叫目标终端时发起的请求;
在本发明实施例上述步骤S102中,信令处理器可按照区域部署于云服务器上,在本发明中或称信令服务器。信令处理器通过网络与源终端和目标终端建立连接。信令处理器可设置为转发源终端与目标终端之间的信令。源终端为发出视频会议的呼叫请求的终端,源终端可以为视频会议客户端,用于在发起会议时向视频会议服务器发送该呼叫请求;也可以为视频 会议服务器,用于在呼叫视频会议客户端加入会议时向该视频会议客户端发送该呼叫请求。目标终端为该视频会议请求的被请求方或接收方,当源终端为视频会议客户端时目标终端为视频会议服务器,当源终端为视频会议服务器时目标终端为视频会议客户端。可选地,呼叫请求可以是H232和SIP协议的消息。
步骤S104,信令处理器在接收到呼叫请求后,根据获取的多个媒体处理器的拓扑关系和多个媒体处理器的状态信息,从多个媒体处理器中选择出一个媒体处理器;
在本发明实施例上述步骤S104中,媒体处理器亦可按照区域部署于云服务器上,在本发明中或称媒体服务器。媒体处理器通过网络与源终端、目标终端和信令服务器建立连接,对于可能出现的媒体处理器与信令处理器部署于相同服务器中的情况,媒体处理器与信令处理器之间的连接情况不仅限于网络。媒体处理器可以通过主动上报或响应信令处理器查询消息的方式,将自身或已知的其他媒体处理器的状态信息发送给信令处理器。多个媒体处理器之间的拓扑关系可预存于信令处理器本地。
此处需要说明的是,媒体处理器的状态信息包括但不限于如下:媒体处理器所在区域、接入的视频会议客户端的数量、接入带宽、视频会议码流的时延和抖动、视频会议码流的丢包、物理服务器CPU占用率等信息。
步骤S106,信令处理器将选择的媒体处理器通知给源终端和目标终端,其中,选择的媒体处理器设置为转发源终端和目标终端之间的视频会议的码流。
在本发明实施例上述步骤S106中,信令处理器将选择的媒体处理器通知给源终端和目标终端的方式,可以为将选择的媒体处理器的标识信息,例如地址标识,发送给源终端和目标终端,使得源终端和目标终端能够接入该选择的媒体处理器,并向该媒体处理器发送视频会议的码流。选择的媒体处理器转发源终端和目标终端之间的视频会议的码流的步骤可以包括:选择的媒体处理器接收源终端传输来的视频会议码流并转发给目标终端,和/或,选择的媒体处理器接收目标终端传输来的视频会议码流并转发给源终端。媒体处理器转发的码流可以是RTP流,也可以是加密流。通过部署于云端的信令处理器选择媒体处理器、以及选择的媒体处理器转发码流,不仅有利于分散数据对服务器的压力、减少终端设备加入会议的时间和实现服务器之间进行冗余备份,还可以便于根据运行情况快捷的增加服务器。
通过上述步骤,采用信令处理器接收视频会议的呼叫请求,其中,呼叫请求为源终端呼叫目标终端时发起的请求;信令处理器根据获取的多个媒体处理器的拓扑关系和多个媒体处理器的状态信息,从多个媒体处理器中选择出一个媒体处理器;信令处理器将选择的媒体处理器通知给源终端和目标终端,其中,选择的媒体处理器设置为转发源终端和目标终端之间的视频会议的码流;解决了相关技术中通过集中部署NAT穿越服务器来实现视频会议系统NAT穿越,而导致的视频会议系统运行效率低和成本高的问题,进而达到了提升视频会议系统数据传输效率和容灾容错能力的效果。
可选地,步骤S106:信令处理器将选择的媒体处理器通知给源终端和目标终端还包括如下实施步骤:
步骤S1062:信令处理器将呼叫请求和选择的媒体处理器的标识信息转发至目标终端;
在本发明实施例上述步骤S1062中,在上述呼叫请求中携带有所请求的目标终端的标识信息,例如地址。信令处理器根据该目标终端的标识信息,向目标终端发送呼叫请求和选择的媒体处理器的标识信息,以使得目标终端得知有视频会议的呼叫请求,并可根据媒体处理器的标识信息接入该媒体处理器,以接收或发送视频会议的码流。
步骤S1064:在目标终端响应呼叫请求后,信令处理器将标识信息转发至源终端。
在本发明实施例上述步骤S1064中,目标终端可以通过回复消息的方式响应该呼叫请求。在另一种情况下,也可以不等待目标终端的响应而直接将标识信息转发至源终端。本发明上述步骤中,信令处理器向源终端发送媒体处理器的标识信息也可以作为响应,以使源终端得知目标终端响应了该呼叫请求,还可根据媒体处理器的标识信息接入该媒体处理器。
可选地,在步骤S106:信令处理器将选择的媒体处理器通知给源终端和目标终端之前,根据本发明实施例的用于视频会议的数据传输方法还包括:
步骤S1052:信令处理器向选择的媒体处理器发送资源请求;
在本发明实施例上述步骤S1052中,资源请求用于请求媒体处理器中的特定资源。
步骤S1054:信令处理器接收选择的媒体处理器发送的指示信息,指示信息用于指示选择的媒体处理器允许分配资源请求所请求的资源。
在本发明实施例上述步骤S1054中,信令处理器接收到该指示信息后确认媒体处理器同意分配资源,即该媒体处理器可设置为转发源终端与目标终端之间的码流。当媒体处理器不同意分配资源时,则信令处理器接收到的为拒绝提供资源的消息,信令处理器则可再次执行本发明上述步骤S104,以重新选择媒体服务器。
可选地,媒体处理器同意分配资源之后,根据本发明实施例的用于视频会议的数据传输方法还包括:媒体处理器向其他信令处理器更新自身的状态信息,其他信令处理器为部署于云服务器中的除了上述信令处理器之外的其他信令处理器。更新的状态信息例如包括:媒体处理器所在区域、接入的视频会议客户端的数量、接入带宽、视频会议码流的时延和抖动、视频会议码流的丢包、物理服务器CPU占用率等信息。
可选地,上述源终端为视频会议客户端,目标终端为视频会议服务器,或者源终端为视频会议服务器,目标终端为视频会议客户端。
此处需要说明的是,在一种应用场景中,当目标终端是视频会议服务器时,视频会议服务器接收视频会议客户端发来的视频码流,并将其他加入同一视频会议的视频会议客户端传来的视频码流转发给该视频会议客户端。可选地,呼叫请求中可能携带其他需要入会的视频会议客户端的标识,当视频会议服务器同意入会后,还根据可能携带的其他视频会议客户端的标识呼叫其他视频会议客户端入会,以接收其他视频会议客户端发来的码流,以实现视频会议的各个客户端之间数据交互。可选地,呼叫请求中可能携带当前视频会议的唯一标识码, 当视频会议服务器接收到同一唯一标识码的另一客户端的呼叫请求后,负责转发同一唯一标识码的客户端之间的媒体码流。
此处还需要说明的是,在另一种应用场景中,当目标终端是视频会议客户端时,视频会议客户端向视频会议服务器发送码流,并接收视频会议服务器发来的其他视频会议客户端的码流。
可选地,步骤S104:信令处理器在接收到呼叫请求后,根据获取的多个媒体处理器的拓扑关系和多个媒体处理器的状态信息,从多个媒体处理器中选择出一个媒体处理器包括如下实施步骤:
步骤S1042:信令处理器判断视频会议客户端是否位于私网;
在本发明实施例上述步骤S1042中,私网与互联网相对,私网可以包含需要NAT穿越的私有网络或接入视频会议服务器时存在NAT穿越问题的局域网。信令处理器可以通过辨别视频会议客户端的IP地址来判断客户端是否位于私网。
此处需要说明的是,该视频会议客户端可以为源终端,也可以为目标终端。当视频会议客户端为源终端时,信令处理器接收到客户端发出的视频会议的呼叫请求,并依据发出该呼叫请求的客户端的地址判断该客户端是否位于私网。当视频会议客户端为目标终端时,信令处理器接收到视频会议服务器发来的视频会议的呼叫请求,并依据该呼叫请求所要呼叫的视频会议客户端的地址判断该所要呼叫的客户端是否位于私网。该地址可携带于呼叫请求中。
步骤S1044:信令处理器在判断出视频会议客户端位于私网的情况下,根据拓扑关系和状态信息,从多个媒体处理器中选择出媒体处理器。
在本发明实施例上述步骤S1054中,在判断出视频会议客户端位于私网时,该视频会议客户端需要进行NAT穿越,信令处理器按照预设算法计算出最合适的MP发送给客户端。预设算法包括MP当时的媒体处理资源、接入带宽、所在区域、到客户端网络的时延、抖动和丢包等因素。
此处需要说明的是,当视频会议客户端位于互联网时,该视频会议客户端并不需要NAT穿越,此时信令处理器可以将视频会议客户端和视频会议服务器的地址直接转发给对方,以使得视频会议客户端和视频会议服务器直接建立通讯并双向传输视频会议的码流。
可选地,在步骤S102:信令处理器接收视频会议的呼叫请求之前,根据本发明实施例的用于视频会议的数据传输方法还包括:
步骤S1012:视频会议客户端获取多个信令处理器的地址信息;
在本发明实施例上述步骤S1012中,视频会议客户端启动后,例如可以通过获取DNS的SRV记录,并根据该记录解析出多个信令处理器的地址,以获取多个信令处理器的地址信息。
步骤S1014:视频会议客户端按照预设条件从多个信令处理器中选择出一个信令处理器;
在本发明实施例上述步骤S1014中,预设条件例如为优先级算法。
步骤S1016:视频会议客户端注册到选择的信令处理器上,其中,选择的信令处理器设置为接收视频会议客户端向视频会议服务器发送的视频会议的呼叫请求,或者视频会议服务器向视频会议客户端发送的视频会议的呼叫请求。
可选地,步骤S1016:视频会议客户端注册到选择的信令处理器上还包括如下实施步骤:
步骤S10162:信令处理器接收视频会议客户端发送的注册消息;
步骤S10164:信令处理器将注册消息转发至视频会议服务器;
步骤S10166:信令处理器接收到视频会议服务器返回的注册响应,将注册响应转发至视频会议客户端。
在本发明实施例上述步骤S10162至步骤S10166中,通过信令处理器转发注册消息和注册响应,首先实现了视频会议客户端向信令处理器的注册,同时,也实现了视频会议客户端向视频会议服务器的注册。
可选地,根据本发明实施例的用于视频会议的数据传输方法还包括:
媒体处理器按照预设周期向多个信令处理器发送状态更新信息。
在本发明实施例上述步骤中,媒体处理器除了在同意信令处理器的资源请求后,向其他信令处理器更新状态信息之外,还可以按照预设周期向所有信令处理器更新状态信息。预设周期,例如为1s。
在本实施例中还提供了一种用于视频会议的数据传输方法,图2是根据本发明实施例的另一种用于视频会议的数据传输方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,媒体处理器接收信令处理器发来的资源请求,其中,媒体处理器为信令处理器在接收到视频会议的呼叫请求后,根据获取的多个媒体处理器的拓扑关系和多个媒体处理器的状态信息,从多个媒体处理器中选择出的一个媒体处理器,呼叫请求为源终端呼叫目标终端时发起的请求;
在本发明实施例上述步骤S202中,媒体处理器可按照区域部署于云服务器上,在本发明中或称媒体服务器。信令处理器亦可按照区域部署于云服务器上,在本发明中或称信令服务器。信令处理器通过网络与源终端和目标终端建立连接。源终端为发出视频会议的呼叫请求的终端,源终端可以为视频会议客户端,用于在发起会议时向视频会议服务器发送该呼叫请求;也可以为视频会议服务器,用于在呼叫视频会议客户端加入会议时向该视频会议客户端发送该呼叫请求。目标终端为该视频会议请求的被请求方或接收方,当源终端为视频会议客户端时目标终端为视频会议服务器,当源终端为视频会议服务器时目标终端为视频会议客户端。可选地,呼叫请求可以是H232和SIP协议的消息。资源请求用于请求媒体处理器中的特定资源。
步骤S204,媒体处理器向信令处理器发送指示信息,指示信息用于指示媒体处理器允许分配资源请求所请求的资源;
在本发明实施例上述步骤S204中,媒体处理器同意分配资源,至少意味着该媒体处理器可转发源终端与目标终端之间的码流。
步骤S206,媒体处理器转发源终端和目标终端之间的视频会议的码流,其中,信令处理器接收到指示信息后,将媒体处理器通知给源终端和目标终端。
在本发明实施例上述步骤S206中,信令处理器将选择的媒体处理器通知给源终端和目标终端的方式,可以为将选择的媒体处理器的标识信息,例如地址标识,发送给源终端和目标终端,使得源终端和目标终端能够接入该选择的媒体处理器,并向该媒体处理器发送视频会议的码流。选择的媒体处理器转发源终端和目标终端之间的视频会议的码流的步骤可以包括:选择的媒体处理器接收源终端传输来的视频会议码流并转发给目标终端,和/或,选择的媒体处理器接收目标终端传输来的视频会议码流并转发给源终端。媒体处理器转发的码流可以是RTP流,也可以是加密流。通过部署于云端的信令处理器选择媒体处理器、以及选择的媒体处理器转发码流,不仅有利于分散数据对服务器的压力、减少终端设备加入会议的时间和实现服务器之间进行冗余备份,还可以便于根据运行情况快捷的增加服务器。
通过上述步骤,采用媒体处理器接收信令处理器发来的资源请求,其中,媒体处理器为信令处理器在接收到视频会议的呼叫请求后,根据获取的多个媒体处理器的拓扑关系和多个媒体处理器的状态信息,从多个媒体处理器中选择出的一个媒体处理器,呼叫请求为源终端呼叫所述目标终端时发起的请求;媒体处理器向信令处理器发送指示信息,指示信息用于指示媒体处理器允许分配资源请求所请求的资源;媒体处理器转发源终端和目标终端之间的视频会议的码流,其中,信令处理器接收到指示信息后,将媒体处理器通知给源终端和目标终端;解决了相关技术中通过集中部署NAT穿越服务器来实现视频会议系统NAT穿越,而导致的视频会议系统运行效率低和成本高的问题,进而达到了提升视频会议系统数据传输效率和容灾容错能力的效果。
可选地,媒体处理器同意分配资源之后,根据本发明实施例的用于视频会议的数据传输方法还包括:媒体处理器向其他信令处理器更新自身的状态信息,其他信令处理器为部署于云服务器中的除了上述信令处理器之外的其他信令处理器。更新的状态信息例如包括:媒体处理器所在区域、接入的视频会议客户端的数量、接入带宽、视频会议码流的时延和抖动、视频会议码流的丢包、物理服务器CPU占用率等信息。
可选地,在步骤S206:媒体处理器转发源终端和目标终端之间的视频会议的码流之前,根据本发明实施例的用于视频会议的数据传输方法还包括:
步骤S208:媒体处理器按照预设周期向信令处理器更新状态信息。
在本发明实施例上述步骤S208中,媒体处理器除了在同意信令处理器的资源请求后,向其他信令处理器更新状态信息之外,还可以按照预设周期向所有信令处理器更新状态信息。 预设周期,例如为1s。
可选地,在步骤S204:媒体处理器向信令处理器发送指示信息之后,方法还包括:
步骤S2052:信令处理器将呼叫请求和选择的媒体处理器的标识信息转发至目标终端;
在本发明实施例上述步骤S2052中,在上述呼叫请求中携带有所请求的目标终端的标识信息,例如地址。信令处理器根据该目标终端的标识信息,向目标终端发送呼叫请求和选择的媒体处理器的标识信息,以使得目标终端得知有视频会议的呼叫请求,并可根据媒体处理器的标识信息接入该媒体处理器,以接收或发送视频会议的码流。
步骤S2054:在目标终端响应呼叫请求后,信令处理器将标识信息转发至源终端。
在本发明实施例上述步骤S2054中,在上述呼叫请求中携带有所请求的目标终端的标识信息,例如地址。信令处理器根据该目标终端的标识信息,向目标终端发送呼叫请求和选择的媒体处理器的标识信息,以使得目标终端得知有视频会议的呼叫请求,并可根据媒体处理器的标识信息接入该媒体处理器,以接收或发送视频会议的码流。
下面结合图3至图6,对本发明上述实施例所提供的用于视频会议的数据传输方法进行详细说明,在如下图3至图6中,SP表示信令处理器,MP表示媒体处理器,NAT设备表示私网客户端需要NAT穿越的设备。
首先结合图3,对本发明实施例中视频会议客户端注册至信令处理器的方法进行说明。图3是根据本发明实施例的一种可选的视频会议客户端注册至信令处理器的流程图;如图3所示,该方法包括:
步骤S31,DNS解析。具体的,视频会议客户端启动后,解析出配置中的DNS域名对应的SP服务器的IP地址池。
步骤S32,解析处SP地址后向SP注册。具体的,视频会议客户端根据一定的算法选择出最优的SP服务器,并发送注册消息
步骤S33,SP处理后把注册消息转向视频会议服务器。具体的,SP辨别客户端是否在内网,并在客户端位于内网的情况下,向视频会议服务器转发注册消息。
步骤S34,返回注册结果。具体的,视频会议服务器响应注册消息后,向SP返回注册结果。
步骤S35,返回注册结果。具体的,SP向客户端转发服务器的注册响应消息。
当注册成功的客户端向SP发起视频会议的呼叫请求后,SP将执行MP选择的步骤。下面结合图4,对本发明实施例中信令处理器选择媒体处理器的方法进行详细说明。图4是根据本发明实施例的一种可选的信令处理器选择媒体处理器的流程图;如图4所示,该方法包括:
步骤S41,收到会议呼叫消息。具体的,SP接收到视频会议主叫客户端发来的视频会议的呼叫请求。
步骤S42,判断客户端是否在私网。具体的,SP判断呼叫消息属于哪个客户端,然后查找这个客户端是否在内网。
步骤S43,按MP当时性能、网络等情况,查找最合适的MP。具体的,在客户端位于私网的情况下,SP通过特定算法查找一个最合适的MP作为媒体流穿越服务器。
步骤S44,SP通知客户端和服务器该MP信息。具体的,SP把最合适的MP地址通知给视频会议客户端和服务器,即SP将选择出的MP的地址发送至视频会议客户端和视频会议服务器,以使得视频会议客户端和服务器接入该MP。
步骤S45:SP不提供MP信息。具体的,在客户端在互联网的情况下,SP把视频会议客户端和服务器媒体地址直接通知给对方。
下面结合图5,对本发明实施例中视频会议主叫客户端向视频会议服务器发起会议的方法进行详细说明。图5是根据本发明实施例的一种可选的视频会议主叫客户端发起视频会议的流程图;如图5所示,该方法包括:
步骤S51,客户端呼叫会议。具体的,SP接收视频会议客户端向视频会议服务器发送会议请求。
步骤S52,客户端呼叫会议。具体的,SP将接收到的客户端向视频会议服务器发送的会议请求转发至视频会议服务器,并且,SP根据MP的网络拓扑图和相关MP的实时状态,选择一个最优的MP,与呼叫请求一并发送给视频会议服务器。
步骤S53:服务器同意呼叫。具体的,服务器同意接收呼叫,响应SP的消息。
步骤S54:SP给客户端指示一个MP。具体的,SP收到响应消息后,把MP信息也转发给视频会议客户端。
步骤S55,通知MP接收码流。具体的,SP向MP发送消息,用于通知MP接收视频会议服务器和客户端的码流,并用于促使MP更新状态。
步骤S56,通知SP更新状态。具体的,MP响应SP的指令,并向其它SP更新自身的状态。
步骤S57,MP与视频会议客户端之间交互视频会议的视频和音频码流,视频会议客户端通过MP进行视频和音频中转,穿越终端设备面临的NAT设备。
步骤S58,MP与视频会议服务器之间交互视频会议的视频和音频码流。
下面结合图6,对本发明实施例中视频会议服务器向视频会议呼叫被叫客户端加入会议的方法进行详细说明。图6是根据本发明实施例的一种可选的呼叫视频会议被叫客户端加入视频会议的流程图;如图6所示,该方法包括:
步骤S61,服务器呼叫客户端。具体的,视频会议服务器上的会议呼叫客户端入会,即SP接收视频会议服务器向视频会议客户端发送的视频会议的呼叫请求。
步骤S62,SP给客户端指示一个MP服务器。具体的,SP将视频会议服务器发送给视频会议客户端的视频会议的呼叫请求转发给视频会议客户端,并根据网络拓扑图和相关MP的实时状态,选择一个最优的MP,和呼叫请求一并发送给视频会议客户端。
步骤S63,客户端同意呼叫。具体的,SP接收到视频会议客户端返回同意呼叫的信息。
步骤S64,SP给服务器指示一个MP。具体的,SP收到响应消息后,把MP信息也转发给视频会议服务器端。
步骤S65,通知MP接收码流。具体的,SP向MP发送消息,用于通知MP接收视频会议服务器和客户端的码流,并用于促使MP更新状态。
步骤S66,通知所有SP更新状态。具体的,MP响应SP的指令,并向其它SP更新自身的状态。
步骤S67,MP与视频会议客户端之间交互视频会议的视频和音频码流,视频会议客户端通过MP进行视频和音频中转,穿越终端设备面临的NAT设备。
步骤S68,MP与视频会议服务器之间交互视频会议的视频和音频码流。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种用于视频会议的数据传输装置,该装置用于实现上述实施例及可选或优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图7是根据本发明实施例的用于视频会议的数据传输装置的结构框图,如图7所示,该装置应用于信令处理器侧,包括:第一接收模块70、选择模块72以及第一发送模块74,其中,
第一接收模块70,设置为接收视频会议的呼叫请求,其中,呼叫请求为源终端呼叫目标终端时发起的请求;
选择模块72,设置为在接收到呼叫请求后,根据获取的多个媒体处理器的拓扑关系和多个媒体处理器的状态信息,从多个媒体处理器中选择出一个媒体处理器;
第一发送模块74,设置为将选择的媒体处理器通知给源终端和目标终端,其中,选择的媒体处理器设置为转发源终端和目标终端之间的视频会议的码流。
通过上述装置,采用信令处理器接收视频会议的呼叫请求,其中,呼叫请求为源终端呼叫目标终端时发起的请求;信令处理器根据获取的多个媒体处理器的拓扑关系和多个媒体处理器的状态信息,从多个媒体处理器中选择出一个媒体处理器;信令处理器将选择的媒体处理器通知给源终端和目标终端,其中,选择的媒体处理器设置为转发源终端和目标终端之间的视频会议的码流;解决了相关技术中通过集中部署NAT穿越服务器来实现视频会议系统NAT穿越,而导致的视频会议系统运行效率低和成本高的问题,进而达到了提升视频会议系统数据传输效率和容灾容错能力的效果。
可选地,第一发送模块74包括:第一发送单元以及第二发送单元,其中:
第一发送单元,设置为将呼叫请求和选择的媒体处理器的标识信息转发至目标终端;
第二发送单元,设置为在目标终端响应呼叫请求后,信令处理器将标识信息转发至源终端。
可选地,根据本发明实施例的用于视频会议的数据传输装置还包括:
第二发送模块,设置为向选择的媒体处理器发送资源请求;
第二接收模块,设置为接收选择的媒体处理器发送的指示信息,指示信息用于指示选择的媒体处理器允许分配资源请求所请求的资源。
可选地,源终端为视频会议客户端,目标终端为视频会议服务器,或者源终端为视频会议服务器,目标终端为视频会议客户端,选择模块72包括:
判断单元,设置为判断视频会议客户端是否位于私网;
选择单元,设置为在判断出视频会议客户端位于私网的情况下,根据拓扑关系和状态信息,从多个媒体处理器中选择出媒体处理器。
下面以一种具体实例对本发明实施例所提供的用于视频会议的数据传输装置进行详细说明。图8是根据本发明实施例的一种可选的用于视频会议的数据传输装置的结构框图;如图8所示,该用于视频会议的数据传输装置为图8中所示的信令处理器SP,该信令处理器SP包括如下模块:
信令转发模块:设置为负责视频会议客户端和服务器之间的信令转发,可以是H323和SIP等协议的消息,例如上述的视频会议的呼叫请求。
客户端IP地址辨别模块:设置为判断客户端是否处于私网内。
保存MP状态和更新模块:设置为保存MP状态,接收MP状态根系和查询MP最新状态。
MP选择模块:设置为按照预设算法,选择最合适的MP。
具体的,在图8所示的装置中,信令处理器SP分别与客户端、媒体处理器、视频会议服务器连接。在SP接收到客户端的呼叫请求后,通过客户端IP地址辨别模块,先辨别客户端 是否需要进行NAT穿越。如果需要进行NAT穿越,则从保存MP状态和更新模块获取MP状态信息,MP选择模块按照特定的算法计算出最合适的MP,信令转发模块将MP和呼叫请求发送给视频会议服务器,或者将MP发送给客户端。预设算法需要考虑MP当时的媒体处理资源、接入带宽、所在区域、到客户端网络的时延、抖动和丢包等因素。
图9是根据本发明实施例的另一种用于视频会议的数据传输的结构框图,如图9所示,该装置应用于媒体处理器侧,包括:第三接收模块90、第三发送模块92以及转发模块94,其中:
第三接收模块90,设置为接收信令处理器发来的资源请求,其中,媒体处理器为信令处理器在接收到视频会议的呼叫请求后,根据获取的多个媒体处理器的拓扑关系和多个媒体处理器的状态信息,从多个媒体处理器中选择出的一个媒体处理器,其中,呼叫请求为源终端呼叫目标终端时发起的请求;
第三发送模块92,设置为向信令处理器发送指示信息,指示信息用于指示媒体处理器允许分配资源请求所请求的资源;
转发模块94,设置为转发源终端和目标终端之间的视频会议的码流,其中,信令处理器接收到指示信息后,将媒体处理器通知给源终端和目标终端。
通过上述装置,采用媒体处理器接收信令处理器发来的资源请求,其中,媒体处理器为信令处理器在接收到视频会议的呼叫请求后,根据获取的多个媒体处理器的拓扑关系和多个媒体处理器的状态信息,从多个媒体处理器中选择出的一个媒体处理器,其中,呼叫请求为源终端呼叫目标终端时发起的请求;媒体处理器向信令处理器发送指示信息,指示信息用于指示媒体处理器允许分配资源请求所请求的资源;媒体处理器转发源终端和目标终端之间的视频会议的码流,其中,信令处理器接收到指示信息后,将媒体处理器通知给源终端和目标终端;解决了相关技术中通过集中部署NAT穿越服务器来实现视频会议系统NAT穿越,而导致的视频会议系统运行效率低和成本高的问题,进而达到了提升视频会议系统数据传输效率和容灾容错能力的效果。
可选地,根据本发明实施例的用于视频会议的数据传输装置还包括:
状态更新模块,设置为按照预设周期向信令处理器更新状态信息。
下面以一种具体实例对本发明实施例所提供的用于视频会议的数据传输装置进行详细说明。图10是根据本发明实施例的一种可选的用于视频会议的数据传输装置的结构框图;如图10所示,该用于视频会议的数据传输装置为图10中所示的媒体处理器MP,该媒体处理器MP包括如下模块:
媒体流转发模块:设置为转发视频会议客户端和服务器之间的媒体流,一般是RTP流,也可以是加密流。
状态信息模块:设置为查询和保存自己接入客户端数量、接入带宽、视频流的时延和抖 动、视频流的丢包、物理服务器CPU占用率等信息。
与SP状态交互模块:设置为响应SP的状态请求,定时向SP上报自己的状态。
具体的,在图10所示的装置中,媒体处理器分别于客户端、视频会议服务器、信令处理器连接。SP接收到客户端的呼叫请求后,辨别客户端是否需要进行NAT穿越时选择MP并通知客户端和服务器。同时,SP向MP请求资源,MP同意资源请求后,状态信息模块更新自己的状态信息并通过与SP状态交互模块发送至各个SP;当MP与客户端和服务器建立连接后,媒体流转发模块转发客户端与服务器之间的媒体流。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位于多个处理器中。
在本实施例中还提供了一种用于视频会议的数据传输系统,可执行本发明上述实施例提供的用于视频会议的数据传输方法。图11是根据本发明实施例的用于视频会议的数据传输的结构示意图,如图11所示,该系统包括:
至少一个信令处理器110,部署于一个或多个云服务器中,设置为在接收到视频会议的呼叫请求后,根据获取的多个媒体处理器的拓扑关系和媒体处理器的状态信息,从多个媒体处理器中选择出一个媒体处理器,将选择的媒体处理器的通知给源终端和目标终端,其中,呼叫请求为源终端呼叫目标终端时发起的请求;
至少一个媒体处理器111,部署于一个或多个云服务器中,设置为在被信令处理器选择后,转发源终端和目标终端的视频会议的码流。
具体的,如图11所示,多个信令处理器110和多个媒体处理器111分布式的部署在第三方云计算服务提供商的设备的上。当视频会议客户端114向视频会议服务器112发送视频会议呼叫时,视频会议客户端114按照预设算法从至少一个信令处理器110中选择出信令处理器SP2,并穿过NAT设备113后注册到该信令处理器SP2上,向该信令处理器SP2发送视频会议的呼叫请求。信令处理器SP2根据预设算法,从多个媒体处理器111中选择出媒体处理器MP2,并将MP2地址信息与呼叫请求一并发送至视频会议服务器112。视频会议服务器112向信令处理器SP2返回响应,信令处理器SP2接收到响应后将该媒体处理器MP2的地址信息发送至视频会议客户端114。视频会议客户端114、视频会议服务器112分别与媒体处理器MP2建立连接,媒体处理器MP2转发视频会议客户端114和视频会议服务器112之间的码流。
图12是根据本发明可选实施例的用于视频会议的数据传输系统的交互流程示意图。如图12所示,该流程包括如下步骤:
步骤S121,SP收到呼叫,具体的,视频会议客户端根据SP地址选择出信令处理器并向其发送呼叫请求。
步骤S122,SP从状态列表中选择MP。具体的,SP根据预设算法和MP的实时状态,为 视频会议客户端选择出最优MP。
步骤S123,SP向MP发送资源请求,用于请求媒体处理器中的媒体资源。
步骤S124,SP接收MP返回的响应请求。具体的,若MP同意分配资源,向SP回复同意;若MP资源受限,不同意分配资源,则回复失败,SP重新选择MP,回到步骤S122。
步骤S125,向其它SP更新自身的状态。
步骤S126,向其它SP更新自身的状态。
步骤S127,SP转发呼叫请求给视频会议服务器,并提供MP信息,以使视频会议服务器接入该MP。
步骤S128,视频会议服务器响应SP转发的会议请求。
步骤S129,SP转发会议响应给客户端,并提供MP信息,以使视频会议客户端接入该MP。
步骤S1210,MP与视频会议客户端之间交互视频会议的视频和音频码流,视频会议客户端通过MP进行视频和音频中转,穿越终端设备面临的NAT设备。
步骤S1211,MP与视频会议服务器之间交互视频会议的视频和音频码流。
步骤S1212至步骤S1214,MP定时向所有SP更新状态信息。
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
S1,信令处理器接收视频会议的呼叫请求,其中,呼叫请求为源终端呼叫目标终端时发起的请求;
S2,信令处理器在接收到呼叫请求后,根据获取的多个媒体处理器的拓扑关系和多个媒体处理器的状态信息,从多个媒体处理器中选择出一个媒体处理器;
S3,信令处理器将选择的媒体处理器通知给源终端和目标终端,其中,选择的媒体处理器用于转发源终端和目标终端之间的视频会议的码流。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
S1,信令处理器将呼叫请求和选择的媒体处理器的标识信息转发至目标终端;
S2,在目标终端响应呼叫请求后,信令处理器将标识信息转发至源终端。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
S1,信令处理器向选择的媒体处理器发送资源请求;
S2,信令处理器接收选择的媒体处理器发送的指示信息,指示信息用于指示选择的媒体 处理器允许分配资源请求所请求的资源。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
S1,信令处理器判断视频会议客户端是否位于私网;
S2,信令处理器在判断出视频会议客户端位于私网的情况下,根据拓扑关系和状态信息,从多个媒体处理器中选择出媒体处理器。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
S1,视频会议客户端获取多个信令处理器的地址信息;
S2,视频会议客户端按照预设条件从多个信令处理器中选择出一个信令处理器;
S3,视频会议客户端注册到选择的信令处理器上,其中,选择的信令处理器用于接收视频会议客户端向视频会议服务器发送的视频会议的呼叫请求,或者视频会议服务器向视频会议客户端发送的视频会议的呼叫请求。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
S1,信令处理器接收视频会议客户端发送的注册消息;
S2,信令处理器将注册消息转发至视频会议服务器;
S3,信令处理器接收到视频会议服务器返回的注册响应,将注册响应转发至视频会议客户端。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
S1,媒体处理器按照预设周期向多个信令处理器发送状态更新信息。
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
S1,媒体处理器接收信令处理器发来的资源请求,其中,媒体处理器为信令处理器在接收到视频会议的呼叫请求后,根据获取的多个媒体处理器的拓扑关系和多个媒体处理器的状态信息,从多个媒体处理器中选择出的一个媒体处理器,其中,呼叫请求为源终端呼叫目标终端时发起的请求;
S2,媒体处理器向信令处理器发送指示信息,指示信息用于指示媒体处理器允许分配资源请求所请求的资源;
S3媒体处理器转发源终端和目标终端之间的视频会议的码流,其中,信令处理器接收到指示信息后,将媒体处理器通知给源终端和目标终端。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
S1,媒体处理器按照预设周期向信令处理器更新状态信息。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
S1,信令处理器将呼叫请求和选择的媒体处理器的标识信息转发至目标终端;
S2,在目标终端响应呼叫请求后,信令处理器将标识信息转发至源终端。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行信令处理器接收视频会议的呼叫请求,其中,呼叫请求为源终端呼叫目标终端时发起的请求;信令处理器在接收到呼叫请求后,根据获取的多个媒体处理器的拓扑关系和多个媒体处理器的状态信息,从多个媒体处理器中选择出一个媒体处理器;信令处理器将选择的媒体处理器通知给源终端和目标终端,其中,选择的媒体处理器用于转发源终端和目标终端之间的视频会议的码流。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行信令处理器将呼叫请求和选择的媒体处理器的标识信息转发至目标终端;在目标终端响应呼叫请求后,信令处理器将标识信息转发至源终端。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行信令处理器向选择的媒体处理器发送资源请求;信令处理器接收选择的媒体处理器发送的指示信息,指示信息用于指示选择的媒体处理器允许分配资源请求所请求的资源。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行信令处理器判断视频会议客户端是否位于私网,其中,信令处理器在判断出视频会议客户端位于私网的情况下,根据拓扑关系和状态信息,从多个媒体处理器中选择出媒体处理器。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行视频会议客户端获取多个信令处理器的地址信息;视频会议客户端按照预设条件从多个信令处理器中选择出一个信令处理器;视频会议客户端注册到选择的信令处理器上,其中,选择的信令处理器用于接收视频会议客户端向视频会议服务器发送的视频会议的呼叫请求,或者视频会议服务器向视频会议客户端发送的视频会议的呼叫请求。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行信令处理器接收视频会议客户端发送的注册消息;信令处理器将注册消息转发至视频会议服务器;信令处理器接收到视频会议服务器返回的注册响应,将注册响应转发至视频会议客户端。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行媒体处理器按照预设周期向多个信令处理器发送状态更新信息。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行媒体处理器接收信令处理器发来的资源请求,其中,媒体处理器为信令处理器在接收到视频会议的呼叫请求 后,根据获取的多个媒体处理器的拓扑关系和多个媒体处理器的状态信息,从多个媒体处理器中选择出的一个媒体处理器,呼叫请求为源终端呼叫目标终端时发起的请求;媒体处理器向信令处理器发送指示信息,指示信息用于指示媒体处理器允许分配资源请求所请求的资源;媒体处理器转发源终端和目标终端之间的视频会议的码流,其中,信令处理器接收到指示信息后,将媒体处理器通知给源终端和目标终端。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行在媒体处理器转发源终端和目标终端之间的视频会议的码流之前,方法还包括:媒体处理器按照预设周期向信令处理器更新状态信息。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行信令处理器将呼叫请求和选择的媒体处理器的标识信息转发至目标终端;在目标终端响应呼叫请求后,信令处理器将标识信息转发至源终端。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的可选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
工业实用性
基于本发明实施例提供的上述技术方案,信令处理器接收视频会议的呼叫请求,其中,呼叫请求为源终端呼叫目标终端时发起的请求;信令处理器根据获取的多个媒体处理器的拓扑关系和多个媒体处理器的状态信息,从多个媒体处理器中选择出一个媒体处理器;信令处理器将选择的媒体处理器通知给源终端和目标终端,其中,选择的媒体处理器设置为转发源终端和目标终端之间的视频会议的码流;解决了相关技术中通过集中部署NAT穿越服务器来实现视频会议系统NAT穿越,而导致的视频会议系统运行效率低和成本高的问题,进而达到了提升视频会议系统数据传输效率和容灾容错能力的效果。

Claims (18)

  1. 一种用于视频会议的数据传输方法,包括:
    信令处理器接收视频会议的呼叫请求,其中,所述呼叫请求为源终端呼叫目标终端时发起的请求;
    所述信令处理器在接收到所述呼叫请求后,根据获取的多个媒体处理器的拓扑关系和所述多个媒体处理器的状态信息,从所述多个媒体处理器中选择出一个媒体处理器;
    所述信令处理器将选择的所述媒体处理器通知给所述源终端和所述目标终端,其中,选择的所述媒体处理器用于转发所述源终端和所述目标终端之间的视频会议的码流。
  2. 根据权利要求1所述的方法,其中,所述信令处理器将选择的所述媒体处理器通知给所述源终端和所述目标终端包括:
    所述信令处理器将所述呼叫请求和选择的所述媒体处理器的标识信息转发至所述目标终端;
    在所述目标终端响应所述呼叫请求后,所述信令处理器将所述标识信息转发至所述源终端。
  3. 根据权利要求1所述的方法,其中,在所述信令处理器将选择的所述媒体处理器通知给所述源终端和所述目标终端之前,所述方法还包括:
    所述信令处理器向选择的所述媒体处理器发送资源请求;
    所述信令处理器接收选择的所述媒体处理器发送的指示信息,所述指示信息用于指示选择的所述媒体处理器允许分配所述资源请求所请求的资源。
  4. 根据权利要求1至3任意一项所述的方法,其中,所述源终端为视频会议客户端,所述目标终端为视频会议服务器,或者所述源终端为所述视频会议服务器,所述目标终端为所述视频会议客户端。
  5. 根据权利要求4所述的方法,其中,所述信令处理器在接收到所述呼叫请求后,根据获取的多个媒体处理器的拓扑关系和所述多个媒体处理器的状态信息,从所述多个媒体处理器中选择出一个媒体处理器包括:
    所述信令处理器判断所述视频会议客户端是否位于私网,其中,所述信令处理器在判断出所述视频会议客户端位于私网的情况下,根据所述拓扑关系和所述状态信息,从所述多个媒体处理器中选择出所述媒体处理器。
  6. 根据权利要求4所述的方法,其中,在信令处理器接收视频会议的呼叫请求之前,所述方法还包括:
    所述视频会议客户端获取多个信令处理器的地址信息;
    所述视频会议客户端按照预设条件从所述多个信令处理器中选择出一个信令处理 器;
    所述视频会议客户端注册到选择的所述信令处理器上,其中,选择的所述信令处理器用于接收所述视频会议客户端呼叫所述视频会议服务器时发起的呼叫请求,或者所述视频会议服务器呼叫所述视频会议客户端时发起的呼叫请求。
  7. 根据权利要求6所述的方法,其中,所述视频会议客户端注册到选择的所述信令处理器上包括:
    所述信令处理器接收所述视频会议客户端发送的注册消息;
    所述信令处理器将所述注册消息转发至所述视频会议服务器;
    所述信令处理器接收到所述视频会议服务器返回的注册响应,将所述注册响应转发至所述视频会议客户端。
  8. 根据权利要求6所述的方法,其中,所述方法还包括:
    所述媒体处理器按照预设周期向所述多个信令处理器发送状态更新信息。
  9. 一种用于视频会议的数据传输方法,包括:
    媒体处理器接收信令处理器发来的资源请求,其中,所述媒体处理器为所述信令处理器在接收到视频会议的呼叫请求后,根据获取的多个媒体处理器的拓扑关系和所述多个媒体处理器的状态信息,从所述多个媒体处理器中选择出的一个媒体处理器,所述呼叫请求为源终端呼叫目标终端时发起的请求;
    所述媒体处理器向所述信令处理器发送指示信息,所述指示信息用于指示所述媒体处理器允许分配所述资源请求所请求的资源;
    所述媒体处理器转发所述源终端和所述目标终端之间的视频会议的码流,其中,所述信令处理器接收到所述指示信息后,将所述媒体处理器通知给所述源终端和所述目标终端。
  10. 根据权利要求9所述的方法,其中,在所述媒体处理器转发所述源终端和所述目标终端之间的视频会议的码流之前,所述方法还包括:
    所述媒体处理器按照预设周期向所述信令处理器更新所述状态信息。
  11. 根据权利要求9所述的方法,其中,在所述媒体处理器向所述信令处理器发送指示信息之后,所述方法还包括:
    所述信令处理器将所述呼叫请求和选择的所述媒体处理器的标识信息转发至所述目标终端;
    在所述目标终端响应所述呼叫请求后,所述信令处理器将所述标识信息转发至所述源终端。
  12. 一种用于视频会议的数据传输装置,应用于信令处理器侧,包括:
    第一接收模块,设置为接收视频会议的呼叫请求,其中,所述呼叫请求为源终端呼叫目标终端时发起的请求;
    选择模块,设置为在接收到所述呼叫请求后,根据获取的多个媒体处理器的拓扑关系和所述多个媒体处理器的状态信息,从所述多个媒体处理器中选择出一个媒体处理器;
    第一发送模块,设置为将选择的所述媒体处理器通知给所述源终端和所述目标终端,其中,选择的所述媒体处理器用于转发所述源终端和所述目标终端之间的视频会议的码流。
  13. 根据权利要求12所述的装置,其中,所述第一发送模块包括:
    第一发送单元,设置为将所述呼叫请求和选择的所述媒体处理器的标识信息转发至所述目标终端;
    第二发送单元,设置为在所述目标终端响应所述呼叫请求后,将所述标识信息转发至所述源终端。
  14. 根据权利要求12所述的装置,其中,所述装置还包括:
    第二发送模块,设置为向选择的所述媒体处理器发送资源请求;
    第二接收模块,设置为接收选择的所述媒体处理器发送的指示信息,所述指示信息用于指示选择的所述媒体处理器允许分配所述资源请求所请求的资源。
  15. 根据权利要求13所述的装置,其中,所述源终端为视频会议客户端,所述目标终端为视频会议服务器,或者所述源终端为所述视频会议服务器,所述目标终端为所述视频会议客户端,所述选择模块包括:
    判断单元,设置为判断所述视频会议客户端是否位于私网;
    选择单元,设置为在判断出所述视频会议客户端位于私网的情况下,根据所述拓扑关系和所述状态信息,从所述多个媒体处理器中选择出所述媒体处理器。
  16. 一种用于视频会议的数据传输装置,应用于媒体处理器侧,包括:
    第三接收模块,设置为接收信令处理器发来的资源请求,其中,所述媒体处理器为所述信令处理器在接收到视频会议的呼叫请求后,根据获取的多个媒体处理器的拓扑关系和所述多个媒体处理器的状态信息,从所述多个媒体处理器中选择出的一个媒体处理器,所述呼叫请求为源终端呼叫目标终端时发起的请求;
    第三发送模块,设置为向所述信令处理器发送指示信息,所述指示信息用于指示所述媒体处理器允许分配所述资源请求所请求的资源;
    转发模块,设置为转发所述源终端和所述目标终端之间的视频会议的码流,其中, 所述信令处理器接收到所述指示信息后,将所述媒体处理器通知给所述源终端和所述目标终端。
  17. 根据权利要求16所述的装置,其中,所述装置还包括:
    状态更新模块,设置为按照预设周期向所述信令处理器更新所述状态信息。
  18. 一种用于视频会议的数据传输系统,包括:
    至少一个信令处理器,部署于一个或多个云服务器中,设置为在接收到视频会议的呼叫请求后,根据获取的多个媒体处理器的拓扑关系和媒体处理器的状态信息,从所述多个媒体处理器中选择出一个媒体处理器,将选择的所述媒体处理器的通知给源终端和目标终端,其中,所述呼叫请求为所述源终端呼叫所述目标终端时发起的请求;
    至少一个媒体处理器,部署于一个或多个云服务器中,设置为在被所述信令处理器选择后,转发所述源终端和所述目标终端的视频会议的码流。
PCT/CN2016/075252 2015-07-24 2016-03-01 用于视频会议的数据传输方法、装置及系统 WO2016177056A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510442675.6A CN106713819A (zh) 2015-07-24 2015-07-24 用于视频会议的数据传输方法、装置及系统
CN201510442675.6 2015-07-24

Publications (1)

Publication Number Publication Date
WO2016177056A1 true WO2016177056A1 (zh) 2016-11-10

Family

ID=57217484

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/075252 WO2016177056A1 (zh) 2015-07-24 2016-03-01 用于视频会议的数据传输方法、装置及系统

Country Status (2)

Country Link
CN (1) CN106713819A (zh)
WO (1) WO2016177056A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111478882A (zh) * 2020-03-06 2020-07-31 视联动力信息技术股份有限公司 一种终端检测的方法和装置
CN113612964A (zh) * 2021-07-29 2021-11-05 深圳市捷视飞通科技股份有限公司 互动教学的处理方法、装置、计算机设备和存储介质

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110290140B (zh) * 2019-06-28 2021-09-24 腾讯科技(深圳)有限公司 多媒体数据处理方法及装置、存储介质、电子设备
CN113453025B (zh) * 2020-03-26 2023-02-28 杭州海康威视系统技术有限公司 数据获取方法及装置
CN112714186A (zh) * 2020-12-30 2021-04-27 北京大米科技有限公司 推流服务器的分配方法、媒体流的推送方法、装置、存储介质及电子设备
CN112788053A (zh) * 2021-01-25 2021-05-11 深圳市欢太科技有限公司 一种实时通信方法、装置、服务器、系统及存储介质
CN113014855B (zh) * 2021-02-09 2023-08-18 网宿科技股份有限公司 一种视频会议加速方法、系统及视频会议加速平台
CN113067807A (zh) * 2021-03-15 2021-07-02 北京中联环信科技有限公司 一种大容量并行处理通话系统及通话方法
CN113824922B (zh) * 2021-11-02 2022-02-25 共道网络科技有限公司 一种基于互联网庭审的音视频流控制方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050047423A1 (en) * 2003-08-29 2005-03-03 Kaul Bharat B. Protocol interworking framework
CN101459692A (zh) * 2008-12-26 2009-06-17 深圳市迪威新软件技术有限公司 一种会议电视的nat穿越系统和方法
CN103338348A (zh) * 2013-07-17 2013-10-02 天脉聚源(北京)传媒科技有限公司 一种网络音视频会议的实现方法、系统和服务器
WO2014127787A1 (de) * 2013-02-22 2014-08-28 Unify Gmbh & Co. Kg Verfahren zur steuerung von datenströmen einer virtuellen sitzung mit mehreren teilnehmern, kollaborationsserver, computerprogramm, computerprogrammprodukt und digitales speichermedium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2634140T3 (es) * 2012-07-16 2017-09-26 Tuttoespresso S.R.L. Cápsula y sistema para la preparación de bebidas

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050047423A1 (en) * 2003-08-29 2005-03-03 Kaul Bharat B. Protocol interworking framework
CN101459692A (zh) * 2008-12-26 2009-06-17 深圳市迪威新软件技术有限公司 一种会议电视的nat穿越系统和方法
WO2014127787A1 (de) * 2013-02-22 2014-08-28 Unify Gmbh & Co. Kg Verfahren zur steuerung von datenströmen einer virtuellen sitzung mit mehreren teilnehmern, kollaborationsserver, computerprogramm, computerprogrammprodukt und digitales speichermedium
CN103338348A (zh) * 2013-07-17 2013-10-02 天脉聚源(北京)传媒科技有限公司 一种网络音视频会议的实现方法、系统和服务器

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111478882A (zh) * 2020-03-06 2020-07-31 视联动力信息技术股份有限公司 一种终端检测的方法和装置
CN111478882B (zh) * 2020-03-06 2023-07-14 视联动力信息技术股份有限公司 一种终端检测的方法和装置
CN113612964A (zh) * 2021-07-29 2021-11-05 深圳市捷视飞通科技股份有限公司 互动教学的处理方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN106713819A (zh) 2017-05-24

Similar Documents

Publication Publication Date Title
WO2016177056A1 (zh) 用于视频会议的数据传输方法、装置及系统
US10848415B2 (en) Method for routing in a central conferencing routing server
US8631098B2 (en) Resource configuration method, server, network equipment and network system
US11277454B2 (en) Conference session access using reachability information for distributed clusters of media nodes
US20200169695A1 (en) Video conference multi-point control method and device, storage medium and computer apparatus
US8233400B2 (en) Methods, systems, and computer readable media for verifying the availability of an internet protocol (IP) media router during a call setup
EP2801187B1 (en) Central conferencing routing server
JP2005500786A (ja) Ipネットワークシステムにおいて複数のゾーンにわたるエンドポイント装置の呼び出し方法
US20180352009A1 (en) Apparatus for setting up conference call and method thereof
JP6748614B2 (ja) 通信システムおよび通信方法
CN110138850B (zh) 一种基于DNSmasq实现云PBX业务负载均衡的方法
US10972514B2 (en) Reestablishment of session initiation protocol (SIP) dialogs
CN111404761A (zh) 内容成环检测处理方法、装置和计算机可读存储介质
US7747672B1 (en) Method and apparatus using lightweight RRQ for efficient recovery of a call signaling channel in gatekeeper-routed call signaling
JP6689150B2 (ja) ゲートウェイ装置及び転送方法
TWI565290B (zh) 網路電話的通信方法及裝置
JP2006287417A (ja) 通信システム、通信方法、および通信プログラム
WO2011097997A1 (zh) 基于reload的客户端接入对等网络的方法和系统
JP2006338066A (ja) サーバ装置および通信接続方法

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: 16789050

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: 16789050

Country of ref document: EP

Kind code of ref document: A1