CN111107113A - Video data transmission method and device - Google Patents
Video data transmission method and device Download PDFInfo
- Publication number
- CN111107113A CN111107113A CN201811249748.XA CN201811249748A CN111107113A CN 111107113 A CN111107113 A CN 111107113A CN 201811249748 A CN201811249748 A CN 201811249748A CN 111107113 A CN111107113 A CN 111107113A
- Authority
- CN
- China
- Prior art keywords
- media server
- transmission path
- calling
- called
- transmission
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0668—Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
- H04L65/1104—Session initiation protocol [SIP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Telephonic Communication Services (AREA)
Abstract
The embodiment of the invention provides a video data transmission method and a video data transmission device, wherein the method comprises the following steps: distributing a calling end media server for a calling end and distributing a called end media server for a called end; constructing a plurality of transmission paths taking the calling end and the called end as two ends based on the calling end media server and/or the called end media server; and selecting a transmission path for video data transmission. The method and the device provided by the embodiment of the invention construct a plurality of transmission paths for video data transmission, effectively ensure the reliability of connection between the calling end and the called end in the video call process, can directly convert other transmission paths when the transmission paths are interrupted or switched, do not need to reconstruct the transmission paths, realize seamless connection between the transmission paths, avoid the problem of video blockage or video session overtime exit caused by video data transmission interruption, improve the stability of video data transmission and optimize the experience of video call users.
Description
Technical Field
The embodiment of the invention relates to the technical field of video communication, in particular to a video data transmission method and device.
Background
With the outbreak of the current video traffic, industries such as finance and communication have started video capacity to bear services such as service handling and expert diagnosis. Under the condition that multiple access networks such as a client mobile terminal is wide in geographic position, different in signal intensity and 4G/wifi exist together, how to select a transmission path for a video data request ensures good user experience of a front end, and is a hotspot of current research.
The video service is initiated from the external Network side of the mobile terminal, and the media server for carrying the video capability is generated in the internal Network, so that the construction of the video data transmission path needs to complete the penetration of an NAT (Network Address Translation) firewall, and the construction of the transmission path is completed through a message mechanism. The current commonly used video data transmission method mainly comprises the following working procedures: (1) collecting local IP addresses; (2) collecting NAT mapping and Relay addresses through STUN (Simple Traversal of UDP over NATs, user datagram protocol Traversal of NAT)/TURN (Traversal Using Relay NAT, Relay Traversal of NAT); (3) exchanging addresses of both calling and called parties through SIP (Session Initiation Protocol) messages; (4) detecting network paths one by one based on the addresses of the calling party and the called party; (5) initiating SIP message negotiation again and carrying the final path address; (6) formally constructing path connection and transmitting media data mutually; (7) when the network is disconnected from reconnection or network switching is performed, the above steps (1) - (6) are repeated.
Therefore, the current common video data transmission method has complex service logic, long implementation process and low switching speed under the switching of different network access technologies. Moreover, when the network is disconnected or reconnected, the transmission of video data is easily interrupted, which causes video blocking or video session timeout exiting.
Disclosure of Invention
The embodiment of the invention provides a video data transmission method and a video data transmission device, which are used for solving the problems that the existing video data transmission method is low in switching speed and easy to interrupt video transmission.
In a first aspect, an embodiment of the present invention provides a video data transmission method, including:
distributing a calling end media server for a calling end and distributing a called end media server for a called end;
constructing a plurality of transmission paths taking the calling end and the called end as two ends based on the calling end media server and/or the called end media server;
and selecting a transmission path for video data transmission.
In a second aspect, an embodiment of the present invention provides a video data transmission apparatus, including:
the media server distribution unit is used for distributing a calling end media server for a calling end and distributing a called end media server for a called end;
the path construction unit is used for constructing a plurality of transmission paths taking the calling end and the called end as two ends based on the calling end media server and/or the called end media server;
and the data transmission unit is used for selecting a transmission path to transmit the video data.
In a third aspect, an embodiment of the present invention provides an electronic device, including a processor, a communication interface, a memory, and a bus, where the processor and the communication interface, the memory complete communication with each other through the bus, and the processor may call a logic instruction in the memory to perform the steps of the method provided in the first aspect.
In a fourth aspect, an embodiment of the present invention provides a non-transitory computer readable storage medium, on which a computer program is stored, which when executed by a processor, implements the steps of the method as provided in the first aspect.
According to the video data transmission method and device provided by the embodiment of the invention, a plurality of transmission paths are constructed for video data transmission based on the media server of the calling end and/or the media server of the called end, so that the connection reliability between the calling end and the called end in the video call process is effectively ensured, other transmission paths can be directly converted when the transmission paths are interrupted or switched, the transmission paths do not need to be reconstructed, the seamless connection between the transmission paths is realized, the problem of video blocking or video session overtime quitting caused by video data transmission interruption is avoided, the video data transmission stability is improved, and the experience of video call users is optimized.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, and it is obvious that the drawings in the following description are some embodiments of the present invention, and those skilled in the art can also obtain other drawings according to the drawings without creative efforts.
Fig. 1 is a schematic flow chart illustrating a video data transmission method according to an embodiment of the present invention;
fig. 2 is a schematic structural diagram of a transmission path according to an embodiment of the present invention;
fig. 3 is a schematic structural diagram of a video transmission network of a video business hall according to an embodiment of the present invention;
fig. 4 is a schematic structural diagram of a video data transmission apparatus according to an embodiment of the present invention;
fig. 5 is a schematic structural diagram of an electronic device according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
In the implementation process of the video service, due to the fact that the physical position of a mobile terminal initiating a video request is wide and the signal intensity of mobile networks is different, a large number of wifi/3G/4G networks coexist. In order to ensure the high quality of video call and avoid the problem of video jamming or video session overtime exit caused by video data transmission interruption when a network is disconnected or reconnected, the embodiment of the invention provides a video data transmission method. Fig. 1 is a schematic flow chart of a video data transmission method according to an embodiment of the present invention, as shown in fig. 1, the method includes:
and 110, distributing a calling end media server for the calling end and distributing a called end media server for the called end.
Specifically, the calling terminal is a terminal device that initiates a video call request, and the called terminal is a terminal device that performs a video call with the calling terminal based on the video call request, where the terminal device may be an intelligent device having a video data transmission function, such as a smart phone, a tablet computer, or a notebook computer. For example, when the laptop computer a initiates a video call request to the smartphone B, the laptop computer a is a calling terminal, and the smartphone B is a called terminal. The video media server cluster comprises a plurality of video media servers with video bearing capacity, and after a calling end and a called end of video data transmission are determined, the calling end and the called end are respectively allocated with the corresponding video media servers from the video media server cluster. And the video media server distributed to the calling end is used as the media server of the calling end, and the video media server distributed to the called end is used as the media server of the called end.
And 120, constructing a plurality of transmission paths taking the calling terminal and the called terminal as two ends based on the calling terminal media server and/or the called terminal media server.
Specifically, after video media servers are respectively allocated to a calling terminal and a called terminal, a transmission path is constructed with the calling terminal and the called terminal as both terminals. The transmission path constructed here has at least two, and the transmission path can be a calling end-a calling end media server-a called end, or can be a calling end-a calling end media server-a called end, or can be a calling end-a called end media server-a called end. The transmission path constructed in the embodiment of the present invention may be any two of the three transmission paths, and may also include the three transmission paths.
And 130, selecting a transmission path for video data transmission.
Specifically, one transmission path is selected from the three or two transmission paths for video data transmission, where the video data is video data to be transmitted when a video call is performed between a calling end and a called end, and the video data includes video data transmitted from the calling end to the called end and/or video data transmitted from the called end to the calling end. Here, the transmission path for transmitting the video data may be randomly selected from the transmission paths, or may determine one transmission path according to network operation parameters such as network delay and packet loss rate of each transmission path, which is not specifically limited in this embodiment of the present invention.
The method provided by the embodiment of the invention constructs a plurality of transmission paths for video data transmission based on the media server of the calling end and/or the media server of the called end, effectively ensures the reliability of connection between the calling end and the called end in the video call process, can directly convert other transmission paths when the transmission paths are interrupted or switched, does not need to reconstruct the transmission paths, realizes seamless connection between the transmission paths, avoids the problem of video blockage or video session overtime quit caused by video data transmission interruption, improves the stability of video data transmission, and optimizes the experience of video call users.
Based on the above embodiment, step 110 specifically includes:
and 111, selecting two video media servers with the lowest resource utilization rate from the video media server cluster.
Any video media server is allocated to the calling terminal as a calling terminal media server, and another video media server is allocated to the called terminal as a called terminal media server 112.
Specifically, when video media servers are allocated to a calling end and a called end, the resource utilization rate of the video media servers is used as the allocation rule. And acquiring the resource utilization rate of each video media server in the video media server cluster, and selecting two video media servers with the lowest resource utilization rate from the video media server cluster according to the resource utilization rate. And respectively allocating the two video media servers with the lowest resource utilization rate to the calling end and the called end.
The method provided by the embodiment of the invention allocates the video media server with the lowest resource utilization rate selected from the video media server cluster to the calling end and the called end, provides the video media server with the optimal current performance for the calling end and the called end of video data transmission, and is beneficial to improving the quality of a transmission path of video data transmission.
Based on any of the above embodiments, between step 110 and step 120, the video data transmission method further includes: mapping the dynamic IP address of the calling terminal to a calling terminal media server and binding the dynamic IP address with the IP address of the calling terminal media server; and mapping the dynamic IP address of the called terminal to the media server of the called terminal, and binding the dynamic IP address with the IP address of the media server of the called terminal.
Specifically, after a calling end media server is allocated to a calling end, a fast NAT firewall penetration method is adopted, namely when the calling end is connected with a network, the calling end is controlled to transmit a dynamic IP address of the calling end to the calling end media server in an information transmission mode, so that the dynamic IP address of the calling end is mapped to the calling end media server, and then the calling end media server is controlled to bind the captured calling end IP address with the IP address of the calling end media server, so that the binding of the calling end and the calling end media server is realized.
Similarly, after the called end is allocated with the called end media server, the called end is controlled to transmit the dynamic IP address of the called end to the called end media server in an information transmission mode through a fast NAT firewall penetration method, when the called end is connected with the network, so that the dynamic IP address of the called end is mapped to the called end media server, and then the called end media server is controlled to bind the captured called end IP address with the IP address of the called end media server, thereby realizing the binding of the called end and the called end media server.
The method provided by the embodiment of the invention realizes the binding of the calling end and the calling end media server and the binding of the called end and the called end media server by a mapping mode after distributing the calling end media server and the called end media server respectively for the calling end and the called end, provides conditions for constructing a transmission path based on the calling end media server and/or the called end media server,
based on any of the above embodiments, fig. 2 is a schematic structural diagram of a transmission path provided in the embodiment of the present invention, and as shown in fig. 2, step 120 specifically includes:
and 121, exchanging the IP addresses of the calling end media server and the called end media server through SIP messages.
In particular, SIP (Session Initiation Protocol) is a text-based application-layer control Protocol for creating, modifying and releasing sessions for one or more participants. Here. The IP addresses of the media server of the calling end and the media server of the called end are exchanged through the SIP message, so that the media server of the calling end and the media server of the called end can obtain the IP address of the other side.
122, constructing a first transmission path, a second transmission path and a third transmission path based on the IP addresses of the calling end media server and the called end media server; the first transmission path is transferred through a calling end media server and a called end media server; the second transmission path is transferred through the media server of the calling end; the third transmission path is transferred through the media server of the called terminal.
Specifically, under the condition that both a calling end media server and a called end media server know the IP addresses of the opposite sides, the source address and the destination address are controlled to be detected mutually, namely, two ends needing to carry out video call are controlled, detection packets are mutually sent between the calling end and the called end through the video media servers distributed respectively to carry out path detection, and three transmission paths taking the calling end and the called end as two ends are constructed. Referring to fig. 2, a solid line represents a first transmission path, in the first transmission path, a calling end is connected to a calling end media server, the calling end media server is connected to a called end media server, and the called end media server is connected to a called end, so that a video transmission path for transferring between the calling end and the called end through the calling end media server and the called end media server is implemented. The dotted line represents a second transmission path, in the second transmission path, the calling end is connected with the calling end media server, and the calling end media server is connected with the called end through a firewall, so that a video transmission path for transferring between the calling end and the called end through the calling end media server is realized. And the dot-dash line represents a third transmission path, in the third transmission path, the calling end is connected with the called end media server through the firewall, and the called end media server is connected with the called end, so that the video transmission path for transferring between the calling end and the called end through the called end media server is realized.
According to the method provided by the embodiment of the invention, three transmission paths are constructed based on the media server of the calling terminal and the media server of the called terminal, and the three transmission paths are connected through a plurality of paths, so that the reliability and stability of video data transmission are effectively ensured.
Based on any of the above embodiments, step 130 specifically includes:
a path score for any transmission path is calculated 131 based on network operating parameters and/or path cost parameters for that transmission path.
Specifically, the network operation parameter refers to a network performance evaluation index of the transmission path, and the network operation parameter includes any one or more of bandwidth, throughput, delay, jitter, and packet loss rate of the transmission path. The path cost parameter refers to an evaluation index of the operation cost of the transmission path, and the path cost parameter includes any one or more of the number of CPU cores, main frequency, memory, disk space, and resource utilization rate of the video media server included in the transmission path. The path score refers to an evaluation index of the transmission path obtained based on the network operation parameter and/or the path cost parameter.
When calculating the path score of any transmission path, the calculation basis may be a network operation parameter of the transmission path, a path cost parameter of the transmission path, or both the network operation parameter and the path cost parameter of the transmission path, which is not specifically limited in the embodiment of the present invention.
132, selecting the transmission path with the highest path score from all the transmission paths as the preferred transmission path.
And 133, video data transmission is performed based on the preferred transmission path.
Specifically, after the path score of each transmission path is obtained, the transmission path with the highest path score is selected from all the transmission paths as a preferred transmission path, so that a video data transmission path is provided for video calls of a calling end and a called end. When the calculation basis of the path score is the network operation parameter, the preferred transmission path is the transmission path with the best network performance in all the transmission paths; when the calculation of the path score is based on the path cost parameter. The preferred transmission path is the transmission path with the lowest operation cost in all the transmission paths; when the calculation basis of the path score is the network operation parameter and the path cost parameter, the optimal transmission path is the transmission path with the optimal comprehensive performance of the network performance and the operation cost in all the transmission paths.
According to the method provided by the embodiment of the invention, the optimal transmission path is selected through the path scoring to transmit the video data, so that the video transmission efficiency is effectively improved on the premise of keeping the stability of multi-path transmission, and better experience is provided for video call users.
Based on any of the above embodiments, step 131 specifically includes:
1) calculating the network operation score of any transmission path based on the network operation parameters of the transmission path; the network operating parameter includes at least one of a delay, jitter, and packet loss rate.
For example, assuming that the delay is nd, the jitter is ns, the packet loss rate is pl, and c, d and (1-c-d) are weighting factors of the delay, the jitter and the packet loss rate, respectively, the network operation fraction Qr is shown as follows:
2) calculating a path cost score of the transmission path based on the path cost parameter of the transmission path; the path cost parameter includes at least one of a CPU core number, a master frequency, a memory, a disk space, and a resource utilization rate of the video media server in the transmission path.
For example, assuming b is a weighting factor, the communication cost fraction Qc is as follows:
it should be noted that, in the embodiment of the present invention, the execution sequence of step 1) and step 2) is not specifically limited.
3) And weighting the network operation score and the path cost score of the transmission path to obtain the path score of the transmission path.
For example, assuming that the weighting factors of the network operation score and the communication cost parameter are (1-a) and a, respectively, the path score Qs is (1-a) · Qr + a · Qc.
Based on the above formulas, when a is 0.2, b is 0.4, c is 0.2, and d is 0.4, the network operation parameters and the path cost parameters of the first transmission path, the second transmission path, and the third transmission path are obtained, respectively, and the path score of the first transmission path is 7.07, the path score of the second transmission path is 7.58, and the path score of the third transmission path is 7.23. Therefore, the path score of the second transmission path is the highest, the second transmission path is the optimal transmission path, and video data transmission is performed through the second transmission path.
Based on any of the above embodiments, after step 133, the method for transmitting video data further includes: and if the preferred transmission path has a fault or receives a transmission path switching instruction, selecting the transmission path with the highest path score from the other transmission paths for video data transmission.
Specifically, while video data transmission is performed through the preferred transmission path, the remaining respective transmission paths are still in a connected state. When the preferred transmission path has a fault and cannot continuously carry the transmission work of the video data generated by the video call, or when a transmission path switching instruction is received and the other transmission paths need to be switched to carry out the transmission work of the video data, the transmission path with the highest path score is reselected from all the transmission paths except the current preferred transmission path, and the subsequent transmission work of the video data is executed.
According to the method provided by the embodiment of the invention, under the condition that the transmission paths need to be switched, the transmission path with the highest path score is preferentially selected while the simultaneous connection of multiple transmission paths is ensured so as to meet the requirement of timely switching, so that the transmission efficiency of video data is ensured, and the experience of a video call user is optimized.
Based on any of the above embodiments, fig. 3 is a schematic structural diagram of a video transmission network of a video business hall according to an embodiment of the present invention, and as shown in fig. 3, the video transmission network includes a video media server cluster, a plurality of user terminals, and a plurality of seats. Here, the user terminal is a terminal device used by a client in the video business hall, and the seat is a terminal device used by a worker in the video business hall. The video media server cluster comprises a plurality of video media servers, any user terminal and any seat in the video transmission network can be respectively used as two ends of a video transmission task, namely, any client and any worker can respectively carry out video call with the seat through the user terminal, and online transaction of services is realized. Further, the video call includes a case where the user terminal is a calling terminal and the seat is a called terminal, and a case where the user terminal is a called terminal and the seat is a calling terminal, that is, a case where the customer actively initiates a video call request to a seat corresponding to a worker in the video business hall through the user terminal, and a case where the worker actively initiates a video call request to a user terminal corresponding to the customer through the seat.
Taking a user terminal A as a calling end and an agent B as a called end as an example, the video data transmission method comprises the following steps:
firstly, the resource utilization rate of each video media server in a video media server cluster is obtained, and two video media servers with the lowest resource utilization rate are selected from the video media server cluster according to the resource utilization rate and are respectively distributed to a user terminal A and a seat B to serve as a calling end media server and a called end media server.
Secondly, when the user terminal A is connected with the network, the user terminal A is controlled to transmit the dynamic IP address to the calling end media server in an information transmission mode, and then the calling end media server is controlled to bind the captured dynamic IP address of the user terminal A and the IP address of the calling end media server, so that the binding of the user terminal A and the calling end media server is realized. Similarly, when the agent B is connected with the network, the agent B is controlled to transmit the dynamic IP address of the agent B to the media server of the called terminal in an information transmission mode, and then the media server of the called terminal is controlled to bind the captured IP address of the agent B with the IP address of the media server of the called terminal, so that the binding of the agent B and the media server of the called terminal is realized.
Then, the IP addresses of the media server of the calling end and the media server of the called end are exchanged through SIP messages, under the condition that the media server of the calling end and the media server of the called end both know the IP addresses of the other end, two ends which need to execute video data transmission are controlled, a detection packet is mutually sent between the user terminal A and the seat B through the video media servers which are respectively distributed to carry out path detection, and three transmission paths with the user terminal A and the seat B as two ends are constructed. The first transmission path is transferred through a calling end media server and a called end media server, the second transmission path is transferred through the calling end media server, and the third transmission path is transferred through the called end media server.
And then, respectively calculating the path scores of the three transmission paths based on the network operation parameters and the path cost parameters of the three transmission paths, selecting the transmission path with the highest path score as a preferred transmission path, and enabling the user terminal A and the agent B to carry out video call through the preferred transmission path, wherein the preferred transmission path undertakes the transmission work of video data in the video call of the user terminal A and the agent B.
The method provided by the embodiment of the invention constructs a plurality of transmission paths for video data transmission based on the calling end and the calling end media server as well as the called end and the called end media server, thereby effectively ensuring the reliability of the connection between the calling end and the called end in the video call process, directly converting the other transmission paths when the transmission paths are interrupted or switched, avoiding reconstructing the transmission paths, realizing the seamless connection between the transmission paths, avoiding the problem of video blocking or video session overtime quitting caused by the interruption of video data transmission, improving the stability of video data transmission and optimizing the experience of video call users. The video media server with the lowest resource utilization rate selected from the video media server cluster is distributed to the calling end and the called end, so that the video media server with the optimal current performance is provided for the calling end and the called end of video data transmission, and the quality of a transmission path of the video data transmission is improved. In addition, three transmission paths are constructed based on the media server of the calling end and the media server of the called end, and the three transmission paths are connected through a plurality of paths, so that the reliability and the stability of video data transmission are effectively guaranteed. In addition, an optimal transmission path is selected through path scoring to transmit video data, so that the video transmission efficiency is effectively improved on the premise of keeping the stability of multi-path transmission, and better experience is provided for users.
Based on any of the above method embodiments, fig. 4 is a schematic structural diagram of a video data transmission apparatus according to an embodiment of the present invention, as shown in fig. 4, the video data transmission apparatus includes a media server allocation unit 410, a path construction unit 420, and a data transmission unit 430;
the media server allocation unit 410 is configured to allocate a calling-end media server to a calling end and allocate a called-end media server to a called end;
a path construction unit 420, configured to construct multiple transmission paths with a calling end and a called end as two ends based on a calling end media server and/or a called end media server;
the data transmission unit 430 is configured to select a transmission path for video data transmission.
Based on any of the above embodiments, the media server allocating unit 410 specifically includes a server selecting sub-unit and a server allocating sub-unit;
the server selection subunit is used for selecting two video media servers with the lowest resource utilization rate from the video media server cluster;
the server allocation subunit is used for allocating any video media server as a calling end media server to a calling end, and allocating another video media server as a called end media server to a called end.
The device provided by the embodiment of the invention constructs a plurality of transmission paths for video data transmission based on the calling end and the calling end media server as well as the called end and the called end media server, thereby effectively ensuring the reliability of connection between the calling end and the called end in the video call process, directly converting the rest transmission paths when the transmission paths are interrupted or switched, avoiding reconstructing the transmission paths, realizing seamless connection between the transmission paths, avoiding the problem of video blocking or video session overtime quitting caused by video data transmission interruption, improving the stability of video data transmission and optimizing the experience of video call users.
Based on any of the above embodiments, the video data transmission apparatus further comprises a binding unit; the binding unit is used for mapping the dynamic IP address of the calling terminal to the media server of the calling terminal and binding the dynamic IP address of the calling terminal with the IP address of the media server of the calling terminal; and mapping the dynamic IP address of the called terminal to the media server of the called terminal, and binding the dynamic IP address with the IP address of the media server of the called terminal.
Based on any of the above embodiments, the path construction unit 420 is specifically configured to: exchanging IP addresses of a calling end media server and a called end media server through SIP messages; constructing a first transmission path, a second transmission path and a third transmission path based on the IP addresses of a calling end media server and a called end media server; the first transmission path is transferred through a calling end media server and a called end media server; the second transmission path is transferred through the media server of the calling end; the third transmission path is transferred through the media server of the called terminal.
Based on any of the above embodiments, the data transmission unit 430 specifically includes a calculation subunit, a selection subunit, and a transmission subunit;
the calculating subunit is configured to calculate a path score of any transmission path based on a network operation parameter and/or a path cost parameter of the transmission path;
the selecting subunit is used for selecting the transmission path with the highest path score from all the transmission paths as the preferred transmission path;
the transmission subunit is configured to perform video data transmission based on the preferred transmission path.
Based on any of the embodiments described above, the calculation subunit is specifically configured to: calculating the network operation score of any transmission path based on the network operation parameters of the transmission path; the network operation parameter comprises at least one of time delay, jitter and packet loss rate; calculating a path cost score of the transmission path based on the path cost parameter of the transmission path; the path cost parameter comprises at least one of CPU core number, main frequency, memory, disk space and resource utilization rate of the video media server in the transmission path; and weighting the network operation score and the path cost score of the transmission path to obtain the path score of the transmission path.
Based on any of the above embodiments, the data transmission unit 430 further includes a switching subunit; the switching subunit is configured to select a transmission path with the highest path score from the remaining transmission paths for video data transmission if the preferred transmission path fails or a transmission path switching instruction is received.
Fig. 5 is a schematic entity structure diagram of an electronic device according to an embodiment of the present invention, and as shown in fig. 5, the electronic device may include: a processor (processor)501, a communication Interface (Communications Interface)502, a memory (memory)503, and a communication bus 504, wherein the processor 501, the communication Interface 502, and the memory 503 are configured to communicate with each other via the communication bus 504. The processor 501 may call a computer program stored on the memory 503 and executable on the processor 501 to perform the video data transmission method provided by the above embodiments, for example, including: distributing a calling end media server for a calling end and distributing a called end media server for a called end; constructing a plurality of transmission paths taking the calling end and the called end as two ends based on the calling end media server and/or the called end media server; and selecting a transmission path for video data transmission.
In addition, the logic instructions in the memory 503 may be implemented in the form of software functional units and stored in a computer readable storage medium when the logic instructions are sold or used as independent products. Based on such understanding, the technical solutions of the embodiments of the present invention may be essentially implemented or make a contribution to the prior art, or may be implemented in the form of a software product stored in a storage medium and including instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the methods described in the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
An embodiment of the present invention further provides a non-transitory computer-readable storage medium, on which a computer program is stored, where the computer program is implemented to perform the video data transmission method provided in the foregoing embodiments when executed by a processor, and the method includes: distributing a calling end media server for a calling end and distributing a called end media server for a called end; constructing a plurality of transmission paths taking the calling end and the called end as two ends based on the calling end media server and/or the called end media server; and selecting a transmission path for video data transmission.
The above-described embodiments of the apparatus are merely illustrative, and the units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the present embodiment. One of ordinary skill in the art can understand and implement it without inventive effort.
Through the above description of the embodiments, those skilled in the art will clearly understand that each embodiment can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware. With this understanding in mind, the above-described technical solutions may be embodied in the form of a software product, which can be stored in a computer-readable storage medium such as ROM/RAM, magnetic disk, optical disk, etc., and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the methods described in the embodiments or some parts of the embodiments.
Finally, it should be noted that: the above examples are only intended to illustrate the technical solution of the present invention, but not to limit it; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions of the embodiments of the present invention.
Claims (10)
1. A method for video data transmission, comprising:
distributing a calling end media server for a calling end and distributing a called end media server for a called end;
constructing a plurality of transmission paths taking the calling end and the called end as two ends based on the calling end media server and/or the called end media server;
and selecting one transmission path to transmit video data.
2. The method according to claim 1, wherein the allocating a calling-side media server to the calling side and a called-side media server to the called side specifically comprises:
selecting two video media servers with the lowest resource utilization rate from the video media server cluster;
and any one of the video media servers is taken as the media server of the calling end to be distributed to the calling end, and the other video media server is taken as the media server of the called end to be distributed to the called end.
3. The method of claim 1, wherein the allocating a calling media server to the calling side and a called media server to the called side further comprises:
mapping the dynamic IP address of the calling terminal to the media server of the calling terminal and binding the dynamic IP address of the calling terminal with the IP address of the media server of the calling terminal;
and mapping the dynamic IP address of the called terminal to the media server of the called terminal, and binding the dynamic IP address of the called terminal with the IP address of the media server of the called terminal.
4. The method according to claim 1, wherein the constructing a plurality of transmission paths with the calling end and the called end as two ends based on the calling end media server and/or the called end media server specifically comprises:
exchanging the IP addresses of the calling end media server and the called end media server through SIP messages;
constructing a first transmission path, a second transmission path and a third transmission path based on the IP addresses of the calling end media server and the called end media server; the first transmission path is transferred through the media server of the calling terminal and the media server of the called terminal; the second transmission path is transferred through the media server of the calling terminal; and the third transmission path is transferred through the media server of the called terminal.
5. The method according to claim 1, wherein the selecting one of the transmission paths for video data transmission specifically comprises:
calculating a path score of any transmission path based on a network operation parameter and/or a path cost parameter of the transmission path;
selecting the transmission path with the highest path score from all the transmission paths as a preferred transmission path;
and transmitting the video data based on the preferred transmission path.
6. The method according to claim 5, wherein the calculating a path score of any transmission path based on the network operation parameter and/or the path cost parameter of any transmission path specifically comprises:
calculating a network operation score of any transmission path based on the network operation parameters of the transmission path; the network operation parameter comprises at least one of time delay, jitter and packet loss rate;
calculating a path cost score for the any transmission path based on the path cost parameter for the any transmission path; the path cost parameter comprises at least one of CPU core number, main frequency, memory, disk space and resource utilization rate of the video media server in any transmission path;
and weighting the network operation score and the path cost score of any transmission path to obtain the path score of any transmission path.
7. The method of claim 5, wherein the transmitting video data based on the preferred transmission path is further followed by:
if the preferred transmission path is in fault or a transmission path switching instruction is received, selecting the transmission path with the highest path score from the rest transmission paths to transmit video data.
8. A video data transmission apparatus, comprising:
the media server distribution unit is used for distributing a calling end media server for a calling end and distributing a called end media server for a called end;
a path construction unit, configured to construct multiple transmission paths with the calling end and the called end as two ends based on the calling end media server and/or the called end media server;
and the data transmission unit is used for selecting one transmission path to transmit the video data.
9. An electronic device, comprising a processor, a communication interface, a memory and a bus, wherein the processor, the communication interface and the memory communicate with each other via the bus, and the processor can call logic instructions in the memory to execute the method according to any one of claims 1 to 7.
10. A non-transitory computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the method according to any one of claims 1 to 7.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811249748.XA CN111107113A (en) | 2018-10-25 | 2018-10-25 | Video data transmission method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811249748.XA CN111107113A (en) | 2018-10-25 | 2018-10-25 | Video data transmission method and device |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111107113A true CN111107113A (en) | 2020-05-05 |
Family
ID=70417680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811249748.XA Pending CN111107113A (en) | 2018-10-25 | 2018-10-25 | Video data transmission method and device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111107113A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117319714A (en) * | 2023-09-15 | 2023-12-29 | 中移互联网有限公司 | Video playing quality evaluation and early warning method and system based on medium number platform |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7643412B1 (en) * | 2003-10-30 | 2010-01-05 | Nortel Networks Limited | Media proxy able to detect blocking |
CN102201995A (en) * | 2011-06-03 | 2011-09-28 | 北京邮电大学 | Combination service system and method for realizing network load optimization |
CN102780777A (en) * | 2012-07-19 | 2012-11-14 | 北京蓝汛通信技术有限责任公司 | Log collecting method and log collecting system |
CN103685144A (en) * | 2012-08-31 | 2014-03-26 | 中兴通讯股份有限公司 | Media stream transmission method and device |
CN103945198A (en) * | 2014-05-13 | 2014-07-23 | 高新兴科技集团股份有限公司 | System and method for controlling streaming media route of video monitoring system |
CN104410509A (en) * | 2014-10-16 | 2015-03-11 | 宁波菊风***软件有限公司 | A multipath data transmitting method based on quality evaluation |
-
2018
- 2018-10-25 CN CN201811249748.XA patent/CN111107113A/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7643412B1 (en) * | 2003-10-30 | 2010-01-05 | Nortel Networks Limited | Media proxy able to detect blocking |
CN102201995A (en) * | 2011-06-03 | 2011-09-28 | 北京邮电大学 | Combination service system and method for realizing network load optimization |
CN102780777A (en) * | 2012-07-19 | 2012-11-14 | 北京蓝汛通信技术有限责任公司 | Log collecting method and log collecting system |
CN103685144A (en) * | 2012-08-31 | 2014-03-26 | 中兴通讯股份有限公司 | Media stream transmission method and device |
CN103945198A (en) * | 2014-05-13 | 2014-07-23 | 高新兴科技集团股份有限公司 | System and method for controlling streaming media route of video monitoring system |
CN104410509A (en) * | 2014-10-16 | 2015-03-11 | 宁波菊风***软件有限公司 | A multipath data transmitting method based on quality evaluation |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117319714A (en) * | 2023-09-15 | 2023-12-29 | 中移互联网有限公司 | Video playing quality evaluation and early warning method and system based on medium number platform |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9332583B2 (en) | Multipoint communication device and method of performing switching from multipoint communication to point-to-point communication | |
KR102334467B1 (en) | Establishing and maintaining a voip call | |
KR101176144B1 (en) | System and method for peer-to-peer connection in multiple network environment | |
US20110208802A1 (en) | Distributed connectivity policy enforcement with ice | |
US10367893B1 (en) | Method and apparatus of performing peer-to-peer communication establishment | |
CN103107983B (en) | Data management method of network system and related system thereof | |
EP2706728A1 (en) | Method and device for improving voice or video transmission quality in a cloud computing mode | |
US9794164B2 (en) | Mobile relay network intelligent routing | |
US20230291706A1 (en) | Method for accessing network, media gateway, electronic device and storage medium | |
US20130065588A1 (en) | Transmitting data over multiple networks | |
US11659012B2 (en) | Relayed communication channel establishment | |
CN106101468B (en) | Method and device for determining transmission link | |
CN112351115A (en) | Port prediction method and device of symmetric NAT equipment | |
CN113726901A (en) | P2P communication method and system based on ICE | |
CN111107113A (en) | Video data transmission method and device | |
US20130067083A1 (en) | Transmitting Data Over Multiple Networks | |
US8812694B2 (en) | Dialog establishment over a peer-to-peer architecture | |
CN109120578B (en) | Method and device for realizing link connection processing | |
CN106921625A (en) | Multimedia service processing system, data is activation and method of reseptance and terminal | |
EP3817330A1 (en) | Media interaction method in dect network cluster | |
CN114915748A (en) | Method, system and related device for dynamically switching audio and video communication modes | |
EP2608488B1 (en) | Dialog establishment over a peer-to-peer architecture | |
US20110249669A1 (en) | Method for service inter-working and session channel establishment, inter-working selection function module and device | |
CN115277569A (en) | Multimedia communication method, system, related equipment and storage medium | |
WO2016029820A1 (en) | Service processing method, system and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200505 |
|
RJ01 | Rejection of invention patent application after publication |