CN109889543A - Method, root node, child node, P2P server and the system of transmission of video - Google Patents

Method, root node, child node, P2P server and the system of transmission of video Download PDF

Info

Publication number
CN109889543A
CN109889543A CN201910234475.XA CN201910234475A CN109889543A CN 109889543 A CN109889543 A CN 109889543A CN 201910234475 A CN201910234475 A CN 201910234475A CN 109889543 A CN109889543 A CN 109889543A
Authority
CN
China
Prior art keywords
video
subflow
node
frame
bag
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.)
Granted
Application number
CN201910234475.XA
Other languages
Chinese (zh)
Other versions
CN109889543B (en
Inventor
戴满佐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Huaduo Network Technology Co Ltd
Original Assignee
Guangzhou Huaduo Network Technology Co Ltd
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 Guangzhou Huaduo Network Technology Co Ltd filed Critical Guangzhou Huaduo Network Technology Co Ltd
Priority to CN201910234475.XA priority Critical patent/CN109889543B/en
Publication of CN109889543A publication Critical patent/CN109889543A/en
Priority to PCT/CN2019/120024 priority patent/WO2020192152A1/en
Application granted granted Critical
Publication of CN109889543B publication Critical patent/CN109889543B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications

Landscapes

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

Abstract

Present disclose provides a kind of method of transmission of video, root node, child node, P2P server and systems, belong to technical field of audio/video.The described method includes: in pushing video frame, root node can receive the Streaming Media FLV rectification of CDN server transmission, by FLV rectify in each video frame according to preset length be divided into multiple video bags, child node can send subflow to root node and subscribe to request, root node subscribes to request according to the subflow received, it determines that each subflow is subscribed in multiple video bags and requests corresponding video bag, then each subflow is subscribed to and is requested, sent subflow to child node belonging to subflow subscription request and subscribe to the corresponding video bag of request.Using the disclosure, the data traffic cost of CDN server can be saved.

Description

Method, root node, child node, P2P server and the system of transmission of video
Technical field
This disclosure relates to technical field of audio/video, in particular to a kind of method of transmission of video, root node, child node, P2P Server and system.
Background technique
With the development of computer technology and network technology, more and more application programs that are broadcast live occur, and user is being broadcast live Live streaming is watched in application program.
In the related technology, the transmission mode of the audio/video flow of main broadcaster can be with are as follows: audio/video flow is split into company by main broadcaster's terminal Continuous audio, video data packet, is sent to CDN using TCP (Transmission Control Protocol, transmission control protocol) (Content Delivery Network, content distributing network) server.CDN server can send audio, video data packet To vlewer terminals, vlewer terminals can form audio/video flow based on the audio, video data packet received, play out.
Due to being to pull audio/video flow from CDN server, so the data traffic cost that will lead to CDN server compares It is high.
Summary of the invention
In order to solve problems in the prior art, the embodiment of the present disclosure provides a kind of method of transmission of video, root node, son Node, P2P server and system.The technical solution is as follows:
In a first aspect, providing a kind of method of transmission of video, which comprises
The Streaming Media FLV rectification that reception content distribution network CDN server is sent;
Each video frame in FLV rectification is divided into multiple video bags according to preset length;
Request is subscribed to according to the subflow received, it is corresponding to determine that each subflow subscribes to request in the multiple video bag Video bag;
Each subflow is subscribed to and is requested, child node belonging to the subscription request of Xiang Suoshu subflow sends the subflow subscription and asks Seek corresponding video bag.
Optionally, described by after each video frame is divided into multiple video bags according to preset length in FLV rectification, also Include:
The obtained multiple video bags of division are successively numbered and when the video frame of division is I frame, to dividing I frame Obtained video bag re-starts number;
The subflow that the basis receives subscribes to request, determines that each subflow subscribes to request pair in the multiple video bag The video bag answered, comprising:
The number that request and video bag are subscribed to according to the subflow received determines each subflow in the multiple video bag It subscribes to and requests corresponding video bag.
Optionally, the subflow, which is subscribed to, carries subflow number and total subflow number in request;
The subflow that the basis receives is subscribed to please with the number of video bag, and every height is determined in the multiple video bag Stream, which is subscribed to, requests corresponding video bag, comprising:
The number that the number of the subflow in requesting, total subflow number and video bag are subscribed to according to the subflow received, described It determines that each subflow is subscribed in multiple video bags and requests corresponding video bag.
In this way, child node can be made faster to recover video frame.
Optionally, for each video bag, the video bag also carries first of video frame belonging to the video bag Timestamp, the video bag frame in packet serial number, it is described belonging to video frame former frame video frame the second timestamp, described The number for the video bag that video frame belonging to video bag includes.
Optionally, the subflow, which is subscribed to, carries subflow number in request;
The method also includes:
The subflow number in request is subscribed to according to the subflow received, if it is determined that the first subflow is subscribed to request neutron current and compiled Number it is the subflow number for sending audio frame, then subscribes to child node belonging to request to first subflow and send the FLV rectification In audio frame.
Optionally, the timestamp of the audio frame, the previous audio of the audio frame are also carried in the audio frame Adjacent continuous preset number audio frame before the timestamp of frame, the serial number of audio frame and the previous audio frame Timestamp.
In this way, the audio frame for needing to retransmit can be determined faster.
Optionally, the method also includes:
Receive child node switching notice;
If meeting child node switching condition, subflow is subscribed to other nodes, and disconnect the company with CDN server It connects.
In this way, root node and child node can be adjusted dynamically.
Second aspect provides a kind of method of transmission of video, which comprises
Subflow is sent to node and subscribes to request, wherein the subflow, which is subscribed to, carries subflow number and total subflow in request Number;
It receives the node and the video bag that request is determined is subscribed to according to the subflow, wherein the video bag is described Video frame is split to obtain by node according to preset length, and the video frame is taken by the node received from content distributing network CDN Business device;
According to the video bag received, video flowing is formed, the video flowing is played.
Optionally, for each video bag, the video bag also carries first of video frame belonging to the video bag Timestamp, the video bag frame in packet serial number, it is described belonging to video frame former frame video frame the second timestamp, described The number for the video bag that video frame belonging to video bag includes;
The method also includes:
According to the first time stamp carried in the video bag received and second timestamp, if there is not connecing The first video frame and/or the first video bag received sends retransmission request to retransmission server then when reaching re-transmission interval, Wherein, if not receiving first video frame, the first time of first video frame is carried in the retransmission request Stamp, if not receiving first video bag, carries video frame belonging to first video bag in the retransmission request First time stamp and first video bag frame in packet serial number, if not receiving first video frame and described first Video bag, then the first time stamp that first video frame is carried in the retransmission request, view belonging to first video bag Packet serial number in the first time stamp of frequency frame and the frame of first video bag.
In this manner it is achieved that retransmitting.
Optionally, described when reaching re-transmission interval, retransmission request is sent to retransmission server, comprising:
When reaching re-transmission interval, if node re-transmission is inactive, retransmission request is sent to retransmission server.
In this manner it is achieved that retransmitting.
Optionally, the method also includes:
If node retransmits starting, to the node for sending first video bag and/or first video frame is sent Node send retransmission request.
In this manner it is achieved that retransmitting.
Optionally, the method also includes:
If the difference of the timestamp for the second video bag being currently received and third timestamp is greater than the first preset threshold, Alternatively, the timestamp for the second video bag being currently received and the difference of the 4th timestamp are greater than the first preset threshold, then by institute State the second video bag deletion, wherein the third timestamp be current point in time before the first preset duration in receive The minimum value of the timestamp of video bag, the 4th timestamp be current point in time before first preset duration in receive The maximum value of the timestamp of the video bag arrived.
In this way, illegal video bag can be deleted.
Optionally, the video bag that the basis receives forms video flowing, plays the video flowing, comprising:
If the difference that current point in time and last time play the time point of the video frame in video flowing reaches second Preset threshold, and the number for receiving the video frame for not sending to broadcasting is more than third predetermined threshold value, it is determined that the video received The smallest I frame of timestamp in frame;
According to the video bag of the video frame after the video bag of the I frame and the I frame, video flowing is formed, described in broadcasting Video flowing.
In this way, can make to play continuous.
Optionally, the method also includes:
Receive audio frame;
The video bag that the basis receives forms video flowing, plays the video flowing, comprising:
According to packet serial number and timestamp in the frame of the video bag received, video bag is formed into video frame;
According to the timestamp of the timestamp of the video frame and the audio frame, by the video frame and audio frame group audio Video flowing;
Play the audio/video flow.
In this way, family, which can be used, sees video.
Optionally, the method also includes:
If the timestamp for the first audio frame being currently received and the difference of the 5th timestamp are greater than the 4th preset threshold, Alternatively, the timestamp for the second audio frame being currently received and the difference of the 6th timestamp are greater than the 4th preset threshold, then by institute State the second audio frame deletion, wherein the 5th timestamp be current point in time before the second preset duration in receive The minimum value of the timestamp of audio frame, the 6th timestamp be current point in time before the second preset duration in receive The maximum value of the timestamp of audio frame.
In this way, illegal audio frame can be deleted.
Optionally, the method also includes:
Receive root node switching notice;
Subflow unsubscription request is sent to the root node for subscribing to subflow, and establishes and connects with content distribution network CDN service device It connects;
Streaming Media FLV rectification is obtained from the CDN server.
In this way, root node and child node can be adjusted dynamically.
Optionally, the method also includes:
Receive the node listing that point-to-point P2P server is sent;
It is communicated according to the node in the node listing, determines that the subflow subscribes to the node that request is sent to.
In this way, child node can be made to determine that subflow subscribes to the node that request is sent to.
The third aspect provides a kind of method of transmission of video, which comprises
Obtain the code rate within child node target preset duration;
According to the corresponding relationship of range of code rates and total subflow number, the corresponding total son of range of code rates belonging to the code rate is determined Fluxion;
Total subflow number is sent to the child node, wherein total subflow number is sent in the child node to node It when subflow subscribes to request, is carried at subflow and subscribes in request, carry and be used for institute in total subflow number that the subflow subscribes to request It states node and determines the video bag sent toward the child node, the video bag is that the node tears video frame according to preset length open Get, the video frame is by the node received from content distribution network CDN service device.
Optionally, the method also includes:
Determine preset number root node at random in the terminal for establishing connection with this equipment;
Root node switching notice is sent to the FLV node determined as root node, and is determined as root node FLV to except described Other nodes except node send child node switching notice.
Optionally, the method also includes:
Determine the data volume of each node transmission data in third preset duration adjacent before current point in time;
If the corresponding data volume of target child node is greater than or equal to default value, root is sent to the target child node Node switching notice.
In this way, root node and child node can be adjusted dynamically.
Optionally, the method also includes:
Determine the data volume of each node transmission data in the 4th preset duration adjacent before current point in time;
If the corresponding data volume of target root node is less than default value, child node is sent to the target root node and is cut Change notice.
In this way, root node and child node can be adjusted dynamically.
Fourth aspect, provides a kind of root node of transmission of video, and the root node includes:
Receiving module, the Streaming Media FLV rectification sent for reception content distribution network CDN server;
Module is split, for each video frame in FLV rectification to be divided into multiple video bags according to preset length;
Determining module determines each subflow for subscribing to request according to the subflow received in the multiple video bag It subscribes to and requests corresponding video bag;
Sending module is requested for subscribing to for each subflow, and Xiang Suoshu subflow is subscribed to child node belonging to request and sent The subflow, which is subscribed to, requests corresponding video bag.
Optionally, the fractionation module, is also used to:
After each video frame is divided into multiple video bags according to preset length in FLV rectification, division is obtained Multiple video bags are successively numbered and when the video frame of division are I frame, re-start to the video bag that I frame obtains is divided Number;
The determining module, is used for:
The number that request and video bag are subscribed to according to the subflow received determines each subflow in the multiple video bag It subscribes to and requests corresponding video bag.
Optionally, the subflow, which is subscribed to, carries subflow number and total subflow number in request;
The determining module, is used for:
The number that the number of the subflow in requesting, total subflow number and video bag are subscribed to according to the subflow received, described It determines that each subflow is subscribed in multiple video bags and requests corresponding video bag.
Optionally, for each video bag, the video bag also carries first of video frame belonging to the video bag Timestamp, the video bag frame in packet serial number, it is described belonging to video frame former frame video frame optional, the subflow It subscribes to and carries subflow number in request;
The sending module, is also used to:
The subflow number in request is subscribed to according to the subflow received, if it is determined that the first subflow is subscribed to request neutron current and compiled Number it is the subflow number for sending audio frame, then subscribes to child node belonging to request to first subflow and send the FLV rectification In audio frame.
Optionally, the timestamp of the audio frame, the previous audio of the audio frame are also carried in the audio frame Adjacent continuous preset number audio frame before the timestamp of frame, the serial number of audio frame and the previous audio frame Timestamp.
Optionally, the receiving module, is also used to:
Receive child node switching notice;
The sending module, is also used to:
If meeting child node switching condition, subflow is subscribed to other nodes, and disconnect the company with CDN server It connects.
5th aspect, provides a kind of child node of transmission of video, the child node includes:
Sending module subscribes to request for sending subflow to node, wherein the subflow subscribes in request and carries subflow Number and total subflow number;
Receiving module subscribes to the video bag that request is determined according to the subflow for receiving the node, wherein described Video bag is that video frame is split to obtain by the node according to preset length, and the video frame is by the node received from content point Hairnet network CDN server;
Playing module, for forming video flowing, playing the video flowing according to the video bag received.
Optionally, for each video bag, the video bag also carries first of video frame belonging to the video bag Timestamp, the video bag frame in packet serial number, it is described belonging to video frame former frame video frame the second timestamp, described The number for the video bag that video frame belonging to video bag includes;
The sending module, is also used to:
According to the first time stamp carried in the video bag received and second timestamp, if there is not connecing The first video frame and/or the first video bag received sends retransmission request to retransmission server then when reaching re-transmission interval, Wherein, if not receiving first video frame, the first time of first video frame is carried in the retransmission request Stamp, if not receiving first video bag, carries video frame belonging to first video bag in the retransmission request First time stamp and first video bag frame in packet serial number, if not receiving first video frame and described first Video bag, then the first time stamp that first video frame is carried in the retransmission request, view belonging to first video bag Packet serial number in the first time stamp of frequency frame and the frame of first video bag.
Optionally, the sending module, is also used to:
When reaching re-transmission interval, if node re-transmission is inactive, retransmission request is sent to retransmission server.
Optionally, the sending module, is also used to:
If node retransmits starting, to the node for sending first video bag and/or first video frame is sent Node send retransmission request.
Optionally, the child node further include:
First removing module, if the difference of the timestamp of the second video bag for being currently received and third timestamp Greater than the first preset threshold, alternatively, the difference of the timestamp for the second video bag being currently received and the 4th timestamp is greater than the One preset threshold then deletes second video bag, wherein first before the third timestamp is current point in time is pre- If the minimum value of the timestamp of the video bag received in duration, the 4th timestamp be current point in time before described The maximum value of the timestamp of the video bag received in one preset duration.
Optionally, the playing module, is used for:
If it is default that the difference that current point in time and last time play the time point of the video frame in video flowing reaches second Threshold value, and the number for receiving the video frame for not sending to broadcasting is more than third predetermined threshold value, it is determined that in the video frame received The smallest I frame of timestamp;
According to the video bag of the video frame after the video bag of the I frame and the I frame, video flowing is formed, described in broadcasting Video flowing.
Optionally, the receiving module, is also used to:
Receive audio frame;
The playing module, is used for:
According to packet serial number and timestamp in the frame of the video bag received, video bag is formed into video frame;
According to the timestamp of the timestamp of the video frame and the audio frame, by the video frame and audio frame group audio Video flowing;
Play the audio/video flow.
Optionally, the child node further include:
Second removing module, is used for:
If the timestamp for the first audio frame being currently received and the difference of the 5th timestamp are greater than the 4th preset threshold, Alternatively, the timestamp for the second audio frame being currently received and the difference of the 6th timestamp are greater than the 4th preset threshold, then by institute State the second audio frame deletion, wherein the 5th timestamp be current point in time before the second preset duration in receive The minimum value of the timestamp of audio frame, the 6th timestamp be current point in time before the second preset duration in receive The maximum value of the timestamp of audio frame.
Optionally, the receiving module is also used to receive root node switching notice;
The sending module is also used to send subflow unsubscription request, and and content distribution to the root node for subscribing to subflow Network C DN server establishes connection;
The receiving module is also used to obtain Streaming Media FLV rectification from the CDN server.
Optionally, the receiving module, is also used to:
Receive the node listing that point-to-point P2P server is sent;
It is communicated according to the node in the node listing, determines that the subflow subscribes to the node that request is sent to.
6th aspect, provides a kind of P2P server of transmission of video, the P2P server includes:
Module is obtained, for obtaining the code rate within child node target preset duration;
Determining module determines code rate belonging to the code rate for the corresponding relationship according to range of code rates and total subflow number The corresponding total subflow number of range;
Sending module, for sending total subflow number to the child node, wherein total subflow number is in the sub- section It when point sends subflow subscription request to node, is carried at subflow and subscribes in request, carry in the total of subflow subscription request Subflow number determines the video bag sent toward the child node for the node, the video bag be the node by video frame by It splits to obtain according to preset length, the video frame is by the node received from content distribution network CDN service device.
Optionally, the determining module is also used in the terminal for establishing connection with this equipment determine preset number at random A root node;
The sending module is also used to determining that the FLV node for root node sends root node switching notice, and to removing The other nodes being determined as except root node FLV node send child node switching notice.
Optionally, the determining module is also used to determine each in third preset duration adjacent before current point in time The data volume of node transmission data;
The sending module, if being also used to the corresponding data volume of target child node is greater than or equal to default value, to The target child node sends root node switching notice.
Optionally, the determining module is also used to determine each in the 4th preset duration adjacent before current point in time The data volume of node transmission data;
The sending module, if being also used to the corresponding data volume of target root node less than default value, to the mesh It marks root node and sends child node switching notice.
7th aspect, provides a kind of system of transmission of video, and the system comprises root nodes, child node and point-to-point P2P server, in which:
The root node, the root node as described in above-mentioned fourth aspect, the child node, as described in terms of the above-mentioned 5th Child node, the P2P server, the P2P server as described in terms of the above-mentioned 6th.
Eighth aspect provides a kind of node, and the node includes processor and memory, is stored in the memory At least one instruction, described instruction are loaded by the processor and are executed the video to realize above-mentioned first aspect and second aspect The method of transmission.
9th aspect, provides a kind of point-to-point P2P server, the P2P server includes processor and memory, institute It states and is stored at least one instruction in memory, described instruction is loaded by the processor and executed to realize the above-mentioned third aspect Transmission of video method.
Tenth aspect, provides a kind of computer readable storage medium, at least one finger is stored in the storage medium It enables, described instruction is loaded by processor and executed to realize above-mentioned first aspect, second aspect and the transmission of video of the third aspect Method.
The technical solution bring beneficial effect that the embodiment of the present disclosure provides includes at least:
In the embodiment of the present disclosure, in pushing video frame, root node can receive the Streaming Media FLV of CDN server transmission Rectification, by FLV rectify in each video frame according to preset length be divided into multiple video bags, child node can send son to root node Stream subscribes to request, and root node subscribes to request according to the subflow received, determines that each subflow subscribes to request in multiple video bags Then corresponding video bag is subscribed to each subflow and is requested, send subflow to child node belonging to subflow subscription request and subscribe to Request corresponding video bag.In this way, obtaining video frame from CDN server due to only having root node, child node is obtained from root node Video frame is taken, rather than all video frames are sent from CDN server, it is possible to save the number of CDN server According to flow cost.
Detailed description of the invention
Fig. 1 is a kind of system diagram for transmission of video that the embodiment of the present disclosure provides;
Fig. 2 is a kind of system diagram for transmission of video that the embodiment of the present disclosure provides;
Fig. 3 is a kind of system diagram for transmission of video that the embodiment of the present disclosure provides;
Fig. 4 is a kind of flow diagram of the method for transmission of video that the embodiment of the present disclosure provides;
Fig. 5 is a kind of flow diagram of the method for transmission of video that the embodiment of the present disclosure provides;
Fig. 6 is a kind of schematic diagram for the total subflow number of acquisition that the embodiment of the present disclosure provides;
Fig. 7 is a kind of schematic diagram for node conversion that the embodiment of the present disclosure provides;
Fig. 8 is a kind of structural schematic diagram of the root node for transmission of video that the embodiment of the present disclosure provides;
Fig. 9 is a kind of structural schematic diagram of the child node for transmission of video that the embodiment of the present disclosure provides;
Figure 10 is a kind of structural schematic diagram of the child node for transmission of video that the embodiment of the present disclosure provides;
Figure 11 is a kind of structural schematic diagram of the child node for transmission of video that the embodiment of the present disclosure provides;
Figure 12 is a kind of structural schematic diagram of the P2P server for transmission of video that the embodiment of the present disclosure provides;
Figure 13 is a kind of structural schematic diagram for node that the embodiment of the present disclosure provides;
Figure 14 is a kind of structural schematic diagram for P2P server that the embodiment of the present disclosure provides.
Specific embodiment
To keep the purposes, technical schemes and advantages of the disclosure clearer, below in conjunction with attached drawing to disclosure embodiment party Formula is described in further detail.
The embodiment of the present disclosure provides a kind of method of transmission of video, as shown in Figure 1, the executing subject of this method can be Node and P2P (peer-to-peer, point-to-point) server.Wherein, node, which can be, is equipped with video playing application program Terminal, node may include FLV (Flash Video, Streaming Media) node, root node and child node, and FLV node can be with CDN Server establishes connection, obtains FLV rectification from CDN server, root node can establish connection with CDN server, from CDN service Device obtains FLV rectification, and child node can obtain video bag from root node or child node.
Wherein, processor, memory and transceiver can be set in P2P server, processor can be used for video biography The processing of defeated process, memory can be used for storing the data of the data and generation that need in video transmitting procedure, transmitting-receiving Device can be used for receiving and transmitting data.
Processor, memory and transceiver can be set in node, processor can be used for the process of transmission of video Processing, memory can be used for storing the data of the data and generation that need in video transmitting procedure, and transceiver can be used for Receive and transmit data.The inputoutput units such as screen, microphone are also provided in node, screen is displayed for Video pictures, screen can be touch screen.
Before being implemented, introduce first system, the application scenarios for the transmission of video that the embodiment of the present disclosure is related to And involved name word concept:
As shown in Fig. 2, including CDN server, root node, child node, P2P server and re-transmission in the system of transmission of video Server, root node and CDN server establish connection, obtain FLV rectification from CDN server.Child node can be obtained from child node Video bag is taken, is also possible to obtain video bag from root node.P2P server can establish connection with child node, root node, notice Node is root node or child node.Retransmission server can establish connection with child node, for retransmitting audio-video for child node It wraps (including audio pack and video bag).
Under conceptual scheme shown in Fig. 2, when node enters CDN route, current state is FLV node, can be by stepping on P2P server is recorded, establishes connection with P2P server.P2P server is subsequent can be determined root node, child node and save for son Point provides node listing (being illustrated later).
It should be noted that rectified between CDN server and root node by TCP transmission FLV, root node and child node, Audio-video packet is transmitted by UDP (User Datagram Protocol, User Datagram Protocol) between child node and child node (including audio frame (being referred to as being audio pack) and video bag), passes through TCP between P2P server and root node, child node Data are transmitted, data are transmitted by TCP or UDP between retransmission server and child node.
In addition, above-mentioned Fig. 2 is the schematic diagram of the embodiment of the present disclosure, in the embodiment of the present disclosure, whole conceptual scheme is additionally provided:
As shown in figure 3, the system of transmission of video includes CDN server, root node, child node, P2P server, retransmits clothes Business device, SM (subscribe manager, subscription management person) server, VC (video Center, video distribution node) service Device, AP (access prefer accesses agent node) server, root node and CDN server establish connection, from CDN server Obtain FLV rectification.Child node can obtain video bag from child node, be also possible to obtain video bag from root node.P2P server Connection can be established with child node, root node, notice node is root node or child node.Retransmission server can be with child node Connection is established, for retransmitting audio-video packet (including audio pack and video bag) for child node.SM server can be with AP server Connection is established, URL (Uniform Resource Locator, the unified resource positioning of the route for issuing CDN server Symbol), VC server can establish connection with AP server, and for providing the information of P2P server for node, AP server can be with It is connect with node, provides the bridge connecting with P2P server for node.
Under conceptual scheme shown in Fig. 3, when node enters CDN route, current state is FLV node, can pass through AP Server obtains the URL of CDN server, is then based on URL and obtains FLV rectification, and passes through VC server request connection P2P clothes Business device, when which receives the address of P2P server, can pass through AP server log P2P server.After P2P server It is continuous to determine root node, child node and provide node listing (being illustrated later) for child node.
The embodiment of the present disclosure can be adapted for the process of multiple node request video frames, for example, in a direct broadcasting room, it is main It broadcasts during live streaming, main broadcaster's terminal (terminal that main broadcaster uses) records the video of main broadcaster's live streaming, sends and records to CDN server Video frame, after CDN server receives, can be sent to the root node (terminal that the user in direct broadcasting room uses) of connection FLV rectification, root node can to carry out subflow subscription child node send video frame in video bag, child node can also into The child node that row subflow is subscribed to sends the video bag in video frame.
Root node is a kind of state of node, is for child node, root node is to establish to connect with CDN server The node connect obtains FLV rectification from CDN server, and provides subflow subscription service for child node.
Child node is a kind of state of node, is for root node, and child node is not established with CDN server to be connected It connects, does not obtain FLV rectification from CDN server, but obtain video frame from root node or child node.
FLV node is a kind of state of node, is connected on P2P server in node, be also not divided into child node or A kind of state when root node obtains FLV rectification from CDN server.
Total subflow number, carries out the number of the subflow of P2P, and a video flowing can be divided into N parts of transmissions, then N is exactly total son Fluxion.
Subflow is subscribed to, and when node A needs P2P to subscribe to, is needed to look for the node of multiple publication video flowings, is sent subflow and subscribe to and lead to Know, request sends subflow.
The embodiment of the present disclosure provides a kind of method of transmission of video, as shown in figure 4, the process flow of root node can be as Under:
Step 401, the Streaming Media FLV rectification that root node reception content distribution network CDN server is sent.
Step 402, root node by FLV rectify in each video frame according to preset length be divided into multiple video bags.
Step 403, root node subscribes to request according to the subflow received, determines that each subflow is subscribed in multiple video bags Request corresponding video bag.
Step 404, root node is subscribed to each subflow and is requested, and subscribes to child node belonging to request to subflow and sends subflow It subscribes to and requests corresponding video bag.
The embodiment of the present disclosure provides a kind of method of transmission of video, and the view using Fig. 2 as conceptual scheme, during being broadcast live The distribution of frequency frame, child node carry out the explanation of the disclosure for obtaining video frame to root node, as shown in figure 5, the execution of this method Process can be such that
Step 501, child node sends subflow to node and subscribes to request, wherein subflow, which is subscribed to, carries subflow volume in request Number and total subflow number.
In an implementation, for main broadcaster during live streaming, user wants to enter into the live streaming of direct broadcasting room viewing main broadcaster, can be in terminal Installation live streaming application program (i.e. video playing application program) in (node), the then account of request for utilization and password login live streaming Application program, the direct broadcasting room being operated into where main broadcaster.At this moment node and P2P server establish connection, and node is FLV section at this time Point, P2P server can provide the URL of CDN server to node, and it is whole from CDN server acquisition FLV that the URL can be used in node Stream.At this moment, P2P if it is determined that the node be child node, can notify to give the node.In this way, extended meeting is (sub to node after child node Node and/or root node) subflow subscription request is sent, subflow number and total subflow number can be carried by subscribing in subflow in request.Son Stream number is used to indicate the number of the subflow of request, and total subflow number is the number of the subflow of request.Subsequent can disconnect takes with CDN The connection of business device no longer obtains FLV rectification from CDN server.
It should be noted that a subflow, which is subscribed to, generally carries a subflow number in request, but can also carry more A subflow number, the embodiment of the present disclosure is without limitation.
It should also be noted that, all child nodes will do it the above is only being illustrated by taking a child node as an example Processing is stated, the recipient that only subflow subscribes to request is possible to not identical.
Optionally, it in the embodiment of the present disclosure, additionally provides child node and chooses the processing for sending the node that subflow subscribes to request Process, processing can be such that
Child node receives the node listing that point-to-point P2P server is sent, and is led to according to the node in node listing Letter determines that subflow subscribes to the node that request is sent to.
In an implementation, P2P server can determine the registration terminal (i.e. node) of the account of all users in direct broadcasting room, These registration terminals are formed into node listing, to each child node sending node list.After child node receives node listing, Can each node into node listing send quality query information, and record the sending time point for sending information, each node connects It, can be with feedback information after receiving quality query information.When child node receives the information of feedback, receiving time point can recorde, Then the difference of receiving time point and sending time point is calculated, and obtains total subflow number, it is poor to choose in the node of node listing It is worth the smallest several nodes of total subflow, is determined as subflow and subscribes to the node that request is sent to.In this way, can determine that subflow subscription is asked The node being sent to is sought, namely determines to subscribe to the node of subflow.
Step 502, root node receives the FLV rectification that CDN server is sent.
In an implementation, during live streaming, the video flowing of main broadcaster's live streaming is sent to CDN server, CDN by main broadcaster's terminal Server can determine the terminal (i.e. root node) for establishing connection in direct broadcasting room with CDN server, then can send out to root node Send FLV rectification (including the video frame and audio frame of live streaming in FLV rectification).In this way, root node can receive CDN server hair The FLV rectification sent.After root node receives FLV rectification, it can play out, in this way, the user of root node can watch main broadcaster Live streaming.
In addition, when root node does not receive certain audio frames and video frame in FLV rectification, it can be to CDN server Send retransmission request, the audio frame and video frame that request retransmission does not receive.
Optionally, the method for determining root node and child node is additionally provided in the embodiment of the present disclosure, it is corresponding to handle are as follows:
Target preset number root node is determined at random in the terminal for establishing connection with this equipment, to determining as root section The FLV node of point sends root node switching notice, and sends son section to other nodes in addition to being determined as root node FLV node Point switching notice.
In an implementation, terminal is when having just enter into direct broadcasting room, is FLV node, CDN server can be between current live in It is root node that target preset number (such as can be 50) a node is randomly assigned in terminal, and is notified to root node, remaining end End is child node, and subsequent root node can be dynamically adjusted as FLV node and child node, makes the distribution of audio frame and video frame more For smoothness.
Optionally, CDN server can establish TCP connection by three-way handshake with root node, be sent out by TCP to root node FLV is sent to rectify.
Step 503, root node by FLV rectify in each video frame according to preset length be divided into multiple video bags.
Wherein, preset length can be preset, and as live streaming application program is stored into root node, such as 1200 bytes Deng.
In an implementation, root node receive FLV rectification after, FLV can be rectified in each video frame, according to default length Degree carries out subpackage processing, obtains multiple video bags.
Optionally, it can successively be compiled in each GOP (Group of Pictures, picture group) according to video frame Number, corresponding processing can be such that
Multiple video bags that root node obtains division are successively numbered and when the video frame of division are I frame, right It divides the video bag that I frame obtains and re-starts number.
Wherein, I frame (I frame) is also known as intra picture (Intra pictures), and I frame is usually the first of each GOP A frame, as the reference point of random access, can treat as image by moderately compressing.
In an implementation, when carrying out subpackage to video frame, the multiple video bags that can be obtained to division are successively numbered, And when the video frame of division is I frame, the video bag obtained to division will restart to number.For example, there is continuous 4 views Frequency frame, video frame 1, video frame 2, video frame 3 and video frame 4, video frame 3 are I frame, video frame 1, video frame 2,3 and of video frame Video frame 4 has 4 video bags respectively, and the number of video bag is 0,2,4,6 in video frame 1, and the number of video bag is in video frame 2 8,10,12,14, video frame 3 is I frame, to be renumberd, the number of video bag is 0,2,4,6 in video frame 3, is regarded in video frame 4 The number of frequency packet is 8,10,12,14.
Since first frame of GOP is I frame, so each GOP is renumberd, as encounters I frame and re-start number.
Optionally, in order to save the process resource of root node, root node also determines whether to receive when splitting video frame It subscribes to and requests to subflow, if receiving subflow subscribes to request, video frame is split according to the processing of step 503, if do not connect It receives subflow and subscribes to request, then the processing without fractionation video frame.
Step 504, root node subscribes to request according to the subflow received, determines that each subflow is subscribed in multiple video bags Request corresponding video bag.
In an implementation, the subflow that root node can receive child node transmission subscribes to request, is then based on subflow and subscribes to request, In multiple video bags, determine that each subflow received subscribes to the corresponding video bag of request.
Optionally, when splitting video bag in step 503, there are also number, the processing of corresponding step 504 for each video bag It can be such that the number for subscribing to request and video bag according to the subflow received, determine that each subflow is ordered in multiple video bags Read the corresponding video bag of request.
In an implementation, root node can subscribe to the number of request and video bag according to the subflow received, in multiple videos Determine that each subflow subscribes to the corresponding video bag of request in packet.
Optionally, subflow, which is subscribed to, can carry subflow number and subflow sum, the processing of corresponding step 504 in request It can be such that
The number that the number of the subflow in requesting, total subflow number and video bag are subscribed to according to the subflow received, multiple It determines that each subflow is subscribed in video bag and requests corresponding video bag.
In an implementation, the available formula for calculating each subflow and subscribing to the corresponding video bag of request of root node: subflow is compiled Number=the total subflow number of (number/2 of video bag) mod, mod indicate remainder, then, by total subflow number and subflow number substitute into the public affairs Formula can determine that subflow numbers corresponding video bag, the corresponding video bag of subflow number is determined as belonging to subflow number Subflow subscribe to and request corresponding video bag.In this manner it is possible to which determining that each subflow is subscribed to requests corresponding video bag.Example Such as, it is 0 that subflow, which subscribes to the subflow number in request, and total subflow number is 15, then it is corresponding that the subflow that subflow number is 0 subscribes to request The number of video bag is 0,30,60, etc..
Step 505, each subflow is subscribed to and is requested, root node subscribes to child node belonging to request to subflow and sends subflow It subscribes to and requests corresponding video bag.
It in an implementation, can be to the transmission son after root node determines that each subflow subscribes to the corresponding video bag of request The child node that stream subscribes to request sends the subflow and subscribes to the corresponding video bag of request.
Optionally, in order to enable the video bag in video frame to retransmit, for each video bag, video bag also carries view Frequency wrap belonging to the first time stamp of video frame, packet serial number, the former frame video frame of affiliated video frame in the frame of video bag The number for the video bag that video frame belonging to second timestamp, video bag includes.
In an implementation, sequence of the video bag in affiliated video frame is referred to for packet serial number in the frame of some video bag. For example, packet serial number 10 in the frame of some video bag, illustrates that the video bag is the 10th video bag in affiliated video frame.
The first time stamp of video frame is DTS (Decoding Time Stamp, decoded time stamp).This timestamp Meaning is to inform when player is decoding the data of this frame.Equally, the second timestamp of former frame video frame It is DTS.
First time due to carrying video frame stabs, it is possible to determine the number for the video bag stabbed at the first time, And due to the number for carrying the video bag that video frame includes, it is possible to by first time stamp video bag number with take The number of the video bag of band is compared, if the number of the video bag of stamp is less than the number of the video bag carried at the first time, Then explanation has video bag packet loss, if the number of the video bag of stamp is equal to the number of the video bag carried at the first time, illustrates Video bag in video frame receives complete.In addition, due to the second timestamp for carrying former frame video frame, it is possible to establish Neighbouring relations of the video frame on timestamp are played, and then can determine the video frame lost.
In addition, the previous video frame that can also carry video frame belonging to the video bag in each video bag includes The number of video bag, this can be retransmitted to make all video frames.For example, a packet of a video frame B is received, Previous video frame is video frame A, retransmits in addition to adding the serial number of all packets of video frame B, can also check that video frame A is It is no to be also required to addition re-transmission.In this way, can also be retransmitted even if the video bag of video frame A is all lost.
It furthermore it is also possible to carry the number according to the GOP video bag being numbered, and whether is the video bag retransmitted Instruction information, the MD5 string of URL, the video data that carry out P2P etc..
It should be noted that above-mentioned first time stamp and the second timestamp are actually timestamps, only first when Between stamp be each video frame timestamp, the timestamp of the previous video frame of video frame when the second timestamp.For first Audio frame, the second timestamp of previous audio frame are 0.
Step 506, child node receiving node subscribes to the video bag that request is determined according to subflow.
In an implementation, the video bag that child node receives is that video frame is split to obtain by node according to preset length, video Frame is by node received from CDN server.
Step 507, child node forms video flowing according to the video bag received, plays video flowing.
In an implementation, after child node receives video bag, video bag can be formed into video frame, video frame is formed into video Stream plays video flowing.
Optionally, general video council includes video frame and audio frame, they are usually individually sent, and the disclosure is implemented The transmission processing of audio frame is additionally provided in example, corresponding processing can be such that
Subflow, which is subscribed to, carries subflow number in request;The subflow number in request is subscribed to according to the subflow received, such as It is to send the subflow number of audio frame that fruit, which determines that the first subflow subscribes to request neutron current number, then subscribes to request institute to the first subflow The child node of category sends the audio frame in FLV rectification.
In an implementation, it since the data volume of single audio frame is smaller, so being not suitable for splitting again, namely sends every time When, it is all to be sent as unit of audio frame, i.e., an audio frame is an audio pack.When sending audio frame, usually The root node for receiving fixed subflow number is sent.
Root node can determine that the subflow received subscribes to the subflow number (can be and be pre-configured with) in request, if the It is to send the subflow number of audio frame that one subflow, which subscribes to the subflow number in request, then can subscribe to belonging to request to the first subflow Node send FLV rectification in audio frame.
For example, total subflow number is 15, subflow number is 0~14, and the subflow that subflow number is 14 is subscribed to request and is used to indicate Send audio frame.
It should be noted that the subflow that subflow number is 14 subscribes to request in addition to being used to indicate transmission audio frame, it can be with It is used to indicate transmission video bag, the two does not conflict.
Optionally, in order to keep the transmission of audio frame more flexible, in the embodiment of the present disclosure, the son for sending audio frame is further defined Flow the determination method of number:
It is corresponding with GOP sequence number in audio frame, according to GOP sequence number, determines the subflow number for sending audio frame.
In an implementation, audio frame is corresponding with GOP sequence number (the GOP sequence number of each audio frame is equal), root section The GOP sequence number carried in the available audio frame of point, and the formula of the available subflow number for sending audio frame, will GOP sequence number substitutes into the formula, that is, can determine that the subflow number for sending audio frame.For example, when total subflow number is 15, son Stream number is 0~14, GOP Serial No. 26, uses (sequence number/2 GOP) mod2, that is, can determine that the subflow for sending audio frame Number is 13.
In addition, the subflow for sending audio frame can be made to number, and there are two (i.e. two-way pushes in order to reduce the re-transmission of audio frame Audio frame), for example, the subflow number for sending audio frame is 13 and 14 when total subflow number is 15, received in child node identical When the audio frame of timestamp, one of them can be deleted.
In addition, GOP sequence number, which can be also used for child node, determines that the packet that receives is audio frame or video bag, if it is Audio frame if it is video bag, does not then have wherein having GOP sequence number.
Optionally, child node is additionally provided in the embodiment of the present disclosure and receives the processing of audio frame, and how to play audio The processing of frame, corresponding processing can be such that
It receives audio frame and video bag is formed by video frame according to packet serial number and timestamp in the frame of the video bag received, According to the timestamp of the timestamp of video frame and audio frame, video frame and audio frame are formed into audio/video flow, playing audio-video stream.
In an implementation, child node can receive audio frame, since each audio frame carries the timestamp of current audio frame And the timestamp of previous audio frame, it is possible to set up the front and back serial relation of the timestamp of audio frame.Then first It by the video bag of identical time stamp, is arranged according to the sequence from small to large of packet serial number in the frame of video bag, forms video Frame, the timestamp of the affiliated video frame then carried according to video bag and the timestamp of previous video frame, it is established that video frame Front and back serial relation.Then the front and back according to the front and back serial relation of the timestamp of video frame, the timestamp of audio frame is continuous Relationship, the audio/video flow that video frame and audio frame are formed, playing audio-video stream.
It should be noted that it is above-mentioned be root node receive subflow subscribe to request when, the processing of root node, if child node It receives the subflow that other child nodes are sent and subscribes to request, receive the complete phase for the treatment of process that subflow subscribes to request with root node Together, details are not described herein again.
In addition, in the embodiments of the present disclosure, if root node has subflow to subscribe to the limitation of number of request purpose, for being more than son Stream subscribe to request number be followed by the subflow received subscribe to request, can to child node send subflow unsubscribe message so that child node from Other child nodes or root node obtain subflow.
Optionally, child node is not when receiving video bag, in order to allow live video to continue to play, can be jumped Frame playback process, corresponding processing can be such that
If it is default that the difference that current point in time and last time play the time point of the video frame in video flowing reaches second Threshold value, and the number for receiving the video frame for not sending to broadcasting is more than third predetermined threshold value, it is determined that in the video frame received The smallest I frame of timestamp forms video flowing according to the video bag of the video frame after the video bag of I frame and I frame, plays video Stream.
Wherein, I frame (I frame) is also known as intra picture (Intra pictures), and I frame is usually the first of each GOP A frame, as the reference point of random access, can treat as image, when playing without necessarily referring to other by moderately compressing Video frame can be decoded.Second preset threshold can be preset, and with video application, be installed along with node On.Third predetermined threshold value can also be preset, and with video application, be installed along on node.
In an implementation, child node can determine current point in time distance last time play video flowing in video frame when Between the difference put can determine and receive and the video frame that does not play out if the difference reaches the second preset threshold Whether number is more than third predetermined threshold value, if it exceeds third predetermined threshold value, then can determine the I in the video frame received Frame determines the smallest I frame of timestamp, according to the video bag of the video frame after the video bag of I frame and I frame, group in these I frames At video flowing, video flowing is played.In this way, can continue to play video flowing after frame losing, user can continue to watch main broadcaster's Live video.
In addition, frame-skipping processing can be executed by code.
Optionally, in the embodiment of the present disclosure, the processing for carrying out video bag re-transmission is additionally provided, corresponding processing can be as Under:
According to the first time stamp carried in the video bag received and the second timestamp, if there is the not received One video frame and/or the first video bag send retransmission request to retransmission server then when reaching re-transmission interval, wherein if The first video frame is not received, then the first time stamp of the first video frame is carried in retransmission request, if not receiving the first view Frequency wraps, then Bao Xu in the first time stamp of video frame belonging to the first video bag and the frame of the first video bag is carried in retransmission request Number, if not receiving the first video frame and the first video bag, carried in retransmission request the first video frame first time stamp, Packet serial number in the first time stamp of video frame belonging to first video bag and the frame of the first video bag.
Wherein, sequence of the video bag in affiliated video frame is referred to for packet serial number in the frame of some video bag.For example, Packet serial number 10 in the frame of some video bag illustrates that the video bag is the 10th video bag in affiliated video frame.
In an implementation, there are two mapping tables for maintenance in child node, are respectively used to serial relation and the request of maintenance time stamp Video Dts Relation expression, video Dts Relation can be used in timestamp relationship, the serial relation of timestamp For recording the timestamp of the video frame received, request time stamp relationship can be used video Dts Ack Map expression, use The timestamp of the subsequent video frame of video frame belonging to video bag is not received in record.
After child node receives any one video bag, stamp and the second time at the first time can be resolved to from the video bag Stamp does not change video Dts if the second timestamp and first time stamp exist in video Dts Relation Relation, if stamp is not present in video Dts Relation at the first time, in video Dts Relation The second timestamp after add at the first time stab.In this way, can establish the front and back serial relation of the timestamp of video frame.And And judge to stab at the first time whether there is in video Dts Relation perhaps whether be 0 if there is no or for 0, Then first time stamp is added in video Dts Ack Map, if it is present without processing.
For example, A, B, C, D, E, F, G are continuous video frame respectively, corresponding timestamp is as follows, wherein at the first time Stamp indicates that the second timestamp is indicated using lastDts using Dts:
A:Dts:5, lastDts:0;
B:Dts:8, lastDts:5;
C:Dts:13, lastDts:8;
D:Dts:17, lastDts:13;
E:Dts:22, lastDts:17;
F:Dts:26, lastDts:22;
G:Dts:29, lastDts:26
Assuming that start recording has 0 in video Dts Ack Map, for example A, B, G, F, D are received, and do not receive C, E, A is received, then erasing time stabs 0, and logging timestamp 5 from video Dts Ack Map, at this time video Dts Ack Map Size is 1.B is received, then stabs 5, and logging timestamp 8 from video Dts Ack Map erasing time, at this time VideoDtsAckMap size is 1.G is received, then stabs 26, and logging timestamp from video Dts Ack Map erasing time 29, video Dts Ack Map size is 2 at this time.F is received, then stabs 22 from video Dts Ack Map erasing time, because Timestamp 26 has been recorded successor relationship, so not needing video Dts Ack Map record data, at this time VideoDtsAckMap size is 2.D is received, then stabs 13, and logging timestamp from video Dts Ack Map erasing time 17, videoDtsAckMap size is 3 at this time.Going to the value recorded in video Dts Ack Map here is 8,17,29, That is the subsequent video frame of B, D, G does not receive.
And the front and back serial relation of the timestamp of video Dts Relation record is 0-5-8-13-17-22-26- 29。
In this way, if wherein there is the video frame not received, and can be reached with regular check video Dts Ack Map To when retransmitting interval, then the acquisition request for the serial relation that can be stabbed to retransmission server sending time carries CDN clothes wherein The URL of business device and the timestamp of video frame start discontinuous timestamp and timestamp and terminate discontinuous timestamp (example Such as, timestamp be followed successively by 0-5-8-13-,, -22-,, -29,13 to 22 timestamps are discontinuous, and 22 to 29 timestamps are discontinuous, It is 13 that timestamp, which starts discontinuous timestamp, 29) it is that timestamp, which terminates discontinuous timestamp,.When retransmission server receives Between after the acquisition request of serial relation stabbed, can determine the serial relation of the corresponding timestamp of the URL of CDN server, from In determine the serial relation of timestamp between receive two timestamps, the continuous pass of the timestamp is sent to child node System.After child node receives, the value recorded in video Dts Ack Map can be used, search and determine in serial relation Then the timestamp of the video frame of loss can send retransmission request to retransmission server, carry described first in retransmission request The first time of video frame (video frame of loss) stabs.
And since the video frame having is only to be lost certain video bags, it is possible to only retransmit these videos of loss Packet, without retransmitting entire video frame, it is possible to send retransmission request to retransmission server, be carried in the retransmission request Packet serial number in the first time stamp of video frame belonging to first video bag (video bag of loss) and the frame of first video bag.
In addition, being also lost video bag if being both lost video frame, then the first video frame can be carried in the retransmission request First time stamp, packet serial number in the first time stamp of video frame belonging to the first video bag and the frame of the first video bag.
In addition, determining that the mode for retransmitting interval can be such that
For between some video frame or some video bag, with retransmission server first time retransmit re-transmission interval, The arrival time that can expect each video bag first, for received video bag of each video frame first time, when record receives Between point, receiving time point and the timestamp of video frame belonging to the video bag are subtracted each other, a difference is obtained, then by multiple views The difference of frequency frame is averaged, and a shake average value, the time interval as retransmitted for the first time are obtained.For the video frame or The re-transmission interval of later retransmission between the person video bag, with retransmission server, child node can be sent to retransmission server Ping packet records sending time point, and retransmission server can return to the return information to ping packet, records receiving time point, will connect It receives time point to subtract each other with sending time point, obtains RTT (round-trip time, winding time), then determine current shake Average value (calculation is identical as the shake average value calculated in the re-transmission interval retransmitted for the first time), and available shake The corresponding weight of corresponding weight, RTT.Shake average value weight corresponding with shake is multiplied, obtains the first product, and will RTT weight corresponding with RTT is multiplied, and obtains the second product, and the first product and the second product addition are spaced to get to re-transmission.
After obtaining retransmitting interval, reaches re-transmission interval every time, do not receive video frame and/or video bag also, it can be with Carry out retransmission process.
Reach every time and retransmit interval and refer to: will be after being added in video Dts Ack Map of the timestamp of video frame When duration is equal to re-transmission interval, then carry out retransmitting the video frame after the video frame.Or the adjacent video packet of some video bag When the duration having been received reaches re-transmission interval, then retransmitted.In addition, secondary or more for being requested to retransmission server The video frame or video bag of secondary re-transmission, then be issue retransmission request after duration reach re-transmission interval when, do not receive also The video frame or video bag retransmitted is requested, then explanation reaches re-transmission interval.
In addition, recording the re-transmission of video bag or the re-transmission of video frame for convenience, in the embodiment of the present disclosure, additionally provide Video Frame Dts queue and video Resend Map queue, video Frame Dts queue record receive The timestamp for the video frame not played also in video frame, video Resend Map queue record is the view retransmitted Frequency wraps.Whenever some video bag for receiving a video frame, by the timestamp of video frame belonging to the video bag and including The serial number of video bag is added in video Resend Map queue.And judge whether deposit in video Frame Dts queue The timestamp of the video frame belonging to the video bag, if it is present without processing, if it does not exist, then by the timestamp It is added in video Frame Dts queue.Furthermore it is also possible to judge whether the timestamp greater than currently playing video frame, If it is greater than then by the video bag received deletion.It, can be by video Frame Dts after some video frame is sent to broadcasting The timestamp of the video frame in queue is deleted.In addition, if receiving some video bag, it can be according in the frame of video bag The re-transmission of video bag is recorded and is deleted from video Resend Map queue by packet serial number.
Optionally, the serial relation of two map records and maintenance time stamp and the relationship of request time stamp can be used:
std::map<uint32_t,uint64_t>m_videoDtsRelation;
The serial relation of // timestamp: lastDts->(dts<<32 | frameNum)
std::map<uint32_t,FlvAckDtsInfo>m_videoDtsAckMap;
The relationship of // request time stamp.
Optionally, the information for the video bag that following structural body maintenance receives can be used:
std::set<FlvP2pVideoDtsCmp>m_videoDtsList
Flv P2P Dts Status m_dtsStatus。
Optionally, when being retransmitted using retransmission server, it can also first determine whether node re-transmission starts, accordingly Processing can be such that
When reaching re-transmission interval, if node re-transmission is inactive, retransmission request is sent to retransmission server.
In an implementation, child node can be configured with node functions of retransmission, if the unlatching of node functions of retransmission, illustrates node Starting is retransmitted, if node functions of retransmission is not opened, it is inactive to illustrate that node retransmits.
Reach retransmit interval when, if node retransmits inactive, explanation cannot be from node retransmission of video packet, then can be to Retransmission server sends retransmission request, so that retransmission server sends video frame and/or video bag again.
In addition, processing can be such that when node retransmits and starts
If node retransmits starting, to the node for sending the first video bag and/or the node hair for sending the first video frame Send retransmission request.
In an implementation, reach retransmit interval when, if node retransmit starting, explanation can from node retransmission of video packet, Retransmission request can be sent to the node for sending the first video bag, so that the node sends video bag again.It can also be to transmission The node of first video frame sends retransmission request.
In addition, additionally providing the processing for judging illegal video packet in the embodiment of the present disclosure, corresponding processing be can be such that
If the absolute value of the difference of the timestamp for the second video bag being currently received and third timestamp is greater than first Preset threshold, alternatively, the absolute value of the difference of the timestamp for the second video bag being currently received and the 4th timestamp is greater than the One preset threshold, then by the second video bag delete, wherein third timestamp be current point in time before the first preset duration in The minimum value of the timestamp of the video bag received, the 4th timestamp be current point in time before the first preset duration in receive The maximum value of the timestamp of the video bag arrived.
Wherein, the first preset duration can be preset, and be stored into live streaming application program, with live streaming application program It is mounted on node.First preset threshold can also be preset, and be stored into live streaming application program, with live streaming application program one It rises and is mounted on node.
In an implementation, child node is when receiving any video bag (subsequent to be known as the second video bag), or every The timestamp of the video bag received in the first preset duration before certain time length, available current point in time, then It determines the minimum value (i.e. third timestamp) in timestamp, and can determine maximum value (i.e. the 4th time in timestamp Stamp).
Then the absolute value of the timestamp for the second video bag being currently received and the difference of third timestamp can be determined, Judge the absolute value of the difference and the relationship of the first preset threshold, if the difference is greater than the first preset threshold, can determine the Two video bags are illegal video packet, the second video bag can be deleted.Alternatively, the timestamp and of the second video bag can be determined The absolute value of the difference of four timestamps judges the absolute value of the difference and the relationship of the first preset threshold, if the difference is exhausted First preset threshold is greater than to value, can determine that the second video bag is illegal video packet, the second video bag can be deleted.This Sample, since the timestamp difference of the video bag received in the short time will not be especially big, if especially big, explanation is illegal video Packet.
Optionally, the embodiment of the present disclosure additionally provides the processing for judging that audio frame is illegal audio frame, and corresponding processing can With as follows:
If the timestamp for the first audio frame being currently received and the difference of the 5th timestamp are greater than the 4th preset threshold, Alternatively, the timestamp for the second audio frame being currently received and the difference of the 6th timestamp are greater than the 4th preset threshold, then by the Two audio frame deletions, wherein the 5th timestamp be current point in time before the second preset duration in the audio frame that receives The minimum value of timestamp, the 6th timestamp be current point in time before the second preset duration in time of audio frame for receiving The maximum value of stamp.
Wherein, the second preset duration can be preset, and be stored into video application, be installed with application program On node.4th preset threshold can also be preset, and be stored into video application, be installed along with application program On node.
In an implementation, child node when receiving any audio frame (subsequent to be known as the second audio frame) or every Certain time length, the timestamp of the audio frame received in the second preset duration before available current point in time, then really The minimum value (i.e. the 5th timestamp) fixed time in stabbing, and can determine the maximum value in timestamp (i.e. the 6th timestamp).
Then the absolute value of the timestamp for the second audio frame being currently received and the difference of the 5th timestamp can be determined, Judge the absolute value of the difference and the relationship of the 4th preset threshold, if the difference is greater than the 4th preset threshold, can determine the Two audio frames are illegal audio frame, can be by the second audio frame deletion.Alternatively, the timestamp and of the second audio frame can be determined The absolute value of the difference of four timestamps judges the absolute value of the difference and the relationship of the first preset threshold, if the difference is exhausted 4th preset threshold is greater than to value, can determine that the second audio frame is illegal audio frame, it can be by the second audio frame deletion.This Sample, since the timestamp difference of the audio frame received in the short time will not be especially big, if especially big, explanation is illegal audio Frame.
Optionally, after audio frame loss, in order to which audio frame can also be retransmitted, audio frame is also carried in audio frame The timestamp, timestamp of previous audio frame of audio frame, adjacent before the serial number of audio frame and previous audio frame The timestamp of continuous preset number audio frame.
Wherein, preset number can be preset, and be stored into root node, and the maximum value of preset number value can be 20, minimum value can be 0, can generally take 5.
In an implementation, for any audio frame, carried in the audio frame timestamp of audio frame, the audio frame it is previous Timestamp, audio frame of adjacent continuous preset number audio frame before the timestamp of a audio frame, previous audio frame Serial number (i.e. above-mentioned GOP serial number).The serial number of the audio frame is mainly used for the distribution of audio frame.The sequence of each audio frame It number is the same, as long as receiving the data of the serial number, explanation is audio frame.
In this way, due to the timestamp for carrying previous audio frame in audio frame, so being received before the audio frame Audio frame timestamp be not previous audio frame in the audio frame timestamp, illustrate that audio frame has loss, and be based on The timestamp of preset number audio frame before previous audio frame can determine those audio frame loss.For example, default Number is 5, for some audio frame a, wherein the timestamp of the previous audio frame carried is 10 seconds, the audio having been received The timestamp of frame b is 8 seconds, illustrates the audio frame loss between 8 seconds to 10 seconds, may then based on before previous audio frame The timestamp of preset number audio frame is 25,8 seconds 55,8 seconds 10,8 seconds 30,9 seconds 9 seconds, so the time for the audio frame lost Stamp is 55,8 seconds 10,8 seconds 30,9 seconds 9 seconds 25.
In this way, if node functions of retransmission is not opened, child node can be to retransmission service when determining audio frame loss The retransmission request of device transmission audio frame, wherein carry the timestamp of audio frame and the URL of CDN server.Retransmission server connects After receiving, audio frame can be found, the audio of the timestamp is then determined in audio frame based on the URL of CDN server Frame is sent to child node.
In addition, child node can send audio frame to the node for sending the audio frame if node functions of retransmission is opened Retransmission request, wherein carry the timestamp of audio frame and the URL of CDN server.After the node receives, it can be based on The URL of CDN server finds audio frame, and the audio frame of the timestamp is then determined in audio frame, is sent to child node.
Optionally, the process of child node hand-off process is additionally provided in the embodiment of the present disclosure, corresponding processing can be such that
P2P server determines the data of each node transmission data in the 4th preset duration adjacent before current point in time Amount;If the corresponding data volume of target root node is less than default value, child node switching notice is sent to target root node.Root Node receive child node switching notice, if meeting child node switching condition, to other nodes subscribe to subflow, and disconnect with The connection of CDN server.
Wherein, child node switching condition can be preset, and be stored into root node, usually with live streaming application program It is mounted on node.
In an implementation, P2P server can periodically determine in adjacent the 4th preset duration before current point in time Each node sends the data volume of data, can be to this if the data volume that some root node sends data is less than default value Root node sends child node switching notice.The root node can receive child node switching notice, then judge whether to meet sub- section Point switching condition, that is, judge whether to may be coupled to other nodes, if may be coupled to other nodes, can determine satisfaction Node switching condition can subscribe to subflow to other nodes, and can disconnect the connection with CDN server, i.e., it is subsequent will not FLV- rectification is obtained from CDN server.Then child node can report the notice for oneself being switched to child node to P2P server.
In addition, can also determine whether to may be coupled to retransmission server when judging whether to meet node switching condition, If the functions of retransmission of present node is not opened, and not can connect to retransmission server, then it is unsatisfactory for child node switching condition, then Without child node hand-off process (not subscribing to subflow to other nodes, also do not turn off the connection with CDN server).If worked as The functions of retransmission of front nodal point is opened, then in spite of retransmission server is connectable to, can carry out child node hand-off process (subscribe to subflow to other nodes, and disconnect the connection with CDN server).
Optionally, in the embodiment of the present disclosure, the treatment process of root node switching is additionally provided, corresponding processing can be as Under:
The data volume for determining each node transmission data in third preset duration adjacent before current point in time, if mesh It marks the corresponding data volume of child node and is greater than or equal to default value, then send root node switching notice to target child node.Son section Point receive root node switching notice, to subscribe to subflow root node send subflow unsubscription request, and with content distributing network CDN Server establishes connection, obtains Streaming Media FLV rectification from CDN server.
Wherein, default value can be preset, and be installed along on node with live streaming application program.
In an implementation, P2P server can periodically determine in adjacent third preset duration before current point in time Each node sends the data volume of data, if (subsequent the to be known as target child node) data for sending data of some child node Amount is greater than or equal to default value, then can send root node switching notice to target child node.Target child node receives root After node switching notice, subflow unsubscription request can be sent to the root node for subscribing to subflow, and establish and connect with CDN server It connects, obtains Streaming Media FLV rectification from CDN server.After target child node becomes root node, it can be reported to P2P server certainly Oneself is switched to the notice of root node.
In addition, additionally providing the processing method of audio frame-skipping in the embodiment of the present disclosure, corresponding processing be can be such that
If the difference at the time point that current point in time distance last time plays audio frame reaches the 6th preset threshold, and connects The number for the audio frame for receiving and not playing is more than the 7th preset threshold, it is determined that timestamp minimum sound in the audio frame received Frequency frame plays the audio frame determined.
In an implementation, child node can determine that current point in time distance last time plays the difference at the time point of audio frame Value can be determined and be received and whether the number of audio frame that does not play out if the difference reaches the 6th preset threshold More than the 7th preset threshold, if it exceeds the 7th preset threshold, then can determine that timestamp is the smallest in the audio frame received Audio frame plays the smallest audio frame of the timestamp.In this way, can continue to play out audio frame, Yong Huke after frame losing To continue to watch the live video of main broadcaster.
Optionally, in the embodiment of the present disclosure, it cannot connect to retransmission server in child node, and can not be other child nodes When providing subflow, P2P server can control child node and be switched to FLV node, connection be established with CDN server, from CDN service Device obtains FLV rectification.
Optionally, in the embodiment of the present disclosure, as shown in fig. 6, the method that P2P server determines total subflow number is additionally provided, Corresponding processing can be such that
Step 601, P2P server obtains the code rate within child node target preset duration.
In an implementation, each user is logged in registration terminal (child node) using account, can be with into after direct broadcasting room P2P server is attached, code rate of the available child node of P2P server in target preset duration.
Step 602, P2P server determines code rate belonging to code rate according to the corresponding relationship of range of code rates and total subflow number The corresponding total subflow number of range.
In an implementation, the corresponding relationship of range of code rates Yu total subflow number is preset on P2P server, P2P server is true After code rate of the stator node in preset duration, the corresponding relationship of available preset range of code rates and total subflow number, so Afterwards in the corresponding relationship, the corresponding total subflow number of range of code rates belonging to code rate is determined, in this manner it is possible to determine the child node Corresponding total subflow number.
Step 603, P2P server sends total subflow number to child node.
In an implementation, after P2P server determines total subflow number of some child node, can send to the child node should Total subflow number.
Child node can receive total subflow number, then determine the node of the several subscription of total subflow, subscribe to son to these nodes Stream is subscribed in request in subflow and carries total subflow number.
In addition, in the embodiment of the present disclosure, as shown in fig. 7, the conversion for additionally providing FLV node, root node and child node is shown It is intended to.Terminal is FLV node when having just enter into direct broadcasting room, and FLV node is appointed as child node or root node by P2P server, For server when determining that child node is switched to root node, specified child node is switched to root node, and server is determining that root node cuts When being changed to child node, specified root node is switched to child node, and server is specified when determining that child node is unsatisfactory for child node condition Child node is switched to FLV node.
It should be noted that above-mentioned be only illustrated so that root node pushes audio frame and video frame to child node as an example, it is real Child node can also be sent in video frame after the audio frame and video frame for receiving root node transmission to other child nodes on border Video bag and audio frame, treatment process is identical with the treatment process that root node pushes, and details are not described herein again.
In addition, timestamp is indicated with the displacement that packet serial number can be used together computer in frame, to the left by timestamp It is 32 mobile, that is, 64 data are corresponded to, high 32 are timestamp, and low 32 are packet serial number in frame.
It should also be noted that, above-mentioned be illustrated by taking the audio/video flow distribution in direct broadcasting room as an example, all sound views The distribution of frequency stream wants that the processing mode of the embodiment of the present disclosure can be used using P2P server.
In the embodiment of the present disclosure, in pushing video frame, root node can receive the Streaming Media FLV of CDN server transmission Rectification, by FLV rectify in each video frame according to preset length be divided into multiple video bags, child node can send son to root node Stream subscribes to request, and root node subscribes to request according to the subflow received, determines that each subflow subscribes to request in multiple video bags Then corresponding video bag is subscribed to each subflow and is requested, send subflow to child node belonging to subflow subscription request and subscribe to Request corresponding video bag.In this way, obtaining video frame from CDN server due to only having root node, child node is obtained from root node Video frame is taken, rather than all video frames are sent from CDN server, it is possible to save the number of CDN server According to flow cost.
Based on the same technical idea, the embodiment of the present disclosure additionally provides a kind of root node, as shown in figure 8, the root node Include:
Receiving module 810, the Streaming Media FLV rectification sent for reception content distribution network CDN server;
Module 820 is split, for each video frame in FLV rectification to be divided into multiple video bags according to preset length;
Determining module 830 determines every height for subscribing to request according to the subflow received in the multiple video bag Stream, which is subscribed to, requests corresponding video bag;
Sending module 840 is requested for subscribing to for each subflow, and Xiang Suoshu subflow subscribes to child node hair belonging to request It send the subflow to subscribe to and requests corresponding video bag.
Optionally, the fractionation module 820, is also used to:
After each video frame is divided into multiple video bags according to preset length in FLV rectification, division is obtained Multiple video bags are successively numbered and when the video frame of division are I frame, re-start to the video bag that I frame obtains is divided Number;
The determining module 830, is used for:
The number that request and video bag are subscribed to according to the subflow received determines each subflow in the multiple video bag It subscribes to and requests corresponding video bag.
Optionally, the subflow, which is subscribed to, carries subflow number and total subflow number in request;
The determining module 830, is used for:
The number that the number of the subflow in requesting, total subflow number and video bag are subscribed to according to the subflow received, described It determines that each subflow is subscribed in multiple video bags and requests corresponding video bag.
Optionally, for each video bag, the video bag also carries first of video frame belonging to the video bag Timestamp, the video bag frame in packet serial number, it is described belonging to video frame former frame video frame the second timestamp, described The number for the video bag that video frame belonging to video bag includes.
Optionally, the subflow, which is subscribed to, carries subflow number in request;
The sending module 840, is also used to:
The subflow number in request is subscribed to according to the subflow received, if it is determined that the first subflow is subscribed to request neutron current and compiled Number it is the subflow number for sending audio frame, then subscribes to child node belonging to request to first subflow and send the FLV rectification In audio frame.
Optionally, the timestamp of the audio frame, the previous audio of the audio frame are also carried in the audio frame Adjacent continuous preset number audio frame before the timestamp of frame, the serial number of audio frame and the previous audio frame Timestamp.
Optionally, the receiving module 810, is also used to:
Receive child node switching notice;
The sending module 840, is also used to:
If meeting child node switching condition, subflow is subscribed to other nodes, and disconnect the company with CDN server It connects.
In the embodiment of the present disclosure, in pushing video frame, root node can receive the Streaming Media FLV of CDN server transmission Rectification, by FLV rectify in each video frame according to preset length be divided into multiple video bags, child node can send son to root node Stream subscribes to request, and root node subscribes to request according to the subflow received, determines that each subflow subscribes to request in multiple video bags Then corresponding video bag is subscribed to each subflow and is requested, send subflow to child node belonging to subflow subscription request and subscribe to Request corresponding video bag.In this way, obtaining video frame from CDN server due to only having root node, child node is obtained from root node Video frame is taken, rather than all video frames are sent from CDN server, it is possible to save the number of CDN server According to flow cost.
Based on the same technical idea, the embodiment of the present disclosure additionally provides a seed node, as shown in figure 9, the child node Include:
Sending module 910 subscribes to request for sending subflow to node, wherein the subflow is subscribed to be carried in request Subflow number and total subflow number;
Receiving module 920 subscribes to the video bag that request is determined according to the subflow for receiving the node, wherein The video bag is that video frame is split to obtain by the node according to preset length, and the video frame is by the node received from interior Content distributing network CDN server;
Playing module 930, for forming video flowing, playing the video flowing according to the video bag received.
Optionally, for each video bag, the video bag also carries first of video frame belonging to the video bag Timestamp, the video bag frame in packet serial number, it is described belonging to video frame former frame video frame the second timestamp, described The number for the video bag that video frame belonging to video bag includes;
The sending module 910, is also used to:
According to the first time stamp carried in the video bag received and second timestamp, if there is not connecing The first video frame and/or the first video bag received sends retransmission request to retransmission server then when reaching re-transmission interval, Wherein, if not receiving first video frame, the first time of first video frame is carried in the retransmission request Stamp, if not receiving first video bag, carries video frame belonging to first video bag in the retransmission request First time stamp and first video bag frame in packet serial number, if not receiving first video frame and described first Video bag, then the first time stamp that first video frame is carried in the retransmission request, view belonging to first video bag Packet serial number in the first time stamp of frequency frame and the frame of first video bag.
Optionally, the sending module 910, is also used to:
When reaching re-transmission interval, if node re-transmission is inactive, retransmission request is sent to retransmission server.
Optionally, the sending module 910, is also used to:
If node retransmits starting, to the node for sending first video bag and/or first video frame is sent Node send retransmission request.
Optionally, as shown in Figure 10, the child node further include:
First removing module 940, if the timestamp of the second video bag for being currently received and third timestamp Difference is greater than the first preset threshold, alternatively, the difference of the timestamp and the 4th timestamp for the second video bag being currently received is big In the first preset threshold, then second video bag is deleted, wherein the third timestamp be current point in time before the The minimum value of the timestamp of the video bag received in one preset duration, the 4th timestamp be current point in time before institute State the maximum value of the timestamp of the video bag received in the first preset duration.
Optionally, the playing module 930, is used for:
If it is default that the difference that current point in time and last time play the time point of the video frame in video flowing reaches second Threshold value, and the number for receiving the video frame for not sending to broadcasting is more than third predetermined threshold value, it is determined that in the video frame received The smallest I frame of timestamp;
According to the video bag of the video frame after the video bag of the I frame and the I frame, video flowing is formed, described in broadcasting Video flowing.
Optionally, the receiving module 920, is also used to:
Receive audio frame;
The playing module 930, is used for:
According to packet serial number and timestamp in the frame of the video bag received, video bag is formed into video frame;
According to the timestamp of the timestamp of the video frame and the audio frame, by the video frame and audio frame group audio Video flowing;
Play the audio/video flow.
Optionally, as shown in figure 11, the child node further include:
Second removing module 950, is used for:
If the timestamp for the first audio frame being currently received and the difference of the 5th timestamp are greater than the 4th preset threshold, Alternatively, the timestamp for the second audio frame being currently received and the difference of the 6th timestamp are greater than the 4th preset threshold, then by institute State the second audio frame deletion, wherein the 5th timestamp be current point in time before the second preset duration in receive The minimum value of the timestamp of audio frame, the 6th timestamp be current point in time before the second preset duration in receive The maximum value of the timestamp of audio frame.
Optionally, the receiving module 920, is also used to receive root node switching notice;
The sending module 910 is also used to send subflow unsubscription request to the root node for subscribing to subflow, and divides with content Hairnet network CDN server establishes connection;
The receiving module 920 is also used to obtain Streaming Media FLV rectification from the CDN server.
Optionally, the receiving module 920, is also used to:
Receive the node listing that point-to-point P2P server is sent;
It is communicated according to the node in the node listing, determines that the subflow subscribes to the node that request is sent to.
In the embodiment of the present disclosure, in pushing video frame, root node can receive the Streaming Media FLV of CDN server transmission Rectification, by FLV rectify in each video frame according to preset length be divided into multiple video bags, child node can send son to root node Stream subscribes to request, and root node subscribes to request according to the subflow received, determines that each subflow subscribes to request in multiple video bags Then corresponding video bag is subscribed to each subflow and is requested, send subflow to child node belonging to subflow subscription request and subscribe to Request corresponding video bag.In this way, obtaining video frame from CDN server due to only having root node, child node is obtained from root node Video frame is taken, rather than all video frames are sent from CDN server, it is possible to save the number of CDN server According to flow cost.
Based on the same technical idea, the embodiment of the present disclosure additionally provides a kind of P2P server, as shown in figure 12, the P2P Server includes:
Module 1210 is obtained, for obtaining the code rate within child node target preset duration;
Determining module 1220 determines belonging to the code rate for the corresponding relationship according to range of code rates and total subflow number The corresponding total subflow number of range of code rates;
Sending module 1230, for sending total subflow number to the child node, wherein total subflow number is described When child node sends subflow subscription request to node, it is carried at subflow and subscribes in request, carry and requested in subflow subscription Total subflow number determine the video bag sent toward the child node for the node, the video bag is the node by video Frame splits to obtain according to preset length, and the video frame is by the node received from content distribution network CDN service device.
Optionally, the determining module 1220 is also used in the terminal for establishing connection with this equipment determine at random default Number root node;
The sending module 1230 is also used to send root node switching notice to the FLV node determined as root node, and To except it is described be determined as root node FLV node in addition to other nodes send child node switching notice.
Optionally, the determining module 1220 is also used to determine third preset duration adjacent before current point in time Interior each node sends the data volume of data;
The sending module 1230, if being also used to the corresponding data volume of target child node is greater than or equal to default value, Then root node switching notice is sent to the target child node.
Optionally, the determining module 1220 is also used to determine the 4th preset duration adjacent before current point in time Interior each node sends the data volume of data;
The sending module 1230, if being also used to the corresponding data volume of target root node less than default value, to institute It states target root node and sends child node switching notice.
In the embodiment of the present disclosure, in pushing video frame, root node can receive the Streaming Media FLV of CDN server transmission Rectification, by FLV rectify in each video frame according to preset length be divided into multiple video bags, child node can send son to root node Stream subscribes to request, and root node subscribes to request according to the subflow received, determines that each subflow subscribes to request in multiple video bags Then corresponding video bag is subscribed to each subflow and is requested, send subflow to child node belonging to subflow subscription request and subscribe to Request corresponding video bag.In this way, obtaining video frame from CDN server due to only having root node, child node is obtained from root node Video frame is taken, rather than all video frames are sent from CDN server, it is possible to save the number of CDN server According to flow cost.
It should be understood that root node provided by the above embodiment, child node and P2P server be in transmission of video, only The example of the division of the above functional modules, in practical application, can according to need and by above-mentioned function distribution by Different functional modules is completed, i.e., the internal structure of root node, child node and P2P server is divided into different function moulds Block, to complete all or part of the functions described above.In addition, root node provided by the above embodiment, child node and P2P clothes The embodiment of the method for business device and transmission of video belongs to same design, and specific implementation process is detailed in embodiment of the method, here no longer It repeats.
Figure 13 shows the structural block diagram of the terminal 1300 of an illustrative embodiment of the invention offer.The terminal 1300 can To be: smart phone, tablet computer, MP3 player (Moving Picture Experts Group Audio Layer III, dynamic image expert's compression standard audio level 3), MP4 (Moving Picture Experts Group Audio Layer IV, dynamic image expert's compression standard audio level 4) player, laptop or desktop computer.Terminal 1300 is also Other titles such as user equipment, portable terminal, terminal console may be referred to as.In general, terminal 1300 includes: processor 1301 and memory 1302.
Processor 1301 may include one or more processing cores, such as 4 core processors, 8 core processors etc..Place Reason device 1301 can use DSP (Digital Signal Processing, Digital Signal Processing), FPGA (Field- Programmable Gate Array, field programmable gate array), PLA (Programmable Logic Array, may be programmed Logic array) at least one of example, in hardware realize.
Memory 1302 may include one or more computer readable storage mediums, which can To be non-transient.Memory 1302 may also include high-speed random access memory and nonvolatile memory, such as one Or multiple disk storage equipments, flash memory device.In some embodiments, terminal 1300 is also optional includes: peripheral equipment Interface 1303 and at least one peripheral equipment.It can lead between processor 1301, memory 1302 and peripheral device interface 1303 It crosses bus or signal wire is connected.Each peripheral equipment can pass through bus, signal wire or circuit board and peripheral device interface 1303 It is connected.Specifically, peripheral equipment include: radio circuit 1304, touch display screen 1305, camera 1306, voicefrequency circuit 1307, At least one of positioning component 1308 and power supply 1309.In some embodiments, terminal 1300 further includes having one or more Sensor 1310.The one or more sensors 1310 include but is not limited to: acceleration transducer 1311, gyro sensor 1312, pressure sensor 1313, fingerprint sensor 1314, optical sensor 1315 and proximity sensor 1316.
It, can be with it will be understood by those skilled in the art that the restriction of the not structure paired terminal 1300 of structure shown in Figure 13 Including than illustrating more or fewer components, perhaps combining certain components or being arranged using different components.Practical Figure 13 institute The terminal shown is node mentioned above, including root node, child node and FLV node.
Figure 14 is a kind of structural schematic diagram of P2P server provided in an embodiment of the present invention, which can be because Configuration or performance are different and generate bigger difference, may include one or more processors (central Processing units, CPU) 1401 and one or more memory 1402, wherein it is deposited in the memory 1402 At least one instruction is contained, at least one instruction is loaded by the processor 1401 and executed to realize above-mentioned transmission of video Method and step.
Optionally, the embodiment of the present disclosure additionally provides a kind of system of transmission of video, and the system comprises root nodes, sub- section Point and point-to-point P2P server, in which: method and step of the root node for realizing above-mentioned transmission of video, the child node For realizing the method and step of above-mentioned transmission of video, the P2P server for realizing above-mentioned transmission of video method and step.
Optionally, the embodiment of the present disclosure additionally provides a kind of node, and the node includes processor and memory, described to deposit At least one instruction is stored in reservoir, described instruction is loaded by the processor and executed the side to realize above-mentioned transmission of video Method step.
Optionally, the embodiment of the present disclosure additionally provides a kind of point-to-point P2P server, and the P2P server includes processing Device and memory are stored at least one instruction in the memory, and described instruction is loaded by the processor and executed with reality The method of existing above-mentioned transmission of video.
Optionally, the embodiment of the present disclosure additionally provides a kind of computer readable storage medium, stores in the storage medium There is at least one instruction, described instruction is loaded by processor and executed the method and step to realize above-mentioned transmission of video.
Those of ordinary skill in the art will appreciate that realizing that all or part of the steps of above-described embodiment can pass through hardware It completes, relevant hardware can also be instructed to complete by program, the program can store in a kind of computer-readable In storage medium, storage medium mentioned above can be read-only memory, disk or CD etc..
The foregoing is merely the preferred embodiments of the disclosure, not to limit the disclosure, all spirit in the disclosure and Within principle, any modification, equivalent replacement, improvement and so on be should be included within the protection scope of the disclosure.

Claims (28)

1. a kind of method of transmission of video, which is characterized in that the described method includes:
The Streaming Media FLV rectification that reception content distribution network CDN server is sent;
Each video frame in FLV rectification is divided into multiple video bags according to preset length;
Request is subscribed to according to the subflow received, determines that each subflow is subscribed in the multiple video bag and requests corresponding video Packet;
Request is subscribed to for each subflow, Xiang Suoshu subflow subscribes to child node belonging to request and sends the subflow subscription request pair The video bag answered.
2. the method according to claim 1, wherein it is described by the FLV rectification in each video frame according to pre- If length is divided into after multiple video bags, further includes:
The obtained multiple video bags of division are successively numbered and when the video frame of division is I frame, are obtained to I frame is divided Video bag re-start number;
The subflow that the basis receives subscribes to request, and it is corresponding to determine that each subflow subscribes to request in the multiple video bag Video bag, comprising:
The number that request and video bag are subscribed to according to the subflow received determines that each subflow is subscribed in the multiple video bag Request corresponding video bag.
3. according to the method described in claim 2, it is characterized in that, the subflow, which is subscribed to, carries subflow number and total in request Subflow number;
The subflow that the basis receives is subscribed to please with the number of video bag, determines that each subflow is ordered in the multiple video bag Read the corresponding video bag of request, comprising:
The number that the number of the subflow in requesting, total subflow number and video bag are subscribed to according to the subflow received, the multiple It determines that each subflow is subscribed in video bag and requests corresponding video bag.
4. method according to any one of claims 1 to 3, which is characterized in that for each video bag, the video bag is also taken First time stamp with video frame belonging to the video bag, packet serial number, the affiliated video in the frame of the video bag The number for the video bag that video frame belonging to second timestamp of the former frame video frame of frame, the video bag includes.
5. method according to claim 1 or 2, which is characterized in that the subflow, which is subscribed to, carries subflow number in request;
The method also includes:
The subflow number in request is subscribed to according to the subflow received, if it is determined that the first subflow, which subscribes to request neutron current number, is The subflow number of audio frame is sent, then subscribes to child node belonging to request to first subflow and sends in the FLV rectification Audio frame.
6. according to the method described in claim 5, it is characterized in that, also carrying the time of the audio frame in the audio frame It is adjacent before stamp, the timestamp of previous audio frame of the audio frame, the serial number of audio frame and the previous audio frame Continuous preset number audio frame timestamp.
7. according to the method described in claim 2, it is characterized in that, the method also includes:
Receive child node switching notice;
If meeting child node switching condition, subflow is subscribed to other nodes, and disconnect the connection with CDN server.
8. a kind of method of transmission of video, which is characterized in that the described method includes:
Subflow is sent to node and subscribes to request, wherein the subflow, which is subscribed to, carries subflow number and total subflow number in request;
It receives the node and the video bag that request is determined is subscribed to according to the subflow, wherein the video bag is the node Video frame is split to obtain according to preset length, the video frame is by the node received from content distribution network CDN service device;
According to the video bag received, video flowing is formed, the video flowing is played.
9. according to the method described in claim 8, it is characterized in that, the video bag also carries for each video bag State video frame belonging to video bag first time stamp, the video bag frame in packet serial number, it is described belonging to video frame before The number for the video bag that video frame belonging to second timestamp of one frame video frame, the video bag includes;
The method also includes:
According to the first time stamp carried in the video bag received and second timestamp, if there is not receiving The first video frame and/or the first video bag, then when reach retransmit interval when, to retransmission server send retransmission request, wherein If not receiving first video frame, the first time stamp of first video frame is carried in the retransmission request, such as Fruit does not receive first video bag, then first of video frame belonging to first video bag is carried in the retransmission request Packet serial number in timestamp and the frame of first video bag, if not receiving first video frame and first video Packet, then the first time stamp that first video frame is carried in the retransmission request, video frame belonging to first video bag First time stamp and first video bag frame in packet serial number.
10. according to the method described in claim 9, it is characterized in that, it is described when reach retransmit interval when, to retransmission server send out Send retransmission request, comprising:
When reaching re-transmission interval, if node re-transmission is inactive, retransmission request is sent to retransmission server.
11. according to the method described in claim 10, it is characterized in that, the method also includes:
If node retransmits starting, to the section of the node and/or transmission first video frame that send first video bag Point sends retransmission request.
12. according to the method described in claim 8, it is characterized in that, the method also includes:
If the difference of the timestamp for the second video bag being currently received and third timestamp is greater than the first preset threshold, or Person, the timestamp for the second video bag being currently received and the difference of the 4th timestamp are greater than the first preset threshold, then will be described Second video bag is deleted, wherein the third timestamp be current point in time before the first preset duration in the view that receives Frequency packet timestamp minimum value, the 4th timestamp be current point in time before first preset duration in receive Video bag timestamp maximum value.
13. according to the method described in claim 8, form video flowing it is characterized in that, the video bag that the basis receives, Play the video flowing, comprising:
If the difference that current point in time and last time play the time point of the video frame in video flowing reaches the second preset threshold, And the number for receiving the video frame for not sending to broadcasting is more than third predetermined threshold value, it is determined that timestamp in the video frame received The smallest I frame;
According to the video bag of the video frame after the video bag of the I frame and the I frame, video flowing is formed, the video is played Stream.
14. according to the method described in claim 8, it is characterized in that, the method also includes:
Receive audio frame;
The video bag that the basis receives forms video flowing, plays the video flowing, comprising:
According to packet serial number and timestamp in the frame of the video bag received, video bag is formed into video frame;
According to the timestamp of the timestamp of the video frame and the audio frame, the video frame and audio frame are formed into audio-video Stream;
Play the audio/video flow.
15. according to the method described in claim 8, it is characterized in that, the method also includes:
If the timestamp for the first audio frame being currently received and the difference of the 5th timestamp are greater than the 4th preset threshold, or Person, the timestamp for the second audio frame being currently received and the difference of the 6th timestamp are greater than the 4th preset threshold, then will be described Second audio frame deletion, wherein the 5th timestamp be current point in time before the second preset duration in the sound that receives The minimum value of the timestamp of frequency frame, the 6th timestamp be current point in time before the second preset duration in the sound that receives The maximum value of the timestamp of frequency frame.
16. according to the method described in claim 8, it is characterized in that, the method also includes:
Receive root node switching notice;
Subflow unsubscription request is sent to the root node for subscribing to subflow, and establishes connection with content distribution network CDN service device;
Streaming Media FLV rectification is obtained from the CDN server.
17. according to the method described in claim 8, it is characterized in that, the method also includes:
Receive the node listing that point-to-point P2P server is sent;
It is communicated according to the node in the node listing, determines that the subflow subscribes to the node that request is sent to.
18. a kind of method of transmission of video, which is characterized in that the described method includes:
Obtain the code rate within child node target preset duration;
According to the corresponding relationship of range of code rates and total subflow number, the corresponding total subflow of range of code rates belonging to the code rate is determined Number;
Total subflow number is sent to the child node, wherein total subflow number sends subflow to node in the child node It when subscribing to request, is carried at subflow and subscribes in request, carry and be used for the section in total subflow number that the subflow subscribes to request Point determines the video bag sent toward the child node, and the video bag is that the node splits video frame according to preset length It arrives, the video frame is by the node received from content distribution network CDN service device.
19. according to the method for claim 18, which is characterized in that the method also includes:
Determine preset number root node at random in the terminal for establishing connection with this equipment;
Root node switching notice is sent to the FLV node determined as root node, and is determined as root node FLV node to except described Except other nodes send child node switching notice.
20. according to the method for claim 19, which is characterized in that the method also includes:
Determine the data volume of each node transmission data in third preset duration adjacent before current point in time;
If the corresponding data volume of target child node is greater than or equal to default value, root node is sent to the target child node Switching notice.
21. method described in 9 or 20 according to claim 1, which is characterized in that the method also includes:
Determine the data volume of each node transmission data in the 4th preset duration adjacent before current point in time;
If the corresponding data volume of target root node is less than default value, it is logical that child node switching is sent to the target root node Know.
22. a kind of root node of transmission of video, which is characterized in that the root node includes:
Receiving module, the Streaming Media FLV rectification sent for reception content distribution network CDN server;
Module is split, for each video frame in FLV rectification to be divided into multiple video bags according to preset length;
Determining module determines that each subflow is subscribed in the multiple video bag for subscribing to request according to the subflow received Request corresponding video bag;
Sending module, for requesting for the subscription of each subflow, Xiang Suoshu subflow is subscribed to described in child node transmission belonging to request Subflow, which is subscribed to, requests corresponding video bag.
23. a kind of child node of transmission of video, which is characterized in that the child node includes:
Sending module subscribes to request for sending subflow to node, wherein the subflow, which is subscribed to, carries subflow number in request With total subflow number;
Receiving module subscribes to the video bag that request is determined according to the subflow for receiving the node, wherein the video Packet is that video frame is split to obtain by the node according to preset length, and the video frame is by the node received from content delivery network Network CDN server;
Playing module, for forming video flowing, playing the video flowing according to the video bag received.
24. a kind of point-to-point P2P server of transmission of video, which is characterized in that the P2P server includes:
Module is obtained, for obtaining the code rate within child node target preset duration;
Determining module determines range of code rates belonging to the code rate for the corresponding relationship according to range of code rates and total subflow number Corresponding total subflow number;
Sending module, for sending total subflow number to the child node, wherein total subflow number the child node to It when node sends subflow subscription request, is carried at subflow and subscribes in request, carry total subflow in subflow subscription request Number for the node determine send toward the child node video bag, the video bag be the node by video frame according to pre- If length splits to obtain, the video frame is by the node received from content distribution network CDN service device.
25. a kind of system of transmission of video, which is characterized in that the system comprises root node, child node and point-to-point P2P services Device, in which:
The root node, the root node as described in the claims 22;
The child node, the child node as described in the claims 23;
The P2P server, the P2P server as described in the claims 24.
26. a kind of node, which is characterized in that the node includes processor and memory, is stored at least in the memory One instruction, described instruction are loaded by the processor and are executed to realize that the video as described in claim 1 to 17 is any passes Defeated method.
27. a kind of point-to-point P2P server, which is characterized in that the P2P server includes processor and memory, described to deposit At least one instruction is stored in reservoir, described instruction is loaded by the processor and executed to realize such as claim 18 to 21 The method of any transmission of video.
28. a kind of computer readable storage medium, which is characterized in that be stored at least one instruction, institute in the storage medium The method for stating the transmission of video that instruction is loaded by processor and executed with realization as described in claim 1 to 21 is any.
CN201910234475.XA 2019-03-26 2019-03-26 Video transmission method, root node, child node, P2P server and system Active CN109889543B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910234475.XA CN109889543B (en) 2019-03-26 2019-03-26 Video transmission method, root node, child node, P2P server and system
PCT/CN2019/120024 WO2020192152A1 (en) 2019-03-26 2019-11-21 Video transmission method, root node, child node, p2p server, and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910234475.XA CN109889543B (en) 2019-03-26 2019-03-26 Video transmission method, root node, child node, P2P server and system

Publications (2)

Publication Number Publication Date
CN109889543A true CN109889543A (en) 2019-06-14
CN109889543B CN109889543B (en) 2020-11-13

Family

ID=66934576

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910234475.XA Active CN109889543B (en) 2019-03-26 2019-03-26 Video transmission method, root node, child node, P2P server and system

Country Status (2)

Country Link
CN (1) CN109889543B (en)
WO (1) WO2020192152A1 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110493327A (en) * 2019-08-05 2019-11-22 网宿科技股份有限公司 A kind of data transmission method and device
CN111343475A (en) * 2020-03-04 2020-06-26 广州虎牙科技有限公司 Data processing method and device, live broadcast server and storage medium
CN111669610A (en) * 2020-05-27 2020-09-15 北京奇艺世纪科技有限公司 Live video transmission method, system, device, server, electronic equipment and storage medium
WO2020192152A1 (en) * 2019-03-26 2020-10-01 广州华多网络科技有限公司 Video transmission method, root node, child node, p2p server, and system
CN111988674A (en) * 2020-08-18 2020-11-24 广州极飞科技有限公司 Multimedia data transmission method, device, equipment and storage medium
CN112261418A (en) * 2020-09-18 2021-01-22 网宿科技股份有限公司 Method for transmitting live video data and live broadcast acceleration system
CN112969075A (en) * 2021-01-29 2021-06-15 北京字节跳动网络技术有限公司 Frame supplementing method and device in live broadcast process and computing equipment
CN114821936A (en) * 2022-03-21 2022-07-29 慧之安信息技术股份有限公司 Method and device for detecting illegal criminal behaviors based on edge calculation
US11431638B2 (en) * 2019-10-14 2022-08-30 Sandvine Corporation System and method for monitoring and managing video stream content
WO2022228103A1 (en) * 2021-04-30 2022-11-03 北京汇钧科技有限公司 Data transmission control method and apparatus, electronic device, and storage medium

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112437346A (en) * 2020-11-04 2021-03-02 央视国际网络无锡有限公司 Method for judging whether video file is complete or not
CN114697610B (en) * 2020-12-30 2023-08-18 成都鼎桥通信技术有限公司 Video transmission method and electronic equipment
CN112770122B (en) * 2020-12-31 2022-10-14 上海网达软件股份有限公司 Method and system for synchronizing videos on cloud director
CN112967142A (en) * 2021-03-31 2021-06-15 上海英方软件股份有限公司 Method and device for forwarding market information stream
CN114567638B (en) * 2022-02-14 2023-09-01 珠海迈科智能科技股份有限公司 Method for dynamically adjusting sharing strategy according to actual network of node
CN114499777B (en) * 2022-04-15 2022-07-22 四川腾盾科技有限公司 Data transmission method for cluster unmanned system
CN118250264A (en) * 2022-12-22 2024-06-25 腾讯科技(深圳)有限公司 Data processing method and related device

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100146092A1 (en) * 2008-12-08 2010-06-10 Microsoft Corporation Peer-to-Peer (P2P) Streaming Overlay Construction and Optimization
CN101959054A (en) * 2009-07-14 2011-01-26 中国电信股份有限公司 Integrated P2P (Peer-To-Peer) VOD (Video-On-Demand) system and partner node selecting method
CN104967866A (en) * 2015-05-13 2015-10-07 浙江树人大学 Dynamic self-adaptive P2P live streaming media substream scheduling method
CN105338421A (en) * 2014-08-05 2016-02-17 深圳国微技术有限公司 HLS streaming media transmission method and device
CN105792021A (en) * 2014-12-26 2016-07-20 乐视网信息技术(北京)股份有限公司 Method and device for transmitting video stream
CN106649855A (en) * 2016-12-30 2017-05-10 中广热点云科技有限公司 Video label adding method and adding system
CN107426629A (en) * 2017-06-19 2017-12-01 网宿科技股份有限公司 A kind of streaming media file processing method and live broadcast system
CN108696773A (en) * 2017-04-11 2018-10-23 上海谦问万答吧云计算科技有限公司 A kind of transmission method and device of real-time video
CN109348243A (en) * 2018-11-14 2019-02-15 广州虎牙信息科技有限公司 Subscribe to the method, apparatus and live broadcast system of processing
CN109348257A (en) * 2018-11-14 2019-02-15 广州虎牙信息科技有限公司 Draw method of flow control, device and live broadcast system
CN109510868A (en) * 2018-11-14 2019-03-22 广州虎牙信息科技有限公司 A kind of method, apparatus that establishing P2P network, terminal device and storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150041253A (en) * 2013-10-07 2015-04-16 한국전자통신연구원 Digital display terminal, contents server, and contents transmitting and receiving method
CN104735044A (en) * 2014-11-18 2015-06-24 深圳市同洲电子股份有限公司 Streaming media live broadcast method and system
CN109474684B (en) * 2018-11-14 2021-04-27 广州虎牙信息科技有限公司 Method, device, terminal equipment and storage medium for acquiring live video stream
CN109889543B (en) * 2019-03-26 2020-11-13 广州华多网络科技有限公司 Video transmission method, root node, child node, P2P server and system

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100146092A1 (en) * 2008-12-08 2010-06-10 Microsoft Corporation Peer-to-Peer (P2P) Streaming Overlay Construction and Optimization
CN101959054A (en) * 2009-07-14 2011-01-26 中国电信股份有限公司 Integrated P2P (Peer-To-Peer) VOD (Video-On-Demand) system and partner node selecting method
CN105338421A (en) * 2014-08-05 2016-02-17 深圳国微技术有限公司 HLS streaming media transmission method and device
CN105792021A (en) * 2014-12-26 2016-07-20 乐视网信息技术(北京)股份有限公司 Method and device for transmitting video stream
CN104967866A (en) * 2015-05-13 2015-10-07 浙江树人大学 Dynamic self-adaptive P2P live streaming media substream scheduling method
CN106649855A (en) * 2016-12-30 2017-05-10 中广热点云科技有限公司 Video label adding method and adding system
CN108696773A (en) * 2017-04-11 2018-10-23 上海谦问万答吧云计算科技有限公司 A kind of transmission method and device of real-time video
CN107426629A (en) * 2017-06-19 2017-12-01 网宿科技股份有限公司 A kind of streaming media file processing method and live broadcast system
CN109348243A (en) * 2018-11-14 2019-02-15 广州虎牙信息科技有限公司 Subscribe to the method, apparatus and live broadcast system of processing
CN109348257A (en) * 2018-11-14 2019-02-15 广州虎牙信息科技有限公司 Draw method of flow control, device and live broadcast system
CN109510868A (en) * 2018-11-14 2019-03-22 广州虎牙信息科技有限公司 A kind of method, apparatus that establishing P2P network, terminal device and storage medium

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020192152A1 (en) * 2019-03-26 2020-10-01 广州华多网络科技有限公司 Video transmission method, root node, child node, p2p server, and system
CN110493327A (en) * 2019-08-05 2019-11-22 网宿科技股份有限公司 A kind of data transmission method and device
CN110493327B (en) * 2019-08-05 2022-06-10 网宿科技股份有限公司 Data transmission method and device
US20220393982A1 (en) * 2019-10-14 2022-12-08 Sandvine Corporation System and method for monitoring and managing video stream content
US20230370384A1 (en) * 2019-10-14 2023-11-16 Sandvine Corporation System and method for monitoring and managing video stream content
US11431638B2 (en) * 2019-10-14 2022-08-30 Sandvine Corporation System and method for monitoring and managing video stream content
US11743195B2 (en) * 2019-10-14 2023-08-29 Sandvine Corporation System and method for monitoring and managing video stream content
CN111343475A (en) * 2020-03-04 2020-06-26 广州虎牙科技有限公司 Data processing method and device, live broadcast server and storage medium
CN111343475B (en) * 2020-03-04 2022-04-15 广州虎牙科技有限公司 Data processing method and device, live broadcast server and storage medium
CN111669610A (en) * 2020-05-27 2020-09-15 北京奇艺世纪科技有限公司 Live video transmission method, system, device, server, electronic equipment and storage medium
CN111988674A (en) * 2020-08-18 2020-11-24 广州极飞科技有限公司 Multimedia data transmission method, device, equipment and storage medium
CN112261418A (en) * 2020-09-18 2021-01-22 网宿科技股份有限公司 Method for transmitting live video data and live broadcast acceleration system
CN112969075A (en) * 2021-01-29 2021-06-15 北京字节跳动网络技术有限公司 Frame supplementing method and device in live broadcast process and computing equipment
WO2022228103A1 (en) * 2021-04-30 2022-11-03 北京汇钧科技有限公司 Data transmission control method and apparatus, electronic device, and storage medium
CN114821936A (en) * 2022-03-21 2022-07-29 慧之安信息技术股份有限公司 Method and device for detecting illegal criminal behaviors based on edge calculation

Also Published As

Publication number Publication date
WO2020192152A1 (en) 2020-10-01
CN109889543B (en) 2020-11-13

Similar Documents

Publication Publication Date Title
CN109889543A (en) Method, root node, child node, P2P server and the system of transmission of video
CN103797810B (en) Synchronous wireless display apparatus
TWI580237B (en) Unicast abr streaming
CN107135417B (en) A kind of throwing screen method and system of HLS protocol
CN101485170B (en) Rendering repeatable data objects streamed over a network
US7733808B2 (en) Peer-to-peer aided live video sharing system
US10368118B2 (en) System and apparatus for managing video content recordings
CN109560901A (en) A kind of data repeating method, device, terminal device and storage medium
CN107819809B (en) Method and device for synchronizing content
CN110502259B (en) Server version upgrading method, video networking system, electronic equipment and storage medium
CN107409135A (en) The system and method that optimization for live adaptive bitrate (ABR) media is transmitted
CN103518351A (en) IP broadcast streaming services distribution using file delivery methods
CN108696773A (en) A kind of transmission method and device of real-time video
CN107431704A (en) The system and method that optimization for live adaptive bitrate (ABR) media using multicast mechanism is transmitted
CN106686438A (en) Cross-device audio/image synchronous playing method, equipment and system
EP1806870B1 (en) Method for providing data and data transmission system
KR100937681B1 (en) Communication module and process for inter-user communication, server comprising such a communication module, broadcasting set comprising such a server and storage medium stored thereon a computer program product executing such an inter-user communication process
CN102420868B (en) The providing method of service, apparatus and system
KR100526183B1 (en) Apparatus and Method for efficient data transmission/reception in Mobile Ad-hoc Network
CN101267531A (en) An interactive network TV system and its realization method
CN104539749B (en) A kind of connection method and device based on virtual ip address
KR102220236B1 (en) Simultaneous play service device and control method thereof
JP2004088315A (en) Content distribution system, edge server, and terminal
CN110830821A (en) RTP (real-time transport protocol) stream transmission method and device based on slices, terminal and server
CN112788050A (en) System and method for realizing low-delay live broadcast based on content distribution network

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
GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20190614

Assignee: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Assignor: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

Contract record no.: X2021980000101

Denomination of invention: Video transmission method, root node, sub node, P2P server and system

Granted publication date: 20201113

License type: Common License

Record date: 20210106

EE01 Entry into force of recordation of patent licensing contract