CN108574882B - A kind of video transmission method and device - Google Patents

A kind of video transmission method and device Download PDF

Info

Publication number
CN108574882B
CN108574882B CN201710140922.6A CN201710140922A CN108574882B CN 108574882 B CN108574882 B CN 108574882B CN 201710140922 A CN201710140922 A CN 201710140922A CN 108574882 B CN108574882 B CN 108574882B
Authority
CN
China
Prior art keywords
fragment
mainstream
secondary flow
terminal
server
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.)
Active
Application number
CN201710140922.6A
Other languages
Chinese (zh)
Other versions
CN108574882A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201710140922.6A priority Critical patent/CN108574882B/en
Priority to PCT/CN2018/076526 priority patent/WO2018161790A1/en
Publication of CN108574882A publication Critical patent/CN108574882A/en
Application granted granted Critical
Publication of CN108574882B publication Critical patent/CN108574882B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440263Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

The embodiment of the present application discloses a kind of video transmission method and device, is related to transmission technique field, to save transfer resource and cache resources.The video includes main coding stream and auxiliary encoding stream, and auxiliary encoding stream is used to improve the code rate of chief editor's code stream, and chief editor's code stream includes at least two mainstream fragments, and auxiliary encoding stream includes at least two secondary flow fragments, and each mainstream fragment is corresponding with a secondary flow fragment.This method comprises: sending the first mainstream fragment request to server, wherein for the first mainstream fragment request for requesting the first mainstream fragment, the first mainstream fragment is a mainstream fragment at least two mainstream fragments;Receive the first mainstream fragment that server is sent;If current real-time network situation meets preset condition, the first secondary flow fragment request is sent to server, wherein the first secondary flow fragment request is for requesting the corresponding first secondary flow fragment of the first mainstream fragment;Receive the first secondary flow fragment that server is sent.

Description

A kind of video transmission method and device
Technical field
This application involves transmission technique field more particularly to a kind of video transmission methods and device.
Background technique
HLS (HTTP live streaming) is based on hypertext transfer protocol (hyper text transfer Protocol, HTTP) a kind of streaming media transmission protocol, it can be achieved that Streaming Media live streaming and program request.In HLS program request scene, Server encodes video content, obtains multiple video files of different code rates, then according to the time by multiple video Each video file in file is divided into multiple fragments.When terminal needs to play video, according to play time and current network shape The fragment that condition request needs, and the fragment requested is cached, decoded and played.
In HLS technology, when the requested fragment of terminal is switched to high code rate from low bit- rate, caches but do not played low Code rate fragment can be ineffective, to cause the waste of transfer resource and cache resources.
Summary of the invention
The embodiment of the present application provides a kind of video transmission method and device, to save transfer resource and cache resources.
In a first aspect, providing a kind of video transmission method, which includes main coding stream and auxiliary encoding stream, and auxiliary encoding stream is used In the code rate for improving chief editor's code stream, chief editor's code stream includes at least two mainstream fragments, and auxiliary encoding stream includes at least two secondary flows point Piece, each mainstream fragment are corresponding with a secondary flow fragment.It is asked this method comprises: terminal to server sends the first mainstream fragment It asks, wherein for the first mainstream fragment request for requesting the first mainstream fragment, the first mainstream fragment is at least two mainstream fragments A mainstream fragment;Receive the first mainstream fragment that server is sent;If current real-time network situation meets preset condition, The first secondary flow fragment request is sent to server, wherein the first secondary flow fragment request is corresponding for requesting the first mainstream fragment First secondary flow fragment;Receive the first secondary flow fragment that server is sent.In the technical solution, terminal request mainstream fragment, and press It need to request secondary flow fragment;Wherein, secondary flow fragment is used to improve the code rate of mainstream fragment.Due in the embodiment of the present application, editing Code stream can be played individually, alternatively, chief editor's code stream plays after being superimposed reconstruct with auxiliary encoding stream, therefore the chief editor's code stream cached is not It can be ineffective because caching auxiliary encoding stream.Compared with prior art, transfer resource and cache resources can be saved.
Optionally, pass through HTTP/2 protocol communication between terminal and server.The server, which can be, supports HTTP/2 association Any one server of view, such as can be WEB server.
In one possible implementation, this method can also include: terminal by the first mainstream fragment and the first secondary flow Fragment is superimposed and reconstructs, and plays the code stream generated after reconstruct.In such manner, it is possible to improve video playing quality.
In one possible implementation, terminal receives the first mainstream fragment that server is sent, and may include: one Chain road receives the first mainstream fragment that server is sent, wherein the link can be any bar between terminal and server Link.In this case, the first secondary flow fragment that above-mentioned reception server is sent, comprising: receive what server was sent on the link First secondary flow fragment.In this way, terminal and server only needs to safeguard a link, therefore realize simple.
In one possible implementation, this method can also include: that terminal to server sends the second mainstream fragment Request, wherein for the second mainstream fragment request for requesting the second mainstream fragment, the second mainstream fragment is at least two mainstream fragments In a mainstream fragment in addition to the first mainstream fragment;Receive the second mainstream fragment that server is sent;If current real-time Network status meets preset condition, then sends the second secondary flow fragment request to server, wherein the second secondary flow fragment request is used for Request the corresponding second secondary flow fragment of the second mainstream fragment;If after sending the second secondary flow fragment request to server and receiving It to before the second secondary flow fragment, detects that current real-time network situation is unsatisfactory for preset condition, then sends to interrupt to server and ask It asks, wherein interrupt requests are used for the transmission flow for requesting to interrupt the second secondary flow fragment.In such manner, it is possible to reduce to a certain extent Terminal obtains next mainstream fragment of the second mainstream fragment, to effectively Caton occur during less terminal plays video The phenomenon that generation.It should be understood that the possible implementation can independent of any technical solution provided above, and It is individually performed, in this way, the second mainstream fragment has wilfulness.
Second aspect provides a kind of video transmission method, which includes main coding stream and auxiliary encoding stream, edits stream packet At least two mainstream fragments are included, auxiliary encoding stream includes at least two secondary flow fragments, each mainstream fragment and a secondary flow fragment pair It answers;This method may include: the first mainstream fragment request that server receiving terminal is sent, wherein the first mainstream fragment request For requesting the first mainstream fragment, the first mainstream fragment is a mainstream fragment at least two mainstream fragments;It is sent out to terminal Send the first mainstream fragment;Receive the first secondary flow fragment request that terminal is sent, wherein the first secondary flow fragment request is for requesting the The corresponding first secondary flow fragment of one mainstream fragment;First secondary flow fragment request is that terminal in current network conditions meets preset condition In the case where send;The first secondary flow fragment is sent to terminal.
In one possible implementation, the first mainstream fragment is sent to terminal, may include: on a chain road to end End sends the first mainstream fragment.It may include: on the link to terminal in this case, sending the first secondary flow fragment to terminal Send the first secondary flow fragment.
In one possible implementation, the priority of mainstream fragment is higher than the corresponding secondary flow fragment of the mainstream fragment Priority.It may include: if it is determined that sending the first mainstream point to terminal in this case, sending the first secondary flow fragment to terminal Piece then sends the first secondary flow fragment to terminal.In such manner, it is possible to guarantee that mainstream fragment can be with prioritised transmission, to guarantee mainstream point The broadcasting continuity of piece.
In one possible implementation, this method can also include: the second mainstream that server receiving terminal is sent Fragment request, wherein for the second mainstream fragment request for requesting the second mainstream fragment, the second mainstream fragment is at least two mainstreams A mainstream fragment in addition to the first mainstream fragment in fragment;The second mainstream fragment is sent to terminal;Terminal is received to send The second secondary flow fragment request, wherein the second secondary flow fragment request is for requesting the second mainstream fragment corresponding second secondary flow point Piece;If receiving the interrupt requests of terminal transmission before sending the second secondary flow fragment request to terminal, then interrupting the second secondary flow The transmission flow of fragment.It should be understood that the possible implementation can independent of any technical solution provided above, But be individually performed, in this way, the second mainstream fragment has wilfulness.
The beneficial effect for the technical solution that any possible implementation of second aspect or second aspect provides To refer to above-mentioned first aspect or the possible implementation of first aspect, details are not described herein again.
The third aspect provides a kind of terminal, and video includes main coding stream and auxiliary encoding stream, and auxiliary encoding stream is for improving chief editor The code rate of code stream, chief editor's code stream include at least two mainstream fragments, and auxiliary encoding stream includes at least two secondary flow fragments, each mainstream Fragment is corresponding with a secondary flow fragment.The terminal may include: transmission unit and receiving unit.Wherein, transmission unit, for Server sends the first mainstream fragment request, wherein the first mainstream fragment request is for requesting the first mainstream fragment, the first mainstream Fragment is a mainstream fragment at least two mainstream fragments.Receiving unit, for receiving the first mainstream of server transmission Fragment.Transmission unit is also used to, if current real-time network situation meets preset condition, sends the first secondary flow fragment to server Request, wherein the first secondary flow fragment request is for requesting the corresponding first secondary flow fragment of the first mainstream fragment.Receiving unit is also used In the first secondary flow fragment that reception server is sent.
In one possible implementation, which can also include: reconfiguration unit and broadcast unit.Wherein, it reconstructs Unit, for the first mainstream fragment and the first secondary flow fragment to be superimposed and reconstruct.Broadcast unit, for being generated after playing reconstruct Code stream.
In one possible implementation, receiving unit is specifically used for, and server is sent the is received on a chain road One mainstream fragment;The first secondary flow fragment that server is sent is received on the link.
In one possible implementation, transmission unit can be also used for, and sends the second mainstream fragment to server and asks It asks, wherein for the second mainstream fragment request for requesting the second mainstream fragment, the second mainstream fragment is at least two mainstream fragments A mainstream fragment in addition to the first mainstream fragment.Receiving unit can be also used for, and it is main to receive server is sent second Flow fragmentation.Transmission unit can be also used for, if current real-time network situation meets preset condition, it is auxiliary to send second to server Flow fragmentation request, wherein the second secondary flow fragment request is for requesting the corresponding second secondary flow fragment of the second mainstream fragment.It sends single Member can be also used for, if after sending the second secondary flow fragment request to server and before receiving the second secondary flow fragment, inspection It measures current real-time network situation and is unsatisfactory for preset condition, then send interrupt requests to server, wherein interrupt requests are for asking Seek the transmission flow for interrupting the second secondary flow fragment.
Fourth aspect provides a kind of server, and video includes main coding stream and auxiliary encoding stream, and chief editor's code stream includes at least two A mainstream fragment, auxiliary encoding stream include at least two secondary flow fragments, and each mainstream fragment is corresponding with a secondary flow fragment.The service Device may include: receiving unit and transmission unit.Wherein, receiving unit, the first mainstream fragment for receiving terminal transmission are asked It asks, wherein for the first mainstream fragment request for requesting the first mainstream fragment, the first mainstream fragment is at least two mainstream fragments A mainstream fragment.Transmission unit, for sending the first mainstream fragment to terminal.Receiving unit is also used to, and receives terminal hair The the first secondary flow fragment request sent, wherein the first secondary flow fragment request is for requesting corresponding first secondary flow of the first mainstream fragment Fragment;First secondary flow fragment request is that terminal is sent in the case where current network conditions meet preset condition.Transmission unit It is also used to, sends the first secondary flow fragment to terminal.
In one possible implementation, transmission unit is specifically used for: sending the first mainstream in a chain Lu Shangxiang terminal Fragment;The first secondary flow fragment is sent to terminal on the link.
In one possible implementation, the priority of mainstream fragment is higher than the corresponding secondary flow fragment of the mainstream fragment Priority;In this case, transmission unit is specifically used for: if it is determined that sending the first mainstream fragment to terminal, then being sent to terminal First secondary flow fragment.
In one possible implementation, receiving unit is also used to, and receives the second mainstream fragment request that terminal is sent, Wherein, for the second mainstream fragment request for requesting the second mainstream fragment, the second mainstream fragment is at least two mainstream fragments A mainstream fragment in addition to the first mainstream fragment.Transmission unit is also used to, and sends the second mainstream fragment to terminal.It receives single Member is also used to, and receives the second secondary flow fragment request that terminal is sent, wherein the second secondary flow fragment request is for requesting the second mainstream The corresponding second secondary flow fragment of fragment.Receiving unit is also used to, and receives the interrupt requests that terminal is sent.The server can also wrap It includes: interrupt location, if receiving unit receives terminal for before transmission unit sends the second secondary flow fragment request to terminal The interrupt requests of transmission then interrupt the transmission flow of the second secondary flow fragment.
Optionally, interrupt requests of the first aspect above into fourth aspect may include: the RST_STREM in HTTP/2 Frame.In addition, interrupt requests can also be a kind of newly-designed frame, or can be multiplexed other frames provided in the prior art, this Apply embodiment to this without limiting.
5th aspect, provides a kind of terminal, which has the function of realizing terminal behavior in above method embodiment.It should Function can also execute corresponding software realization by hardware realization by hardware.The hardware or software include one or Multiple modules corresponding with above-mentioned function.
In one possible implementation, which may include: that processor, memory, communication bus and communication connect Mouthful;Wherein, for storing computer executed instructions, processor is connect with memory by communication bus memory, when terminal is transported When row, processor executes the computer executed instructions of memory storage, so that terminal executes above-mentioned first aspect or first aspect Any implementation provide video transmission method.
6th aspect, provides a kind of computer readable storage medium, soft for being stored as computer used in above-mentioned terminal Part instruction, when run on a computer, allows computer to execute the transmission of video of any one of above-mentioned first aspect Method.
7th aspect, provides a kind of computer program product comprising instruction, when run on a computer, makes to succeed in one's scheme Calculation machine can execute the video transmission method of any one of above-mentioned first aspect.
In addition, technical effect brought by any design method can join in the third aspect, the 5th aspect and the 6th aspect See technical effect brought by different designs mode in first aspect, details are not described herein again.
Eighth aspect provides a kind of server, which has server behavior in above method embodiment of realizing Function.The function can also execute corresponding software realization by hardware realization by hardware.The hardware or software include One or more modules corresponding with above-mentioned function.
In one possible implementation, which may include: processor, memory, communication bus and communication Interface.Wherein, for storing computer executed instructions, processor is connect with memory by communication bus memory, works as service When device is run, processor executes the computer executed instructions of memory storage, so that server executes above-mentioned second aspect or the The video transmission method that any implementation of two aspects provides.
9th aspect, provides a kind of computer readable storage medium, for being stored as computer used in above-mentioned server Software instruction, when run on a computer, the video for allowing computer to execute any one of above-mentioned second aspect pass Transmission method.
Tenth aspect, provides a kind of computer program product comprising instruction, when run on a computer, makes to succeed in one's scheme Calculation machine can execute the video transmission method of any one of above-mentioned second aspect.
In addition, technical effect brought by any design method can join in fourth aspect, the 9th aspect and the tenth aspect See technical effect brought by different designs mode in first aspect, details are not described herein again.
Detailed description of the invention
A kind of schematic diagram for system architecture that Fig. 1 is applicable in by technical solution provided by the embodiments of the present application;
Fig. 2 is a kind of structural schematic diagram of encoder server provided by the embodiments of the present application;
Fig. 3 is a kind of structural schematic diagram of transmission server provided by the embodiments of the present application;
Fig. 4 is a kind of structural schematic diagram of terminal provided by the embodiments of the present application;
Fig. 5 is a kind of interaction schematic diagram of video transmission method provided by the embodiments of the present application;
Fig. 6 is the interaction schematic diagram of another video transmission method provided by the embodiments of the present application;
Fig. 7 is a kind of flow diagram of video transmission method provided by the embodiments of the present application;
Fig. 8 is a kind of flow diagram for playing video provided by the embodiments of the present application;
Fig. 9 is the interaction schematic diagram of another video transmission method provided by the embodiments of the present application;
Figure 10 is the structural schematic diagram of another terminal provided by the embodiments of the present application;
Figure 11 is the structural schematic diagram of another server provided by the embodiments of the present application.
Specific embodiment
In HLS technology, when the requested fragment of terminal is switched to high code rate from low bit- rate, caches but do not played low Code rate fragment can be ineffective, to cause the waste of transfer resource and cache resources.For example, it is assumed that terminal has requested that and caches Low bit- rate fragment 1~10, and it is currently played fragment 5;If terminal detects current network conditions when playing fragment 5 Preferably, then the fragment 6 of high code rate can be requested to server, in this way, the fragment 6 for the low bit- rate for having cached but not played can lose Effect, to cause the waste of transfer resource and cache resources.
Based on this, the embodiment of the present application provides a kind of video transmission method and device, basic principle are as follows: terminal request Mainstream fragment, and on-demand request secondary flow fragment;Wherein, secondary flow fragment is used to improve the code rate of mainstream fragment.In the prior art, no Fragment with the same content of code rate is individually present, individual transmission and selects a broadcasting.And in the application, the effect of auxiliary encoding stream It is the code rate in order to improve chief editor's code stream, it may be assumed that chief editor's code stream can be played individually, alternatively, chief editor's code stream is superimposed with auxiliary encoding stream The chief editor's code stream for playing, therefore having cached after reconstruct will not be ineffective because caching auxiliary encoding stream.Compared with prior art, energy Enough save transfer resource and cache resources.
Chief editor's code stream and auxiliary encoding stream involved in the embodiment of the present application can be server and encoded according to reconstructing video The code stream obtained after the coding such as (reconstructive video coding, RVC) technology.Wherein, in RVC technology, coding Device can generate two-way stream simultaneously, wherein all the way be main encoding stream, all the way supplemented by encoding stream.Editing code stream is that resolution ratio is lower Video code flow, player can directly decode broadcasting.The effect of auxiliary encoding stream is that player is assisted to differentiate main coding stream The promotion of rate.For example, the code rate of chief editor's code stream is 720p, by carrying out super-resolution operation, weight is carried out after being superimposed auxiliary encoding stream Structure can promote the code rate to 1080p, to promote the play quality of video.Certainly, the embodiment of the present application is not limited to A kind of this coding techniques of RVC technology, can also be other coding techniques.
Technical solution provided by the embodiments of the present application can be applied in system architecture as shown in Figure 1, system shown in FIG. 1 System packet: encoder server 11, transmission server 12 and terminal 13.Encoder server 11 is used for according to certain coding techniques to video Content is encoded, and coding result is transmitted to transmission server 12.Transmission server 12 for saving coding result, and Fragment when receiving the fragment request of the transmission of terminal 13, after sending from coding to terminal 13.Terminal 13 according to user for indicating Or it itself triggers to transmission server 12 and sends fragment request, and to point after the coding for receiving the transmission of transmission server 12 Piece is decoded and plays.
It should be noted that the merely illustrative figure of Fig. 1, wherein the embodiment of the present application is to the number of encoder server 11, transmission The number of the number of server 12 and at least one terminal 13 is without limiting, in practical applications, can according to need with Network deployment is carried out different from number shown in FIG. 1.
Optionally, it can establish one or more link between transmission server 12 and terminal 13, and on these chain roads Transmit fragment request and fragment.Wherein, link here can be HTTP/2 link, in this case, transmission server 12 can be with It is the server for supporting HTTP/2.Certainly, without being limited thereto when specific implementation.
In order to realize technical solution provided by the embodiments of the present application, as shown in Fig. 2, encoder server 11 in Fig. 1 can be with It include: down sample module 1101, mainstream encoder 1102, secondary flow generation module 1103, fragment control module 1104, mainstream encapsulation Fragment module 1105 and secondary flow encapsulate fragment module 1106.
Wherein, down sample module 1101 is used to receive original video inlet flow, and to the original video inlet flow inputted Drop code rate is carried out, and is exported the video flowing obtained after code rate is dropped to mainstream encoder 1102.For example, receiving the yuv format of 4K Video input stream, and to the video input stream of the yuv format of 4K drop code rate, generate the video flowing of the yuv format of 2K, then will The video flowing of the yuv format of the 2K is exported to mainstream encoder 1102.Wherein, YUV is a kind of coded format of color data.
Mainstream encoder 1102 is used to receive the video flowing of the input of down sample module 1101, and compiles to the video flowing Code, such as H.264 coding etc., generate chief editor's code stream, then export chief editor's code stream to mainstream and encapsulate fragment module 1105.
Secondary flow information generating module 1103 is used to compare the video flowing and mainstream encoder of the output of down sample module 1101 Chief editor's code stream of 1102 outputs, generates auxiliary encoding stream.Wherein, auxiliary encoding stream includes the content reconstructed for improving video quality, Such as modified information etc. is carried out to the partial pixel point in chief editor's code stream.
Mainstream encapsulation fragment module 1105 is used to receive chief editor's code stream of the output of mainstream encoder 1102, and controls in fragment Under the control of module 1104, fragment and encapsulation are carried out to main coding stream according to time point, obtain at least two mainstream fragments, such as TS (transport stream) fragment or mp4 fragment etc., then exports at least two mainstreams fragment.
Secondary flow package section module 1106 is used to receive the auxiliary encoding stream of the output of secondary flow generation module 1103, and in fragment control Under the control of molding block 1104, fragment and encapsulation are carried out to auxiliary encoding stream according to the time, obtain at least two secondary flow fragments, then Export at least two secondary flows fragment.Wherein, the format of secondary flow fragment can be user-defined format, each secondary flow fragment and one Mainstream fragment is corresponding, and the time point of the time point of each secondary flow fragment corresponding mainstream fragment is identical, each secondary flow fragment For improving the code rate of the mainstream fragment corresponding to it.
Fragment control module 1104 is used to encapsulate collapsible mould to the implementation procedure and secondary flow of mainstream encapsulation fragment module 1105 The implementation procedure of block 1106 is controlled, and generates the warehouse receipt file of description fragment (including mainstream fragment and secondary flow fragment), so After export the warehouse receipt file.Wherein, warehouse receipt file may include the time point of each fragment, each mainstream fragment and each mainstream Corresponding relationship of fragment etc..
In addition, encoder server 11 can also include communication interface, for external equipment (such as transmission server 2) into Row communication.For example, the mainstream fragment, secondary flow encapsulation fragment module 1106 for receiving the mainstream encapsulation output of fragment module 1105 are defeated The warehouse receipt file that secondary flow fragment and fragment control module 1104 out exports;And by these information, it is sent to WEB server, Wherein, which can be the WEB server for supporting HTTP/2 agreement, which can be transmission clothes above Business device 12.
In hardware realization, communication interface 1107 can be transceiver, down sample module 1101, mainstream encoder 1102, Secondary flow information generating module 1103, fragment control module 1104, mainstream encapsulation fragment module 1105 and secondary flow encapsulate fragment module 1106 can be embedded in the form of hardware or independently of in the processor of encoder server 11, can also deposit in the form of software It is stored in the memory of encoder server 11, executes the corresponding operation of the above modules in order to which processor calls.In addition, compiling Code server 11 other than comprising transceiver, processor and memory, can also include communication bus, for make transceiver, Processor and memory are connected with each other.
In order to realize technical solution provided by the embodiments of the present application, as shown in figure 3, transmission server 12 in Fig. 1 can be with It include: communication interface 1201, processor 1202, memory 1203 and communication bus 1204.Wherein, communication interface 1201, processing Device 1202 and memory 1203 are connected with each other by communication bus 1204.
Communication interface 1201 carries out between transmission server 12 and ext nal network element (such as encoder server 11 and terminal 13) The unit of business data flow interaction.Specifically, communication interface 1201 can be used for receiving each mainstream of the transmission of encoder server 11 Fragment, each secondary flow fragment and warehouse receipt file.Alternatively, receive terminal 13 send mainstream fragment request, secondary flow coding request or Person's interrupt requests, alternatively, replying requested mainstream fragment, secondary flow fragment or warehouse receipt file etc. to terminal 13.Memory 1203 can be used for storing data and/or code, and processor 1302 can be stored in memory 1203 by running or executing Program code, and call the data that are stored in memory 1203, realize the various functions of transmission server 12.
It should be understood that transmission server 12 shown in Fig. 3 does not constitute the restriction to transmission server 12, it is practical real Now, transmission server 12 can also include perhaps combining certain components or different component cloth than illustrating more components It sets.Such as transmission server 12 can also include power supply (power), fan (fan), clock (clock, CLK) etc..
In order to realize technical solution provided by the embodiments of the present application, as shown in figure 4, the terminal 13 in Fig. 1 may include: logical Believe interface 1301, processor 1302, memory 1303, communication bus 1304, player 1305 and display screen 1306.Wherein, lead to Believe that interface 1301, processor 1302, memory 1303, player 1305 and display screen 1306 are mutual by communication bus 1304 Connection.
Communication interface 1303 carries out business data flow between terminal 13 and ext nal network element (such as transmission server 12) and interacts Unit.Specifically, communication interface 1303 can be used for sending mainstream fragment request, secondary flow coding request to transmission server 12 Perhaps interrupt requests are alternatively, receive mainstream fragment, secondary flow fragment or the warehouse receipt file etc. that transmission server is sent.Memory 1303 can be used for storing data and/or code, and processor 1302 can be stored in memory 1303 by running or executing Program code, and call the data that are stored in memory 1303, realize the various functions of terminal 13.
It should be understood that the restriction of the not structure paired terminal 13 of terminal 13 shown in Fig. 4, in actual implementation, terminal 13 It can also include perhaps combining certain components or different component layouts than illustrating more components.Such as terminal 13 may be used also To include power supply, fan, clock etc..
It, specifically can be in addition, communication interface 1201 and communication interface 1301 may each comprise receiving unit and transmission unit It is transceiver or coffret etc..
Processor 1202 and processor 1302 may include multiple central processing units (central processing unit, CPU) or comprising multiple network processing units (network processing unit, CPU), it can be specific integrated circuit (application specific integrated circuit, ASIC), or be arranged to implement the embodiment of the present application One or more integrated circuits, such as: one or more microprocessors (digital signal processor, DSP), Or, one or more field programmable gate array (field programmable gate array, FPGA), or Multi-core system level chip (system on chip, SoC).
Memory 1203 and memory 1303 may each be volatile memory (volatile memory), such as: depositing at random Access to memory (random-access memory, RAM);It is also possible to nonvolatile memory (non-volatile Memory), such as: read-only memory (read-only memory, ROM), flash memory (flash memory), hard disk (hard disk drive, HDD) can also be solid state hard disk (solid-state drive, SSD) or mentioned kind The combination of memory.Communication bus 1204 and communication bus 1304 can be divided into address bus, data/address bus, control bus Deng, can be industry ethernet, industry standard architecture (industry standard architecture, ISA) bus, External equipment interconnection (peripheral component, PCI) bus or extended industry-standard architecture (extended Industry standard architecture, EISA) bus etc..For convenient for indicating, only with a thick line in Fig. 3 and Fig. 4 Each communication bus is indicated, it is not intended that an only bus or a type of bus.
It should be noted that being above that encoder server 11 and transmission server 12 are independent equipment and are retouched It states, when specific implementation, the two equipment, which can also be, to be integrated, in addition, any one equipment in the two equipment It can also be integrated with other network side equipments, the embodiment of the present application is to this without limiting.
For ease of description, following embodiment is shown in the form of step and video provided by the invention is described in detail and passed Transmission method, wherein the step of showing can also be in addition to transmission server 12 shown in Fig. 3 and terminal shown in Fig. 4 13 It is executed in other any computers.Although in addition, showing transmission of video provided by the embodiments of the present application in method flow diagram The logical order of method, but in some cases, it can be with the steps shown or described are performed in an order that is different from the one herein.
It is outlined above it should be noted that " server " described in examples provided hereinafter specifically can be Transmission server 12."and/or" herein, only a kind of incidence relation for describing affiliated partner, indicates may exist Three kinds of relationships, for example, A and/or B, can indicate: individualism A exists simultaneously A and B, these three situations of individualism B.Separately Outside, character "/" herein typicallys represent the relationship that forward-backward correlation object is a kind of "or"." multiple " herein refer to two Or it is more than two.
As shown in figure 5, being a kind of interaction schematic diagram of video transmission method provided by the embodiments of the present application.It is shown in fig. 5 Method may comprise steps of S101~S104:
S101: terminal to server obtains the warehouse receipt file of video to be played.
Video to be played can be any one section of video of terminal to server request.The video may include chief editor's code stream With auxiliary encoding stream, auxiliary encoding stream is used to improve the code rate of chief editor's code stream, and chief editor's code stream includes at least two mainstream fragments, auxiliary coding Stream includes at least two secondary flow fragments, and each mainstream fragment is corresponding with a secondary flow fragment.Wherein, code stream and auxiliary encoding stream are edited Generating process and its Slicing procedure, can with reference to above, details are not described herein again.
The warehouse receipt file of video to be played can include but is not limited to: each mainstream point in at least two mainstreams fragment The information of the information of piece and each secondary flow fragment in at least two secondary flows fragment.For example, each fragment (including mainstream Fragment and secondary flow fragment) time point, the corresponding relationship etc. of mainstream fragment and secondary flow fragment.The time point of each mainstream fragment It is identical with the corresponding time point of secondary flow fragment.
When user needs to play a video, instruction information can be sent to terminal, such as pass through contact action, text Input, the modes such as voice input send instruction information;Terminal detects after the instruction information, however, it is determined that the terminal with service Connection is established between device, then the warehouse receipt file of video to be played is requested to the server;If it is determined that the terminal does not have and server Between establish connection, then first establish connection between the server, then request the warehouse receipt file of time-frequency to be played to the server. Wherein, the specific reality about process and terminal to server the request warehouse receipt file for establishing connection between terminal and server Existing process can refer to the prior art, and details are not described herein again.
S102: terminal parses warehouse receipt file, obtains the time point of each fragment of video to be played, each mainstream fragment with The corresponding relationship etc. of secondary flow fragment.
S103: terminal to server obtains the mainstream fragment of video to be played, and meets in advance in current real-time network situation If when condition, obtaining the corresponding secondary flow fragment of mainstream fragment;And each fragment that caching is got.
The instruction information that terminal can be sent according to the user detected, determination are requested in time-frequency to be played to server Which mainstream fragment, then, terminal can be after the mainstream fragments for receiving server reply, should to server request Next mainstream fragment of mainstream fragment, and so on, until last of the video to be played is arrived in terminal to server request Until a fragment.For example, it is assumed that video to be played includes 10 mainstream fragments, then, indicated by the instruction information that user sends Broadcasting initial time corresponding to mainstream fragment can be the 1st mainstream fragment, be also possible to the 5th mainstream fragment etc..If Mainstream fragment corresponding to indicated broadcasting initial time is the 5th mainstream fragment, then terminal can request the 5th to server A mainstream fragment, and after the 5th mainstream fragment for receiving server reply, the 6th mainstream fragment is requested to server, And so on, until terminal request to the 10th mainstream fragment.
Current network conditions be not it is unalterable, can with the variation of the factors such as environment, load real-time change. Terminal can periodically detect current network conditions, when detection cycle is smaller, it is believed that be real-time detection current network Situation.Wherein, detection current network conditions can include but is not limited to detect at least one of following parameter: network delay, Network packet loss rate and network fluctuation system.Its specific detection process can refer to the prior art, and details are not described herein again.
It should be noted that in technical solution provided by the embodiments of the present application, current real-time network situation refers to terminal When executing detection Network status This move, detected Network status.That is, the different step of the embodiment of the present application In meaning representated by " the current real-time network situation " that is related to, need to be realized or actual context determines according to practical, without It can think the Network status that the same word " current real-time network situation " in different step indicates that synchronization measurement obtains.Class As, at the time of " currently playing moment " refers to that terminal is playing.
Current real-time network situation meets preset condition, it can be understood as, the quality of current network conditions is preferable, that is, communicates Quality is preferable.In this case, terminal can request secondary flow fragment to server, which is superimposed simultaneously with mainstream fragment Reconstruct to improve the code rate of the corresponding mainstream fragment of the secondary flow fragment, and then improves the experience that user watches video.It is current real When Network status meet preset condition, may include following at least one: current network time delay be less than or equal to first threshold, when Preceding network packet loss rate is less than or equal to second threshold, and current network coefficient of variation is less than or equal to third threshold value.The application is implemented Example is to the specific value of first threshold, second threshold and third threshold value and how value is without limiting.
In the embodiment of the present application, terminal can independently cache mainstream fragment and secondary flow fragment, for example, opening up in the terminal Specific two parts memory space, for storing mainstream fragment, another part memory space is used for a portion memory space Store secondary flow fragment.Alternatively, terminal can integrate caching mainstream fragment and secondary flow fragment, for example, opening up in the terminal specific Memory space, and mainstream fragment and secondary flow fragment are stored in the memory space.
Illustrate that terminal obtains the process of mainstream fragment secondary flow fragment corresponding with its below.As shown in fig. 6, this method Include the following steps S11~S16:
S11: terminal to server sends the first mainstream fragment request, and the first mainstream fragment request is for requesting the first mainstream Fragment.
It may include the mark of the first mainstream fragment, such as the time of the first mainstream fragment in first mainstream fragment request The index etc. of point or the first mainstream fragment.First mainstream fragment can be any one in at least two mainstreams fragment Since mainstream fragment specifically can be indicating mainstream fragment corresponding to broadcasting initial time indicated by information to be played Any one mainstream fragment in the last one mainstream fragment that video includes.
S12: the first mainstream fragment request that server receiving terminal is sent, and according to the first mainstream fragment request to terminal Send the first mainstream fragment.
S13: terminal receives the first mainstream fragment that server is sent, and caches the first mainstream fragment.
S14: if current real-time network situation meets preset condition, terminal to server sends the first secondary flow fragment and asks It asks, wherein the first secondary flow fragment request is for requesting the corresponding first secondary flow fragment of the first mainstream fragment.
It may include the mark of the first secondary flow fragment, such as the time of the first secondary flow fragment in first secondary flow fragment request The index etc. of point or the first secondary flow fragment.
S15: the first secondary flow fragment request that server receiving terminal is sent, and the first secondary flow fragment is sent to terminal.
S16: terminal receives the first secondary flow fragment that server is sent, and caches the first secondary flow fragment.
S11~S13 is the process for obtaining the first mainstream fragment, and S14~S16 is the process for obtaining the first secondary flow fragment;This Apply embodiment to the execution of S11~S13 and S14~S16 sequence without limiting, for example, S11~S13 can be first carried out again S14~S16 is executed, S14~S16 can also be first carried out and execute S11~S13 again, it can also be during executing S11~S13 Execute S14~S16.That is, terminal obtains the process secondary flow point corresponding with the mainstream fragment is obtained of a mainstream fragment The process of piece can be in no particular order.
Illustrate that terminal obtains the process of multiple mainstream fragments and the corresponding secondary flow fragment of each mainstream fragment below.
It is usually that the sequencing for requesting each mainstream fragment is distinguished according to time point for terminal;And it is possible to The sequencing for requesting each secondary flow fragment is distinguished according to time point, can not also be distinguished according to time point and be requested each secondary flow fragment Sequencing.For the mainstream fragment and secondary flow fragment put at the same time, (i.e. mainstream fragment and the mainstream fragment is corresponding auxiliary Flow fragmentation) request sequence, can without limit.
For server, be typically also send each mainstream fragment to terminal according to time point, and according to the time to Terminal sends each secondary flow fragment.For mainstream fragment and secondary flow fragment (i.e. the mainstream fragment and the mainstream minute put at the same time The corresponding secondary flow fragment of piece) transmission sequence, in the embodiment of the present application, can be determined in such a way that priority is set.It can Choosing, server and terminal can make an appointment or server and terminal between by signaling method agreement mainstream fragment The priority of secondary flow fragment corresponding with the mainstream fragment.For example, priority is arranged in the PRIORITY frame using HTTP/2.Example Such as, terminal is sending mainstream fragment request to server and/or when secondary flow fragment request, carry requested mainstream fragment and/ Or the priority of secondary flow fragment.Optionally, it is contemplated that mainstream fragment can be played individually, and secondary flow fragment needs and mainstream fragment It just can play together, the priority that mainstream fragment can be set is higher than the priority of the corresponding secondary flow fragment of the mainstream fragment, from And guarantee that mainstream fragment can be with prioritised transmission, and then guarantee the broadcasting continuity of mainstream fragment;That is, server is to end After end sends a mainstream fragment, it can just be sent to it the corresponding secondary flow fragment of the mainstream fragment.
Based on this, terminal obtains the process of multiple mainstream fragments and the corresponding secondary flow fragment of each mainstream fragment, such as Fig. 7 institute Show, can specifically include following steps S21~S24:
S21: terminal to server obtains i-th of mainstream fragment, and caches i-th of mainstream fragment.
Wherein, i-th of mainstream fragment refers to that i-th of mainstream fragment of video to be played, i are greater than the integer equal to 1, i Initial value be 1, i maximum value be video to be played in include mainstream fragment quantity.
S22: terminal judges whether to request the corresponding secondary flow fragment of i-th of mainstream fragment.
If so, S23 is thened follow the steps, if it is not, thening follow the steps S24.
Specifically, terminal is detecting that current real-time network situation meets preset condition, and without caching i-th of secondary flow point In the case where piece, determination needs to request i-th of secondary flow fragment;Detecting that current real-time network situation is unsatisfactory for preset condition, Or in the case where having cached i-th of secondary flow fragment, determines and do not need i-th of secondary flow fragment of request.
S23: terminal obtains the corresponding secondary flow fragment of i-th of mainstream fragment, and caches the secondary flow fragment.
After executing step S23, step S24 is executed.
S24: terminal judges whether i-th of mainstream fragment is the last one mainstream fragment to be played.
If so, terminating.If it is not, then executing i=i+1, and return step S21.
It should be understood that obtaining the corresponding secondary flow point of the mainstream fragment after terminal obtains the last one mainstream fragment Before piece, it can not judge whether current real-time network situation meets preset condition.In addition, executed above-mentioned S21~S24 it Afterwards, terminal has got each mainstream fragment to be played, and the partly or entirely corresponding secondary flow fragment of mainstream fragment.It is optional , this method can also include: that terminal obtains the corresponding uncached secondary flow fragment of mainstream fragment not played.For example, it is assumed that Mainstream fragment to be played is main flow fragmentation 1~5, mainstream fragment 1~5 and secondary flow fragment 1~5 after successively sorting according to time point It corresponds, then, the sequence of mainstream fragment and secondary flow fragment that terminal obtains may is that mainstream fragment 1, secondary flow fragment 1, master Flow fragmentation 2, mainstream fragment 3, mainstream fragment 4, secondary flow fragment 4, mainstream fragment 5, secondary flow fragment 5.Further, if obtaining When secondary flow fragment 5, the currently playing moment is playing the corresponding video content of mainstream fragment 1, then terminal can also be obtained successively Following secondary flow fragment: secondary flow fragment 2 and secondary flow fragment 3.
It should be noted that terminal is after obtaining each mainstream fragment, if detecting current Real-time Network when specific implementation Network situation meets preset condition, then obtains the corresponding uncached first secondary flow fragment of the mainstream fragment not played, until obtaining To a last mainstream fragment, then, then the corresponding uncached secondary flow fragment of the mainstream fragment not played is obtained.Alternatively, eventually End can obtain one or more corresponding uncached secondary flows of mainstream fragment not played after obtaining multiple mainstream fragments Fragment etc., the embodiment of the present application is to this without limiting.
S104: terminal plays video according to the fragment cached.
Terminal first caches the fragment after requesting to each fragment (including mainstream fragment and secondary flow fragment), and slow It deposits to a certain number of mainstream fragments, starts successively to be broadcast according to the mainstream fragment cached according to the time point of mainstream fragment Video to be played is put, to guarantee the continuity played.It should be noted that the mainstream fragment got due to terminal to server It is the code stream obtained after server code with secondary flow fragment, therefore, terminal is before being played, it is also necessary to mainstream fragment and secondary flow Fragment is decoded.In addition, the embodiment of the present application is to a certain number of specific values and how value is without limiting.
It should be understood that terminal can be when obtaining video for the video to be played comprising multiple mainstream fragments The video cached is played, but for the same mainstream fragment, terminal first obtains the mainstream fragment, then plays and cached The mainstream fragment.
Based on this, the process of terminal plays video, as shown in figure 8, can specifically include following steps S31~S35:
S31: terminal determines j-th of mainstream fragment according to the time point of mainstream fragment.Wherein, j-th of mainstream fragment indicates The mainstream fragment that terminal will play recently, for example, terminal will be broadcast recently if mainstream fragment 1 is currently played in terminal The mainstream fragment put is mainstream fragment 2.
Wherein, j-th of mainstream fragment refers to that j-th of mainstream fragment of video to be played, j are greater than the integer equal to 1, j Initial value be 1, j maximum value be video to be played in include mainstream fragment quantity.
S32: terminal judges whether to have cached the corresponding secondary flow fragment of j-th of mainstream fragment.
If so, thening follow the steps S33;If it is not, thening follow the steps S34.
S33: j-th of mainstream fragment of terminal plays.That is, playing the corresponding video content of j-th of mainstream fragment.
After executing step S33, step S35 is executed.
S34: j-th of mainstream fragment and the secondary flow fragment are overlapped and are reconstructed by terminal, obtain synthesis fragment, and playing should Synthesize fragment.
After executing step S34, step S35 is executed.
It should be understood that played in the corresponding video content of the video content played in step S33 and step S34 The corresponding video content of synthesis fragment is identical, and only the code rate of the two is different, therefore play quality is different.
Mainstream fragment be superimposed secondary flow fragment and reconstruct be reconstructing video coding committed step.Since encoder server exists Video content is encoded, during generating mainstream fragment, will do it drop code rate processing, such as the video flowing of 4K is carried out Code rate is dropped, the video flowing of 2K is generated.Therefore, terminal is lower to the resolution ratio of the picture frame obtained after the decoding of mainstream fragment.Generally Ground, terminal can carry out super-resolution processing to the image that decoding obtains, again promote code rate after to the decoding of mainstream fragment To 4K;But in lifting process, the time-frequency quality of the video flowing compared to original 4K can decline, therefore can use auxiliary coding Stream is modified, such as supplements the details of loss, corrects the error etc. introduced in cataloged procedure.
S35: terminal judges whether j-th of mainstream fragment is the last one mainstream fragment to be played.
If so, terminating.If it is not, then executing i=i+1, and return step S31.
For example, it is assumed that video to be played includes 10 mainstream fragments, each mainstream fragment corresponds to a secondary flow fragment, currently Mainstream fragment indicated by playing time is the 5th mainstream fragment, has cached the 6th~10 mainstream fragment and the 6th~7 Secondary flow fragment, then a kind of possible situation are as follows: play in order synthesis fragment 6, synthesis the 7, the 8th~10 mainstream fragment of fragment.Its In, synthesis fragment 6 is the synthesis fragment that the 6th mainstream fragment and the 6th secondary flow fragment are superimposed and obtain after reconstructing, and synthesizes fragment 7 be the synthesis fragment that the 7th mainstream fragment and the 7th secondary flow fragment are superimposed and obtain after reconstructing.
Video transmission method provided by the embodiments of the present application, terminal request mainstream fragment, and on-demand request secondary flow fragment;Its In, secondary flow fragment is used to improve the code rate of mainstream fragment.Since in the embodiment of the present application, chief editor's code stream can be played individually, Alternatively, chief editor's code stream be superimposed chief editor's code stream for playing, therefore having cached after reconstructing with auxiliary encoding stream will not be because of the auxiliary encoding stream of caching And it is ineffective.Compared with prior art, transfer resource and cache resources can be saved.
It should be understood that can establish one or more link between terminal and server, it is in the embodiment of the present application, main Flow fragmentation can be transmitted with secondary flow fragment in independent both links, can also be transmitted on same link.If same It is transmitted on link, terminal and server only needs to safeguard this link, therefore realizes simple.It is exemplary, here Link can be HTTP/2 link.That is, terminal is sending mainstream fragment request and when secondary flow fragment request, using same One HTTP/2 link, i.e. mainstream fragment and secondary flow fragment use the frame of different HTTP/2, and two-way stream is multiplexed into same HTTP/2 In link.
Above-mentioned S11~S16 provides the process for obtaining the first mainstream fragment and the first secondary flow fragment.In this process, also Interrupt requests can be set, to interrupt the transmission flow of secondary flow fragment.As shown in figure 9, can specifically include following steps S41~ S47.Wherein, in order to be distinguished with the first mainstream fragment, underneath with being illustrated for the second mainstream fragment.It is understood that , the second mainstream fragment has arbitrariness, i.e. terminal can interrupt the transport stream of any one secondary flow fragment in time-frequency to be played Journey.
S41: terminal to server sends the second mainstream fragment request, wherein the second mainstream fragment request is for requesting the Two mainstream fragments, the second mainstream fragment are the mainstreams in addition to the first mainstream fragment point at least two mainstream fragments Piece.
S42: the second mainstream fragment request that server receiving terminal is sent, and according to the second mainstream fragment request to service Device sends the second mainstream fragment.
S43: terminal receives the second mainstream fragment that server is sent, and caches the second mainstream fragment.
S44: if current real-time network situation meets preset condition, terminal to server sends the second secondary flow fragment and asks It asks, wherein the second secondary flow fragment request is for requesting the corresponding second secondary flow fragment of the second mainstream fragment.
Wherein, the specific implementation of S41~S44 can be with reference to S11~S14 above.
S45: the second secondary flow fragment request that server receiving terminal is sent.
S46: if after sending the second secondary flow fragment request to server and before receiving the second secondary flow fragment, terminal It detects that current real-time network situation is unsatisfactory for preset condition, then sends interrupt requests to server, wherein interrupt requests are used for The transmission flow of the second secondary flow fragment is interrupted in request.
Due to terminal can with real-time detection current network conditions, if terminal is sending the second secondary flow point to server After piece request and before receiving the second secondary flow fragment, terminal detects that current real-time network situation is unsatisfactory for preset condition, Illustrate that Network status is poor at this time, if server sends the second secondary flow fragment to terminal, may take a long time, to lead It causes Caton etc. occur during terminal plays video, is based on this, the embodiment of the present application provides terminal and sends interrupt requests Technical solution.Wherein, which can be the RST_STREM frame in HTTP/2, be also possible to a kind of new frame, either Other frames, the embodiment of the present application is to this without limiting.
It should be understood that if to server send the second secondary flow fragment request after and receive the second secondary flow fragment it Before, terminal detects that current real-time network situation still meets preset condition, then does not send interrupt requests to server, that is, service Device will not receive interrupt requests.In this case, server can send the second secondary flow fragment request to terminal, terminal receives second Secondary flow fragment, and the second secondary flow fragment is cached, specific implementation process can refer to above.
S47: the interrupt requests that server receiving terminal is sent, and the second secondary flow fragment also is not sent to terminal determining In the case of, the transmission flow of the second secondary flow fragment is interrupted according to interrupt requests.
Specifically, server after receiving interrupt requests, can be not responding to the second secondary flow fragment request message, i.e., not The second secondary flow fragment is sent to terminal.If server has sent to terminal when receiving the interrupt requests of terminal transmission Second secondary flow fragment, then server can abandon the interrupt requests.
It should be understood that terminal may not receive the second secondary flow point of server transmission after executing S41~S47 Piece, but terminal has got the second mainstream fragment, therefore, terminal can continue to request the second mainstream fragment to server Next mainstream fragment.
Technical solution provided in this embodiment, terminal is after sending secondary flow fragment request to server and does not receive Before requested secondary flow fragment, if detecting, current real-time network situation is unsatisfactory for preset condition, can trigger interruption and be asked The transmission flow for the secondary flow fragment asked.In such manner, it is possible to which reducing terminal to a certain extent obtains the corresponding mainstream of secondary flow fragment Next mainstream fragment of fragment, to effectively the generation of the phenomenon that Caton occur during less terminal plays video.
It is above-mentioned that mainly scheme provided by the embodiments of the present application is described from the angle of interaction between each network element.It can With understanding, each network element, such as terminal or server.In order to realize the above functions, it comprises execute each function Corresponding hardware configuration and/or software module.Those skilled in the art should be readily appreciated that, in conjunction with disclosed herein Each exemplary unit and algorithm steps of embodiment description, the application can be with the combination shape of hardware or hardware and computer software Formula is realized.Some functions is executed in a manner of hardware or computer software driving hardware actually, depends on technical solution Specific application and design constraint.Professional technician can realize each specific application using distinct methods Described function, but this realization is it is not considered that exceed scope of the present application.
The embodiment of the present application can carry out the division of functional module, example according to above method example to terminal or server Such as, each functional module of each function division can be corresponded to, two or more functions can also be integrated at one It manages in module.Above-mentioned integrated module both can take the form of hardware realization, can also use the form of software function module It realizes.It should be noted that being schematical, only a kind of logic function stroke to the division of module in the embodiment of the present application Point, there may be another division manner in actual implementation.
For example, Figure 10 shows above-described embodiment in the case where each function division of use correspondence each functional module Involved in terminal 100 a kind of possible structural schematic diagram.The terminal 100 includes transmission unit 1401 and receiving unit 1402.It optionally, can also include: reconfiguration unit 1403 and broadcast unit 1404.Wherein, transmission unit 1401 can be used for holding The movement that terminal executes in S11 and S14 in row Fig. 6, the movement that terminal executes in the S41 and S46 in Fig. 9, and/or for branch Hold other processes of techniques described herein.Receiving unit can be used for executing what terminal in S12 and S15 in Fig. 6 executed It acts, the movement that terminal executes in the S42 in Fig. 9, and/or other processes for supporting techniques described herein.Reconstruct Unit 1403 can be used for executing the movement reconstructed in the S34 in Fig. 8, and/or for support techniques described herein its Its process.Broadcast unit 1404 can be used for executing the movement played in the S34 in Fig. 8, and/or described herein for supporting Technology other processes.
Wherein, all related contents for each step that above method embodiment is related to can quote corresponding function module Function description, details are not described herein.
In the embodiment of the present application, which corresponds to the form of each functional module of each function division to present, alternatively, The policy entity is presented in the form of using the integrated each functional module of model split.Here " module " can refer to specific Application integrated circuit (Application-Specific Integrated Circuit, ASIC) executes one or more softwares Or the processor and memory of firmware program, integrated logic circuit and/or other device of above-mentioned function can be provided.One In a simple embodiment, those skilled in the art is contemplated that the terminal can be by form shown in Fig. 4.On for example, The transmission unit 1401 that text provides can be transmitter, and receiving unit 1402 can be receiver, and transmitter can be with receiver Transceiver is constituted together, specifically can be the communication interface 1301 in Fig. 4.In addition, reconfiguration unit 1403 can be with hardware shape Formula is embedded in or independently of in the processor (processor 1302 in such as Fig. 4) of terminal, can also be stored in end in a software form In the memory (memory 1303 in such as Fig. 4) at end.Broadcast unit 1404 can be the player 1305 in Fig. 4 and/or show Display screen 1306.
Since terminal provided by the embodiments of the present application can be used for executing above-mentioned video transmission method, can be obtained Technical effect can refer to above method embodiment, and details are not described herein for the embodiment of the present application.
For example, Figure 11 shows above-described embodiment in the case where each function division of use correspondence each functional module Involved in server 110 a kind of possible structural schematic diagram.The server 110 may include receiving unit 1501 and hair Send unit 1502.It optionally, can also include: interrupt location 1503.Wherein, receiving unit 1501 can be used for executing in Fig. 6 S11 and S14 in the movement that executes of server, the movement that server executes in S41 and S44 in Fig. 9, and/or for supporting this Other processes of technology described in text.Transmission unit 1502 can be used for executing server in S12 and S15 in Fig. 6 and execute Movement, the movement that server executes in S45 and S46 in Fig. 9, and/or other mistakes for supporting techniques described herein Journey.Interrupt location 1503 can be used for executing the movement of S47 in Fig. 9, and/or for supporting the other of techniques described herein Process.
Wherein, all related contents for each step that above method embodiment is related to can quote corresponding function module Function description, details are not described herein.
In the embodiment of the present application, which corresponds to the form of each functional module of each function division to present, or Person, the server are presented in the form of using the integrated each functional module of model split.Here " module " can refer to spy Determine ASIC circuit, execute the processor and memory of one or more softwares or firmware program, integrated logic circuit and/or its He can provide the device of above-mentioned function.In a simple embodiment, those skilled in the art is contemplated that the terminal Form shown in Fig. 3 can be passed through.For example, transmission unit 1502 provided above can be transmitter, receiving unit 1501 can To be receiver, transmitter can constitute transceiver together with receiver, specifically can be the communication interface 1201 in Fig. 3. In addition, interrupt location 1503 can be embedded in the form of hardware or independently of terminal the processor (processor in such as Fig. 3 1202) it in, can also be stored in a software form in the memory (memory 1203 in such as Fig. 3) of terminal.
Since terminal provided by the embodiments of the present application can be used for executing above-mentioned video transmission method, can be obtained Technical effect can refer to above method embodiment, and details are not described herein for the embodiment of the present application.
In the above-described embodiments, can come wholly or partly by software, hardware, firmware or any combination thereof real It is existing.When being realized using software program, can entirely or partly realize in the form of a computer program product.The computer Program product includes one or more computer instructions.On computers load and execute computer program instructions when, all or It partly generates according to process or function described in the embodiment of the present application.The computer can be general purpose computer, dedicated meter Calculation machine, computer network or other programmable devices.The computer instruction can store in computer readable storage medium In, or from a computer readable storage medium to the transmission of another computer readable storage medium, for example, the computer Instruction can pass through wired (such as coaxial cable, optical fiber, number from a web-site, computer, server or data center Word user line (digital subscriber line, DSL)) or wireless (such as infrared, wireless, microwave etc.) mode to another A web-site, computer, server or data center are transmitted.The computer readable storage medium can be computer Any usable medium that can be accessed either includes the numbers such as one or more server, data centers that medium can be used to integrate According to storage equipment.The usable medium can be magnetic medium (for example, floppy disk, hard disk, tape), optical medium (for example, DVD), Or semiconductor medium (such as solid state hard disk (solid state disk, SSD)) etc..
Although the application is described in conjunction with each embodiment herein, however, implementing the application claimed In the process, those skilled in the art are by checking the attached drawing, disclosure and the appended claims, it will be appreciated that and it is real Other variations of the existing open embodiment.In the claims, " comprising " (comprising) word is not excluded for other compositions Part or step, "a" or "an" are not excluded for multiple situations.Claim may be implemented in single processor or other units In several functions enumerating.Mutually different has been recited in mutually different dependent certain measures, it is not intended that these are arranged It applies to combine and generates good effect.
Although the application is described in conjunction with specific features and embodiment, it is clear that, do not departing from this Shen In the case where spirit and scope please, it can be carry out various modifications and is combined.Correspondingly, the specification and drawings are only institute The exemplary illustration for the application that attached claim is defined, and be considered as covered within the scope of the application any and all and repair Change, change, combining or equivalent.Obviously, those skilled in the art the application can be carried out various modification and variations without It is detached from spirit and scope.If in this way, these modifications and variations of the application belong to the claim of this application and its Within the scope of equivalent technologies, then the application is also intended to include these modifications and variations.

Claims (18)

1. a kind of video transmission method, which is characterized in that the video includes main coding stream and auxiliary encoding stream, the auxiliary encoding stream For improving the code rate of chief editor's code stream, chief editor's code stream includes at least two mainstream fragments, and the auxiliary encoding stream includes At least two secondary flow fragments, each mainstream fragment are corresponding with a secondary flow fragment;The described method includes:
The first mainstream fragment request is sent to server, wherein the first mainstream fragment request is for requesting the first mainstream point Piece, the first mainstream fragment are a mainstream fragments in at least two mainstreams fragment;
Receive the first mainstream fragment that the server is sent;
If current real-time network situation meets preset condition, the first secondary flow fragment request is sent to the server, wherein institute The first secondary flow fragment request is stated for requesting the corresponding first secondary flow fragment of the first mainstream fragment;
Receive the first secondary flow fragment that the server is sent;
The second mainstream fragment request is sent to the server, wherein the second mainstream fragment request is for requesting the second master Flow fragmentation, the second mainstream fragment are one in addition to the first mainstream fragment in at least two mainstreams fragment Mainstream fragment;
Receive the second mainstream fragment that the server is sent;
If current real-time network situation meets the preset condition, the second secondary flow fragment request is sent to the server, In, the second secondary flow fragment request is for requesting the corresponding second secondary flow fragment of the second mainstream fragment;
If after sending the second secondary flow fragment request to the server and before receiving the second secondary flow fragment, It detects that current real-time network situation is unsatisfactory for the preset condition, then sends interrupt requests to the server, wherein described Interrupt requests are used to request to interrupt the transmission flow of the second secondary flow fragment.
2. the method according to claim 1, wherein
The the first mainstream fragment for receiving the server and sending, comprising:
The first mainstream fragment that the server is sent is received on a chain road;
The the first secondary flow fragment for receiving the server and sending, comprising:
The first secondary flow fragment that the server is sent is received on said link.
3. according to the method described in claim 2, it is characterized in that, the interrupt requests include: the RST_STREM in HTTP/2 Frame.
4. according to claim 1 to 2 described in any item methods, which is characterized in that the method also includes:
The first mainstream fragment and the first secondary flow fragment are superimposed and are reconstructed, the code stream generated after reconstruct is played.
5. a kind of video transmission method, which is characterized in that the video includes main coding stream and auxiliary encoding stream, chief editor's code stream Including at least two mainstream fragments, the auxiliary encoding stream includes at least two secondary flow fragments, each mainstream fragment and a secondary flow Fragment is corresponding;The described method includes:
Receive the first mainstream fragment request that terminal is sent, wherein the first mainstream fragment request is for requesting the first mainstream Fragment, the first mainstream fragment are a mainstream fragments in at least two mainstreams fragment;
The first mainstream fragment is sent to the terminal;
Receive the first secondary flow fragment request that the terminal is sent, wherein the first secondary flow fragment request is described for requesting The corresponding first secondary flow fragment of first mainstream fragment;The first secondary flow fragment request is that the terminal is full in current network conditions It is sent in the case where sufficient preset condition;
The first secondary flow fragment is sent to the terminal;
Receive the second mainstream fragment request that the terminal is sent, wherein the second mainstream fragment request is for requesting second Mainstream fragment, the second mainstream fragment are one in addition to the first mainstream fragment in at least two mainstreams fragment A mainstream fragment;
The second mainstream fragment is sent to the terminal;
Receive the second secondary flow fragment request that the terminal is sent, wherein the second secondary flow fragment request is described for requesting The corresponding second secondary flow fragment of second mainstream fragment;
If receiving the interrupt requests that the terminal is sent before sending the second secondary flow fragment request to the terminal, Then interrupt the transmission flow of the second secondary flow fragment.
6. according to the method described in claim 5, it is characterized in that,
It is described to send the first mainstream fragment to the terminal, comprising:
The first mainstream fragment is sent to the terminal on a chain road;
It is described to send the first secondary flow fragment to the terminal, comprising:
The first secondary flow fragment is sent to the terminal on said link.
7. method according to claim 5 or 6, which is characterized in that the priority of mainstream fragment is higher than the mainstream fragment pair The priority for the secondary flow fragment answered;It is described to send the first secondary flow fragment to the terminal, comprising:
If it is determined that sending the first mainstream fragment to the terminal, then the first secondary flow fragment is sent to the terminal.
8. the method according to the description of claim 7 is characterized in that the interrupt requests include: the RST_STREM in HTTP/2 Frame.
9. a kind of terminal, which is characterized in that video includes main coding stream and auxiliary encoding stream, and the auxiliary encoding stream is described for improving The code rate of code stream is edited, chief editor's code stream includes at least two mainstream fragments, and the auxiliary encoding stream includes at least two secondary flows Fragment, each mainstream fragment are corresponding with a secondary flow fragment;The terminal includes: transmission unit and receiving unit;
The transmission unit, for sending the first mainstream fragment request to server, wherein the first mainstream fragment request is used In requesting the first mainstream fragment, the first mainstream fragment is a mainstream fragment in at least two mainstreams fragment;
The receiving unit, the first mainstream fragment sent for receiving the server;
The transmission unit is also used to, if current real-time network situation meets preset condition, sends first to the server Secondary flow fragment request, wherein the first secondary flow fragment request is for requesting corresponding first secondary flow of the first mainstream fragment Fragment;
The receiving unit is also used to, and receives the first secondary flow fragment that the server is sent;
The transmission unit is also used to, and Xiang Suoshu server sends the second mainstream fragment request, wherein the second mainstream fragment For requesting the second mainstream fragment, the second mainstream fragment is in at least two mainstreams fragment except described first for request A mainstream fragment except mainstream fragment;
The receiving unit is also used to, and receives the second mainstream fragment that the server is sent;
The transmission unit is also used to, if current real-time network situation meets the preset condition, is sent to the server Second secondary flow fragment request, wherein the second secondary flow fragment request is for requesting the second mainstream fragment corresponding second Secondary flow fragment;
The transmission unit is also used to, if after sending the second secondary flow fragment request to the server and receiving institute It before stating the second secondary flow fragment, detects that current real-time network situation is unsatisfactory for the preset condition, is then sent out to the server Send interrupt requests, wherein the interrupt requests are used to request to interrupt the transmission flow of the second secondary flow fragment.
10. terminal according to claim 9, which is characterized in that
The receiving unit is specifically used for, and the first mainstream fragment that the server is sent is received on a chain road;Institute It states chain road and receives the first secondary flow fragment that the server is sent.
11. terminal according to claim 10, which is characterized in that the interrupt requests include: the RST_ in HTTP/2 STREM frame.
12. according to the described in any item terminals of claim 9 to 11, which is characterized in that the terminal further include:
Reconfiguration unit, for the first mainstream fragment and the first secondary flow fragment to be superimposed and reconstruct;
Broadcast unit, for playing the code stream generated after reconstruct.
13. a kind of server, which is characterized in that video includes main coding stream and auxiliary encoding stream, and chief editor's code stream includes at least Two mainstream fragments, the auxiliary encoding stream include at least two secondary flow fragments, and each mainstream fragment is corresponding with a secondary flow fragment; The server includes: receiving unit and transmission unit;
The receiving unit, for receiving the first mainstream fragment request of terminal transmission, wherein the first mainstream fragment request For requesting the first mainstream fragment, the first mainstream fragment is a mainstream fragment in at least two mainstreams fragment;
The transmission unit, for sending the first mainstream fragment to the terminal;
The receiving unit is also used to, and receives the first secondary flow fragment request that the terminal is sent, wherein first secondary flow point Piece is requested for requesting the corresponding first secondary flow fragment of the first mainstream fragment;The first secondary flow fragment request is the end What end was sent in the case where current network conditions meet preset condition;
The transmission unit is also used to, and Xiang Suoshu terminal sends the first secondary flow fragment;
The receiving unit is also used to, and receives the second mainstream fragment request that the terminal is sent, wherein second mainstream point For requesting the second mainstream fragment, the second mainstream fragment is in at least two mainstreams fragment except described for piece request A mainstream fragment except one mainstream fragment;
The transmission unit is also used to, and Xiang Suoshu terminal sends the second mainstream fragment;
The receiving unit is also used to, and receives the second secondary flow fragment request that the terminal is sent, wherein second secondary flow point Piece is requested for requesting the corresponding second secondary flow fragment of the second mainstream fragment;
The receiving unit is also used to, and receives the interrupt requests that the terminal is sent;
The server further include:
Interrupt location, if for before the transmission unit sends the second secondary flow fragment request to the terminal, it is described Receiving unit receives the interrupt requests that the terminal is sent, then interrupts the transmission flow of the second secondary flow fragment.
14. server according to claim 13, which is characterized in that
The transmission unit is specifically used for: sending the first mainstream fragment to the terminal on a chain road;In the link On to the terminal send the first secondary flow fragment.
15. server described in 3 or 14 according to claim 1, which is characterized in that the priority of mainstream fragment is higher than the mainstream point The priority of the corresponding secondary flow fragment of piece;
The transmission unit is specifically used for: if it is determined that sending the first mainstream fragment to the terminal, then to the terminal Send the first secondary flow fragment.
16. server according to claim 15, which is characterized in that the interrupt requests include: the RST_ in HTTP/2 STREM frame.
17. a kind of terminal characterized by comprising processor, memory, communication bus and communication interface;
For storing computer executed instructions, the processor is connected with the memory by the communication bus memory It connects, when the terminal operating, the processor executes the computer executed instructions of the memory storage, so that described Terminal executes such as video transmission method of any of claims 1-4.
18. a kind of server characterized by comprising processor, memory, communication bus and communication interface;
For storing computer executed instructions, the processor is connected with the memory by the communication bus memory It connects, when server operation, the processor executes the computer executed instructions of the memory storage, so that institute State video transmission method of the server execution as described in any one of claim 5-8.
CN201710140922.6A 2017-03-08 2017-03-08 A kind of video transmission method and device Active CN108574882B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710140922.6A CN108574882B (en) 2017-03-08 2017-03-08 A kind of video transmission method and device
PCT/CN2018/076526 WO2018161790A1 (en) 2017-03-08 2018-02-12 Video transmission method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710140922.6A CN108574882B (en) 2017-03-08 2017-03-08 A kind of video transmission method and device

Publications (2)

Publication Number Publication Date
CN108574882A CN108574882A (en) 2018-09-25
CN108574882B true CN108574882B (en) 2019-11-12

Family

ID=63448047

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710140922.6A Active CN108574882B (en) 2017-03-08 2017-03-08 A kind of video transmission method and device

Country Status (2)

Country Link
CN (1) CN108574882B (en)
WO (1) WO2018161790A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110072130B (en) * 2019-04-11 2020-06-02 西安交通大学 HTTP/2-based HAS video slice pushing method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6496980B1 (en) * 1998-12-07 2002-12-17 Intel Corporation Method of providing replay on demand for streaming digital multimedia
CN102123304A (en) * 2009-12-28 2011-07-13 汤姆森许可贸易公司 Method and device for reception of video contents and services broadcast with prior transmission of data
CN102638704A (en) * 2006-06-27 2012-08-15 汤姆森特许公司 Performance perceived peering content on-demand

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6496980B1 (en) * 1998-12-07 2002-12-17 Intel Corporation Method of providing replay on demand for streaming digital multimedia
CN102638704A (en) * 2006-06-27 2012-08-15 汤姆森特许公司 Performance perceived peering content on-demand
CN102123304A (en) * 2009-12-28 2011-07-13 汤姆森许可贸易公司 Method and device for reception of video contents and services broadcast with prior transmission of data

Also Published As

Publication number Publication date
CN108574882A (en) 2018-09-25
WO2018161790A1 (en) 2018-09-13

Similar Documents

Publication Publication Date Title
CN109304031B (en) Virtual cloud game platform based on heterogeneous intelligent terminal
CN105556922B (en) DASH in network indicates adaptive
CN110636346A (en) Code rate self-adaptive switching method and device, electronic equipment and storage medium
CN112752115B (en) Live broadcast data transmission method, device, equipment and medium
CN104685873B (en) Encoding controller and coding control method
CN109587514B (en) Video playing method, medium and related device
CN101883097A (en) Method and device for realizing that server equipment shares screen of client equipment
US20150117545A1 (en) Layered Video Encoding and Decoding
CN106657143A (en) Streaming media transmission method and device, server and terminal
CN108347622A (en) Multi-medium data method for pushing, device, storage medium and equipment
CN103259861A (en) Method and system for recording and watching network videos
CN105577819A (en) Sharing system, sharing method and sharing device for virtual desktop
CN103458087A (en) Remote mobile phone test experiencing method based on RTMP
CN112953850B (en) Data transmission method and device, computer readable medium and electronic equipment
CN111031389B (en) Video processing method, electronic device and storage medium
CN110191342A (en) Method for video coding and equipment, video encoding/decoding method and equipment
CN107087138A (en) A kind of video conferencing system based on H.265 video code model
CN110233844A (en) A kind of multimedia live broadcast method, apparatus, equipment and medium
CN102377985A (en) Media module of mobile video monitoring system
WO2019134499A1 (en) Method and device for labeling video frames in real time
CN110460889A (en) A kind of video throws screen method, apparatus, system and storage medium
CN102439935B (en) Media adaptation method and apparatus
CN107229516B (en) Data processing method and device
CN108574882B (en) A kind of video transmission method and device
CN108712434A (en) A kind of implementation method based on the HD video live streaming recorded broadcast meeting consultation of doctors

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