CN106899894A - The adaptive stream media method of dynamic optimization, device and server - Google Patents

The adaptive stream media method of dynamic optimization, device and server Download PDF

Info

Publication number
CN106899894A
CN106899894A CN201510955760.2A CN201510955760A CN106899894A CN 106899894 A CN106899894 A CN 106899894A CN 201510955760 A CN201510955760 A CN 201510955760A CN 106899894 A CN106899894 A CN 106899894A
Authority
CN
China
Prior art keywords
burst
user terminal
new
index file
bandwidth
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510955760.2A
Other languages
Chinese (zh)
Other versions
CN106899894B (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.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp 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 China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN201510955760.2A priority Critical patent/CN106899894B/en
Publication of CN106899894A publication Critical patent/CN106899894A/en
Application granted granted Critical
Publication of CN106899894B publication Critical patent/CN106899894B/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/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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • 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/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The present invention discloses adaptive stream media method, device and the server of a kind of dynamic optimization.The method includes:The bandwidth status of Real-time Collection user terminal;Judge whether the current bandwidth of user terminal is stablized;If the current bandwidth stabilization of user terminal, the follow-up multiple bursts to index file are merged, new burst and new index file is generated;Indicating user terminal downloads new index file and the burst that please be looked for novelty, and afterwards for new burst and new index file, execution judges the step whether current bandwidth of user terminal is stablized.The bandwidth status that the present invention passes through server end Real-time Collection user terminal, follow-up multiple burst is merged when bandwidth stabilization, generation new burst and index file, number of times is connected to the TCP that server is initiated so as to reduce user terminal, adaptive stream media systematic entirety energy and efficiency is improved.

Description

The adaptive stream media method of dynamic optimization, device and server
Technical field
The present invention relates in data communication field, the self adaptation stream matchmaker of more particularly to a kind of dynamic optimization Body method, device and server.
Background technology
Adaptive stream media technology is emerging a kind of stream media technology on internet in recent years, With HLS (Http Live Streaming, HTTP stream matchmaker that Apple Inc. proposes Body is live) it is representative, it has been widely used at present.HLS technologies will by encoder Video source content segmentation is multiple burst contents of certain time length, and each burst content is pressed According to one or more code checks (code check from low to high, representing video quality from difference to good) of setting The corresponding burst of coding generation is carried out, while generating the index file of m3u8 forms, record is not The information such as same code check and duration, filename, the URL addresses of each burst content.User Parsed after terminal downloads index file, the real-time change dynamic select pair according to the network bandwidth The burst content of code rate, so as to ensure that user can also obtain in the case of the different network bandwidths To preferable Consumer's Experience.
One typical HLS program structures example as shown in figure 1, including master index file 101, Subindex file 102, subindex file 103 and subindex file 104, wherein, subindex text Part 102, subindex file 103 and subindex file 104 respectively correspond to 200000bps, Tri- kinds of code checks of 484444bps, 737777bps, and each subindex file includes every kind of code The corresponding burst of rate, #EXTINF represents burst duration 10 seconds, 001.ts, 002.ts ... 100.ts It is slicing files name.
HLS technologies are based on HTTP and Transmission Control Protocol is transmitted, because HLS burst contents are smaller (generally acquiescence 10 seconds one), a complete HLS program generally comprises up to a hundred bursts, User terminal asks a burst every time, will initiate TCP connection requests to server, then Set up connection receive data, after the completion of disconnect again again initiate TCP connection requests it is next Burst.When the network bandwidth often changes (such as mobile network), user terminal is needed in difference Frequent switching between the burst of code check, the burst of small particle size ensure that user terminal perceives band in time Width change is so as to take over seamlessly.
But, when the network bandwidth is more stable (such as broadband network), user terminal is generally long What the time asked is all the burst under same code check, but user terminal still needs to dividing according to small particle size Piece duration repetitive requests burst, frequently TCP connection requests aggravated offered load, have impact on The overall performance and efficiency of adaptive stream media system.
The content of the invention
In view of above technical problem, the invention provides a kind of adaptive stream media side of dynamic optimization Method, device and server, reduce user terminal and connect number of times to the TCP that server is initiated, and carry Adaptive stream media systematic entirety energy and efficiency are risen.
According to an aspect of the present invention, there is provided a kind of adaptive stream media method of dynamic optimization, Including:
The bandwidth status of Real-time Collection user terminal;
Judge whether the current bandwidth of user terminal is stablized;
If the current bandwidth stabilization of user terminal, the follow-up multiple bursts to index file are carried out Merge, generate new burst and new index file;
Indicating user terminal downloads new index file and the burst that please be looked for novelty, afterwards for new Burst and new index file, execution judge the step whether current bandwidth of user terminal is stablized.
In one embodiment of the invention, the step of bandwidth status of Real-time Collection user terminal Including:
The code check that user terminal obtains burst is recorded, wherein the code check embodies user's end The bandwidth status at end.
In one embodiment of the invention, judge whether the current bandwidth of user terminal is stable Step includes:
Judge whether N number of burst that user terminal is continuously acquired belongs to same code check, wherein N is More than 1 and less than the natural number of burst sum in subindex file;
If N number of burst that user terminal is continuously acquired belongs to same code check, user terminal is judged Current bandwidth stabilization;
If N number of burst that user terminal is continuously acquired is not belonging to same code check, user's end is judged The current bandwidth at end is unstable.
In one embodiment of the invention, the follow-up multiple bursts to index file are merged, The step of new burst of generation and new index file, includes:
Follow-up 1 to n-th burst is merged into new follow-up 1st burst, it is follow-up other Burst keeps constant, and generates new index file.
In one embodiment of the invention, for new burst and new index file, perform Judge that the step whether current bandwidth of user terminal is stablized includes:
Using new follow-up 1st burst as Y in the N number of burst for continuously acquiring, it Perform the step of whether N number of burst that user terminal is continuously acquired belongs to same code check judged afterwards, Wherein Y is the natural number more than or equal to 1 and less than or equal to N.
In one embodiment of the invention, described method also includes:
If the current bandwidth of user terminal is unstable, using follow-up 1st burst as continuously obtaining Y in the N number of burst for taking, it is N number of that execution afterwards judges that user terminal is continuously acquired The step of whether burst belongs to same code check, wherein Y are more than or equal to 1 and less than or equal to N's Natural number.
According to another aspect of the present invention, there is provided a kind of adaptive stream media device of dynamic optimization, Including bandwidth acquisition module, identification module, merging module and indicating module, wherein:
Bandwidth acquisition module, for the bandwidth status of Real-time Collection user terminal;
Whether identification module, the current bandwidth for judging user terminal is stablized;
Merging module, for the judged result according to identification module, if the current band of user terminal Width stabilization, then the follow-up multiple bursts to index file are merged, and generate new burst and new Index file;
Indicating module, new index file and the burst that please be looked for novelty are downloaded for indicating user terminal, Indicate identification module to be directed to new burst and new index file afterwards, judge working as user terminal Whether preceding bandwidth is stablized.
In one embodiment of the invention, bandwidth acquisition module to user terminal specifically for obtaining The code check for taking burst is recorded, wherein the code check embodies the bandwidth status of user terminal.
In one embodiment of the invention, identification module is continuous specifically for judging user terminal Whether the N number of burst for obtaining belongs to same code check, and wherein N is more than 1 and less than subindex text The natural number of burst sum in part;If N number of burst that user terminal is continuously acquired belongs to same code Rate, then judge the current bandwidth stabilization of user terminal;N number of point that if user terminal is continuously acquired Piece is not belonging to same code check, then judge that the current bandwidth of user terminal is unstable.
In one embodiment of the invention, merging module is in follow-up multiple points to index file Piece is merged, when generating new burst and new index file, specifically for by the follow-up 1st New follow-up 1st burst is merged into n-th burst, follow-up other bursts keep constant, And generate new index file.
In one embodiment of the invention, indicating module is indicating identification module to divide for new When piece and new index file judge whether the current bandwidth of user terminal is stable, specifically for inciting somebody to action New follow-up 1st burst of merging module generation is used as the in the N number of burst for continuously acquiring Y, and indicate identification module execution to judge whether N number of burst that user terminal is continuously acquired belongs to In the operation of same code check, wherein Y is the natural number more than or equal to 1 and less than or equal to N
In one embodiment of the invention, described device also includes designated module, wherein:
Designated module, for the judged result according to identification module, if the current band of user terminal It is wide unstable, then using follow-up 1st burst as Y in the N number of burst for continuously acquiring, And indicate identification module execution to judge whether N number of burst that user terminal is continuously acquired belongs to same The operation of code check, wherein Y are the natural number more than or equal to 1 and less than or equal to N.
According to another aspect of the present invention, there is provided a kind of adaptive stream media service of dynamic optimization Device, including the dynamic optimization as described in above-mentioned any embodiment adaptive stream media device.
The bandwidth status that the present invention passes through server end Real-time Collection user terminal, when bandwidth stabilization When follow-up multiple bursts are merged, new burst and index file is generated, so as to reduce User terminal connects number of times to the TCP that server is initiated, and improves adaptive stream media system Overall performance and efficiency.
Brief description of the drawings
In order to illustrate more clearly about the embodiment of the present invention or technical scheme of the prior art, below will The accompanying drawing to be used needed for embodiment or description of the prior art is briefly described, it is clear that Ground, drawings in the following description are only some embodiments of the present invention, for the common skill in this area For art personnel, without having to pay creative labor, can also be obtained according to these accompanying drawings Obtain other accompanying drawings.
Fig. 1 is the schematic diagram of original HLS program structures in one embodiment of the invention.
Fig. 2 is the schematic diagram of adaptive stream media method one embodiment of dynamic optimization of the present invention.
Fig. 3 is the schematic diagram of another embodiment of adaptive stream media method of dynamic optimization of the present invention.
Fig. 4 is the schematic diagram of amended HLS program structures in one embodiment of the invention.
Fig. 5 is the schematic diagram of adaptive stream media device one embodiment of dynamic optimization of the present invention.
Fig. 6 is the schematic diagram of another embodiment of adaptive stream media device of dynamic optimization of the present invention.
Specific embodiment
Below in conjunction with the accompanying drawing in the embodiment of the present invention, to the technical scheme in the embodiment of the present invention It is clearly and completely described, it is clear that described embodiment is only a real part of the invention Example is applied, rather than whole embodiments.Below to the description reality of at least one exemplary embodiment On be merely illustrative, never as to the present invention and its application or any limitation for using.Base Embodiment in the present invention, those of ordinary skill in the art are not making creative work premise Lower obtained every other embodiment, belongs to the scope of protection of the invention.
Unless specifically stated otherwise, the part that otherwise illustrates in these embodiments and step it is relative Arrangement, numerical expression and numerical value are not limited the scope of the invention.
Simultaneously, it should be appreciated that for the ease of description, the size of the various pieces shown in accompanying drawing It is not to be drawn according to actual proportionate relationship.
May not make in detail for technology, method and apparatus known to person of ordinary skill in the relevant Discuss, but in the appropriate case, the technology, method and apparatus should be considered as authorizing specification A part.
In all examples shown here and discussion, any occurrence should be construed as merely and show Example property, not as limitation.Therefore, the other examples of exemplary embodiment can have not Same value.
It should be noted that:Similar label and letter represents similar terms in following accompanying drawing, therefore, Once being defined in a certain Xiang Yi accompanying drawing, then need not it be entered to advance in subsequent accompanying drawing One step discussion.
Fig. 2 is the signal of adaptive stream media method one embodiment of dynamic optimization of the present invention Figure.Preferably, the present embodiment can be performed by the adaptive stream media device of dynamic optimization.The party Method is comprised the following steps:
Step 201, the bandwidth status of Real-time Collection user terminal.
In one embodiment of the invention, step 201 can include:User terminal is obtained The code check of burst is recorded, wherein the code check embodies the bandwidth status of user terminal.
Step 202, judges whether the current bandwidth of user terminal is stablized.
In one embodiment of the invention, step 202 can include:
Step 1, judge whether N number of burst that user terminal is continuously acquired belongs to same code check, Wherein N is more than 1 and less than the natural number of burst sum in subindex file.
In a preferred embodiment of the invention, N is 3.
If N number of burst that step 2, user terminal are continuously acquired belongs to same code check, judge The current bandwidth stabilization of user terminal.
If N number of burst that step 3, user terminal are continuously acquired is not belonging to same code check, sentence The current bandwidth for determining user terminal is unstable.
Step 203, if the current bandwidth stabilization of user terminal, to the follow-up many of index file Individual burst is merged, and generates new burst and new index file.
In one embodiment of the invention, step bag 203 can include:By the follow-up 1st to N-th burst merges into new follow-up 1st burst, and follow-up other bursts keep constant, and The new index file of generation.
Step 204, indicating user terminal downloads new index file and the burst that please be looked for novelty, it New burst and new index file are directed to afterwards, perform step 202.
In one embodiment of the invention, for new burst and new index file, perform Step 202 can include:Using new follow-up 1st burst as the N number of burst for continuously acquiring In Y, step 202 is performed afterwards, wherein Y is more than or equal to 1 and less than or equal to N Natural number.
The adaptive stream media method of the dynamic optimization provided based on the above embodiment of the present invention, energy It is enough that dynamic optimization is carried out to adaptive stream media system, by merging small burst, updating index text The methods such as part, can effectively improve the side such as larger, file fragmentation of prior art network expense The problem in face, so as to effectively increase systematic entirety energy and efficiency.
The above embodiment of the present invention be applicable for use with HLS adaptive stream media technologies platform and System.Under broadband network environment (such as OTT set-top box, IPTV, PC video website), Because the network bandwidth is stablized relatively, it is not easy to be disturbed, method proposed by the present invention can be effective TCP request number of times and burst quantity are reduced, optimizes offered load and disk performance.
With reference to the original HLS program structures described in Fig. 1 and amended original described in Fig. 4 Beginning HLS program structure, the adaptive stream media method to dynamic optimization of the present invention enters traveling one Step is introduced:
Fig. 3 is the signal of another embodiment of adaptive stream media method of dynamic optimization of the present invention Figure.Preferably, the present embodiment can be performed by the adaptive stream media device of dynamic optimization.The party Method is comprised the following steps:
Step 301, the bandwidth status of Real-time Collection user terminal.
In one embodiment of the invention, when user terminal obtains as shown in Figure 1 original M3u8 index files, wherein the m3u8 index files include master index file 101, son Index file 102, subindex file 103 and subindex file 104, and described according to index Successively when request original slice 001.ts, 002.ts, 003.ts ..., step 301 can include: The burst information that user terminal is obtained is recorded, wherein the burst information includes burst code Rate, i.e. each original slice respectively from which subindex file acquisition, for example:Subindex file 102nd, subindex file 103 and subindex file 104 respectively correspond to 200000bps, Tri- kinds of code checks of 484444bps, 737777bps.
Step 302, judges whether the burst number X that user terminal does not read is more than or equal to N, its In, the burst number that N merges every time, N is more than 1 and total less than burst in subindex file The natural number of number M.If X is more than or equal to N, step 303 is performed;Otherwise, if X is small In N, then step 307 is performed.
In one embodiment of the invention, for the original m3u8 index files shown in Fig. 1, M=100, N selection 3.
Step 303, judges whether N number of burst that user terminal is continuously acquired belongs to same code check. If N number of burst that user terminal is continuously acquired belongs to same code check (the i.e. current band of user terminal Width stabilization), then perform step 304;Otherwise, if N number of burst for continuously acquiring of user terminal Same code check (i.e. the current bandwidth of user terminal is unstable) is not belonging to, then performs step 306.
Step 304, new follow-up 1st burst is merged into by follow-up 1 to n-th burst, Follow-up other bursts keep constant, and generate new index file.
For example:Gear3 catalogue (the subindexs of representative code check 737777bps as shown in Figure 1 File 104) under 003.ts, 004.ts, 005.ts when belonging to same code check, by each code check Follow-up 3 of (subindex file 102, subindex file 103 and subindex file 104) Burst is merged, as shown in Figure 4.
M3u8 index files new in amended HLS program structures include main rope in Fig. 4 Quotation part 401, subindex file 402, subindex file 403 and subindex file 404. As shown in figure 4, by the subindex file 102 shown in Fig. 1, subindex file 103 and sub- rope Original burst 006.ts, 007.ts, 008.ts in quotation part 104 merge into the son shown in Fig. 4 New burst 006-008.ts in index file 402, subindex file 403 and subindex file, Corresponding burst duration #EXTINF was changed to 30 seconds by 10 seconds, so as to generate new m3u8 Index file.
Step 305, indicating user terminal re-downloads new index file, and from after merging New follow-up 1st burst (such as the 006-008.ts shown in Fig. 4) starts, and please look for novelty Burst;New burst and new index file are directed to afterwards, perform step 302.
In one embodiment of the invention, in step 305, for new burst and new rope Quotation part, performing step 302 can include:Using new follow-up 1st burst as continuously obtaining , step 302 is performed afterwards, wherein Y is more than or equal to 1 by Y in the N number of burst for taking And the natural number less than or equal to N.
In the first specific embodiment of the invention, Y=1;That is, for new burst and new Index file, performing step 302 can include:Using new follow-up 1st burst as continuous First in the N number of burst for obtaining, step 302 is performed afterwards.
For example:For the specific embodiment shown in Fig. 4, according to following for the first specific embodiment Ring judgment mode, then using 006-008.ts as first in 3 bursts for continuously acquiring, Perform step 302, i.e. judge 006-008.ts, 009.ts, 010.ts that user terminal is continuously acquired Whether same code check is belonged to;If so, then continue to merge 011.ts, 012.ts, 013.ts, So as to form circular treatment.
In the second specific embodiment of the invention, Y=N;That is, for new burst and new Index file, performing step 302 can include:Using new follow-up 1st burst as continuous Obtain N number of burst in last, afterwards perform step 302.
For example:For the specific embodiment shown in Fig. 4, according to following for the second specific embodiment Ring judgment mode, then using 006-008.ts as last in 3 bursts for continuously acquiring, Perform step 302, i.e. judge burst 004.ts, 005ts that user terminal continuously acquires, Whether 006-008.t belongs to same code check;If so, then continuing burst 009.ts, 010.ts, 011.ts Merge, so as to form circular treatment.
Second specific embodiment of the invention compares the first specific embodiment, if the code check of user terminal Stabilization is kept, then burst is continuously merged, reduce the former burst quantity not merged, from And can further reduce user terminal and connect number of times to the TCP that server is initiated, lifted adaptive Answer stream media system overall performance and efficiency.
In the specific embodiment of the third embodiment of the present invention the 3rd, for new burst and new Index file, performing step 302 can include:Using new follow-up 1st burst as continuous Y in the N number of burst for obtaining, performs step 302, wherein Y be more than or equal to 1 and Natural number less than or equal to N.
For example:For the specific embodiment shown in Fig. 4, according to following for the 3rd specific embodiment Ring judgment mode, then using 006-008.ts as the 2nd in 3 bursts for continuously acquiring, Perform step 302, i.e. judge burst 005ts, 006-008.t that user terminal continuously acquires, Whether 009ts belongs to same code check;If so, then continuing burst 010.ts, 011.ts, 012.ts Merge, so as to form circular treatment.
Step 306, keeps original burst and index file constant, continues to observe user terminal band Situation of change wide, i.e. continue executing with step 302 for successive fragment.Now user terminal after Continuous request successive fragment.
In an embodiment of the invention, in step 306, step is continued executing with for successive fragment Rapid 302 can include:Using follow-up 1st burst as in the N number of burst for continuously acquiring , step 302 is performed afterwards, wherein Y is the nature more than or equal to 1 and less than or equal to N by Y Number.
In the 4th specific embodiment of the invention, Y=1;That is, continued executing with for successive fragment Step 302 can include:Using follow-up 1st burst as in the N number of burst for continuously acquiring First, step 302 is performed afterwards.
For example, for the specific embodiment shown in Fig. 1, according to following for the 4th specific embodiment Ring judgment mode, if the code check of burst 001.ts, 002.ts, 003.ts is differed, in user After terminal continues to obtain burst 004.ts, 005.ts, 006.ts, for 004.ts, 005.ts, 006.ts Step 302 is performed, judges whether are 004.ts, 005.ts, 006.ts that user terminal continuously acquires Belong to same code check, so as to form circular treatment.
In the 5th specific embodiment of the invention, Y=N;That is, continued executing with for successive fragment Step 302 can include:Using follow-up 1st burst as in the N number of burst for continuously acquiring Last, performs step 302 afterwards.
For example, for the specific embodiment shown in Fig. 1, according to following for the 5th specific embodiment Ring judgment mode, if the code check of burst 001.ts, 002.ts, 003.ts is differed, in user After terminal continues to obtain burst 004.ts, step is performed for burst 002.ts, 003.ts, 004.ts Rapid 302, i.e. judge that burst 002.ts, 003.ts, 004.ts that user terminal is continuously acquired are It is no to belong to same code check, so as to form circular treatment.
5th specific embodiment of the invention compares the 4th specific embodiment, accelerates cycle criterion Frequency, once there is continuous three bursts to belong to same code check, just merges, so that further immediately Reduce user terminal and connect number of times to the TCP that server is initiated, improve adaptive stream media Systematic entirety energy and efficiency.
In the 6th specific embodiment of the invention, Y is the natural number more than 1 and less than N.
For example, for the specific embodiment shown in Fig. 1, according to following for the 6th specific embodiment Ring judgment mode, if the code check of burst 001.ts, 002.ts, 003.ts is differed, in user After terminal continues to obtain burst 004.ts, 005.ts, for burst 003.ts, 004.ts, 005.ts Perform step 302, i.e. judge burst 003.ts, 004.ts, 005.ts that user terminal is continuously acquired Whether same code check is belonged to, so as to form circular treatment.
Step 307, keeps original burst and index file constant, until user terminal has read All bursts of index file.
For example:In specific embodiment shown in Fig. 1 and Fig. 4, if residue burst number X is less than Whether 3 (such as X=2), then no longer carry out the stable judgement of bandwidth (code check), keeps original Burst and index file are constant, until user terminal has read all bursts of index file.
The above embodiment of the present invention is more for current adaptive stream media program burst quantity, uses Family terminal frequently initiates HTTP and TCP connection requests causes network overhead larger, influence system System whole efficiency, and the problems such as file fragmentation, propose a kind of self adaptation stream of dynamic optimization Media method, by the bandwidth status of server end Real-time Collection user terminal, when bandwidth stabilization When follow-up multiple bursts are merged, new burst and index file is generated, so as to reduce User terminal connects number of times to the TCP that server is initiated, and improves adaptive stream media system whole Body performance and efficiency.
Fig. 5 is the schematic diagram of adaptive stream media device one embodiment of dynamic optimization of the present invention. Described device includes bandwidth acquisition module 501, identification module 502, merging module 503 and indicates Module 504, wherein:
Bandwidth acquisition module 501, for the bandwidth status of Real-time Collection user terminal.
In one embodiment of the invention, bandwidth acquisition module 501 specifically can be used for The code check that family terminal obtains burst is recorded, wherein the code check embodies the bandwidth of user terminal State.
Whether identification module 502, the current bandwidth for judging user terminal is stablized.
In one embodiment of the invention, identification module 502 specifically can be used for judging user Whether N number of burst that terminal is continuously acquired belongs to same code check, and wherein N is more than 1 and is less than The natural number of burst sum M in subindex file;N number of point that if user terminal is continuously acquired Piece belongs to same code check, then judge the current bandwidth stabilization of user terminal;If user terminal is continuous The N number of burst for obtaining is not belonging to same code check, then judge that the current bandwidth of user terminal is unstable.
Merging module 503, for the judged result according to identification module 502, if user terminal Current bandwidth stabilization, then the follow-up multiple bursts to index file are merged, generate it is new Burst and new index file.
In one embodiment of the invention, merging module 503 is to the follow-up more of index file Individual burst is merged, when generating new burst and new index file, specifically can be used for by Follow-up 1 to n-th burst merges into new follow-up 1st burst, and follow-up other bursts are protected Hold constant, and generate new index file.
Indicating module 504, downloads new index file and please look for novelty for indicating user terminal Burst, indicates identification module 502 to judge user for new burst and new index file afterwards Whether the current bandwidth of terminal is stablized.
In one embodiment of the invention, indicating module 504 is indicating the pin of identification module 502 When judging new burst and new index file whether the current bandwidth of user terminal is stable, tool Body can be used for new follow-up 1st burst that generates merging module 503 as continuously acquiring N number of burst in Y, and indicate identification module to perform to judge that user terminal is continuously acquired N number of burst whether belong to the operation of same code check, wherein Y be more than or equal to 1 and less than etc. In the natural number of N.
The adaptive stream media device of the dynamic optimization provided based on the above embodiment of the present invention, can According to network bandwidth situation, dynamically to merge optimization, modification index text to successive fragment Part, and notify user terminal update index file, reacquire burst, it is possible thereby to realize it is right Adaptive stream media system carries out dynamic optimization.The above embodiment of the present invention by merge small burst, The mode such as index file is updated, can effectively improve that prior art network expense is larger, file The problem of the aspects such as fragmentation, so as to improve systematic entirety energy and efficiency.
Fig. 6 is the schematic diagram of another embodiment of adaptive stream media device of dynamic optimization of the present invention. Compared with embodiment illustrated in fig. 5, in the embodiment shown in fig. 6, described device can also include referring to Cover half block 505, wherein:
Designated module 505, for the judged result according to identification module 502, if user terminal Current bandwidth it is unstable, then using follow-up 1st burst as in the N number of burst for continuously acquiring Y, and indicate identification module 502 to perform to judge N number of point that user terminal is continuously acquired Whether piece belongs to the operation of same code check, and wherein Y is oneself more than or equal to 1 and less than or equal to N So count.
The above embodiment of the present invention can be unstable in the current bandwidth of user terminal by designated module It is fixed, successive fragment is continued to judge whether bandwidth is stablized, it is achieved thereby that whether stablizing bandwidth Cycle criterion, it is possible thereby to realize merging follow-up multiple bursts, generate new burst And index file, number of times is connected to the TCP that server is initiated so as to reduce user terminal, carry Adaptive stream media systematic entirety energy and efficiency are risen.
According to another aspect of the present invention, there is provided a kind of adaptive stream media service of dynamic optimization Device, including it is dynamic as described in above-mentioned any embodiment (such as Fig. 5 or embodiment illustrated in fig. 6) The adaptive stream media device of state optimization.
The adaptive stream media server of the dynamic optimization provided based on the above embodiment of the present invention, It is applicable for use with the platform and system of HLS adaptive stream media technologies.Under broadband network environment (such as OTT set-top box, IPTV, PC video website), because the network bandwidth is stablized relatively, Interference is not susceptible to, the adaptive stream media server of dynamic optimization proposed by the present invention can have Effect reduces TCP request number of times and burst quantity, optimizes offered load and disk performance.
In the above embodiment of the present invention, m3u8 index files are based on http protocol plaintext transmission, Do not encrypt, the information such as quantity, filename, duration of all burst contents is easily extracted, interior Appearance can be with real-time edition;The characteristics of HLS bursts coding uses ts forms, ts forms can be to make It is that binary file sequential concatenation and decoding (such as can be by DOS in Windows systems Order carries out Piece file mergence:Copy/b 006.ts+007.ts+008.ts 006-008.ts), to service Device performance impact is ignored substantially;And the above embodiment of the present invention need not change existing net Network framework and relevant hardware devices, only need to increase corresponding functional module in server end.Therefore, The technical scheme of the proposition of the above embodiment of the present invention is easily realized.
Bandwidth acquisition module 501 described above, identification module 502, merging module 503, The functional units such as indicating module 504, the first designated module 505, designated module 506 can be realized It is for performing the general processor of function described herein, programmable logic controller (PLC) (PLC), digital signal processor (DSP), application specific integrated circuit (ASIC), scene Programmable gate array (FPGA) or other PLDs, discrete gate or crystal Pipe logical device, discrete hardware components or it is any appropriately combined.
So far, the present invention is described in detail.In order to avoid covering design of the invention, do not have Description some details known in the field.Those skilled in the art as described above, completely It can be appreciated how implementing technical scheme disclosed herein.
One of ordinary skill in the art will appreciate that realizing all or part of step of above-described embodiment Can be completed by hardware, it is also possible to instruct the hardware of correlation to complete by program, it is described Program can be stored in a kind of computer-readable recording medium, and storage medium mentioned above can be with It is read-only storage, disk or CD etc..
Description of the invention is given for the sake of example and description, and is not exhaustively Or limit the invention to disclosed form.Common skill of many modifications and variations for this area It is obvious for art personnel.Selection and description embodiment are to more preferably illustrate principle of the invention And practical application, and make one of ordinary skill in the art it will be appreciated that the present invention is suitable so as to design In the various embodiments with various modifications of special-purpose.

Claims (13)

1. a kind of adaptive stream media method of dynamic optimization, it is characterised in that including:
The bandwidth status of Real-time Collection user terminal;
Judge whether the current bandwidth of user terminal is stablized;
If the current bandwidth stabilization of user terminal, the follow-up multiple bursts to index file are carried out Merge, generate new burst and new index file;
Indicating user terminal downloads new index file and the burst that please be looked for novelty, afterwards for new Burst and new index file, execution judge the step whether current bandwidth of user terminal is stablized.
2. method according to claim 1, it is characterised in that Real-time Collection user terminal Bandwidth status the step of include:
The code check that user terminal obtains burst is recorded, wherein the code check embodies user's end The bandwidth status at end.
3. method according to claim 2, it is characterised in that judge working as user terminal The step whether preceding bandwidth is stablized includes:
Judge whether N number of burst that user terminal is continuously acquired belongs to same code check, wherein N is More than 1 and less than the natural number of burst sum in subindex file;
If N number of burst that user terminal is continuously acquired belongs to same code check, user terminal is judged Current bandwidth stabilization;
If N number of burst that user terminal is continuously acquired is not belonging to same code check, user's end is judged The current bandwidth at end is unstable.
4. method according to claim 3, it is characterised in that to the follow-up of index file Multiple bursts are merged, and are included the step of generate new burst and new index file:
Follow-up 1 to n-th burst is merged into new follow-up 1st burst, it is follow-up other Burst keeps constant, and generates new index file.
5. method according to claim 4, it is characterised in that for new burst and new Index file, execution judge that the step whether current bandwidth of user terminal is stablized includes:
Using new follow-up 1st burst as Y in the N number of burst for continuously acquiring, it Perform the step of whether N number of burst that user terminal is continuously acquired belongs to same code check judged afterwards, Wherein Y is the natural number more than or equal to 1 and less than or equal to N.
6. method according to claim 3, it is characterised in that also include:
If the current bandwidth of user terminal is unstable, using follow-up 1st burst as continuously obtaining Y in the N number of burst for taking, it is N number of that execution afterwards judges that user terminal is continuously acquired The step of whether burst belongs to same code check, wherein Y are more than or equal to 1 and less than or equal to N's Natural number.
7. the adaptive stream media device of a kind of dynamic optimization, it is characterised in that adopted including bandwidth Collection module, identification module, merging module and indicating module, wherein:
Bandwidth acquisition module, for the bandwidth status of Real-time Collection user terminal;
Whether identification module, the current bandwidth for judging user terminal is stablized;
Merging module, for the judged result according to identification module, if the current band of user terminal Width stabilization, then the follow-up multiple bursts to index file are merged, and generate new burst and new Index file;
Indicating module, new index file and the burst that please be looked for novelty are downloaded for indicating user terminal, Identification module is indicated to judge the current of user terminal for new burst and new index file afterwards Whether bandwidth is stablized.
8. device according to claim 7, it is characterised in that
Bandwidth acquisition module is recorded specifically for obtaining the code check of burst to user terminal, its Described in code check embody user terminal bandwidth status.
9. device according to claim 8, it is characterised in that
Identification module is specifically for judging whether N number of burst that user terminal is continuously acquired belongs to same One code check, wherein N are more than 1 and less than the natural number of burst sum in subindex file;If N number of burst that user terminal is continuously acquired belongs to same code check, then judge the current of user terminal Bandwidth stabilization;If N number of burst that user terminal is continuously acquired is not belonging to same code check, judge The current bandwidth of user terminal is unstable.
10. device according to claim 9, it is characterised in that
Merging module is merged in the follow-up multiple bursts to index file, generates new burst During with new index file, specifically for by follow-up 1 to n-th burst merge into it is new after Continue the 1st burst, follow-up other bursts keep constant, and generate new index file.
11. devices according to claim 10, it is characterised in that
Indicating module judges user in instruction identification module for new burst and new index file When whether the current bandwidth of terminal stable, specifically for merging module is generated new follow-up the 1 burst indicates identification module to perform as Y in the N number of burst for continuously acquiring Judge whether N number of burst that user terminal is continuously acquired belongs to the operation of same code check, wherein Y It is the natural number more than or equal to 1 and less than or equal to N.
12. devices according to claim 9, it is characterised in that also including designated module, Wherein:
Designated module, for the judged result according to identification module, if the current band of user terminal It is wide unstable, then using follow-up 1st burst as Y in the N number of burst for continuously acquiring, And indicate identification module execution to judge whether N number of burst that user terminal is continuously acquired belongs to same The operation of code check, wherein Y are the natural number more than or equal to 1 and less than or equal to N.
The adaptive stream media server of 13. a kind of dynamic optimizations, it is characterised in that including such as The adaptive stream media device of the dynamic optimization any one of claim 7-12.
CN201510955760.2A 2015-12-18 2015-12-18 The adaptive stream media method, apparatus and server of dynamic optimization Active CN106899894B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510955760.2A CN106899894B (en) 2015-12-18 2015-12-18 The adaptive stream media method, apparatus and server of dynamic optimization

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510955760.2A CN106899894B (en) 2015-12-18 2015-12-18 The adaptive stream media method, apparatus and server of dynamic optimization

Publications (2)

Publication Number Publication Date
CN106899894A true CN106899894A (en) 2017-06-27
CN106899894B CN106899894B (en) 2019-06-18

Family

ID=59188855

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510955760.2A Active CN106899894B (en) 2015-12-18 2015-12-18 The adaptive stream media method, apparatus and server of dynamic optimization

Country Status (1)

Country Link
CN (1) CN106899894B (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109040854A (en) * 2018-08-09 2018-12-18 武汉烽火凯卓科技有限公司 A kind of stream connection dispatching method suitable for multiserver adaptive stream media system
CN109302621A (en) * 2017-07-24 2019-02-01 中兴通讯股份有限公司 A kind of file polymerization and server
CN109996092A (en) * 2017-12-29 2019-07-09 华为技术有限公司 Method and apparatus for video playing
CN112948600A (en) * 2021-01-26 2021-06-11 四川天翼网络服务有限公司 High-performance multi-protocol audio and video storage system
CN114221954A (en) * 2021-12-07 2022-03-22 中国电信股份有限公司 File transmission method and device, electronic equipment and storage medium
US11997324B2 (en) 2019-10-04 2024-05-28 Novi Digital Entertainment Private Limited Systems and methods for dynamic optimization of content delivery in a wireless communication network

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103354618A (en) * 2013-06-24 2013-10-16 西安交通大学 HLS-based multi-scenario streaming media adaptive live broadcast method
CN103929681A (en) * 2014-04-09 2014-07-16 安徽超远信息技术有限公司 Method for improving RTP video streaming treatment efficiency in low-speed network
CN104333818A (en) * 2014-10-17 2015-02-04 中兴通讯股份有限公司 Splicing method and splicing system for HTTP real-time streaming media fragment
CN104349176A (en) * 2013-07-30 2015-02-11 中国电信股份有限公司 Self-adaptive stream media system, downloading method and stream media server, user terminal
CN104683884A (en) * 2015-02-09 2015-06-03 网宿科技股份有限公司 Live method and system for stream medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103354618A (en) * 2013-06-24 2013-10-16 西安交通大学 HLS-based multi-scenario streaming media adaptive live broadcast method
CN104349176A (en) * 2013-07-30 2015-02-11 中国电信股份有限公司 Self-adaptive stream media system, downloading method and stream media server, user terminal
CN103929681A (en) * 2014-04-09 2014-07-16 安徽超远信息技术有限公司 Method for improving RTP video streaming treatment efficiency in low-speed network
CN104333818A (en) * 2014-10-17 2015-02-04 中兴通讯股份有限公司 Splicing method and splicing system for HTTP real-time streaming media fragment
CN104683884A (en) * 2015-02-09 2015-06-03 网宿科技股份有限公司 Live method and system for stream medium

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109302621A (en) * 2017-07-24 2019-02-01 中兴通讯股份有限公司 A kind of file polymerization and server
CN109996092A (en) * 2017-12-29 2019-07-09 华为技术有限公司 Method and apparatus for video playing
CN109996092B (en) * 2017-12-29 2021-01-15 华为技术有限公司 Method and device for video playing
CN109040854A (en) * 2018-08-09 2018-12-18 武汉烽火凯卓科技有限公司 A kind of stream connection dispatching method suitable for multiserver adaptive stream media system
CN109040854B (en) * 2018-08-09 2021-02-02 武汉烽火凯卓科技有限公司 Stream connection scheduling method suitable for multi-server self-adaptive stream media system
US11997324B2 (en) 2019-10-04 2024-05-28 Novi Digital Entertainment Private Limited Systems and methods for dynamic optimization of content delivery in a wireless communication network
CN112948600A (en) * 2021-01-26 2021-06-11 四川天翼网络服务有限公司 High-performance multi-protocol audio and video storage system
CN112948600B (en) * 2021-01-26 2023-06-02 四川天翼网络股份有限公司 High-performance multi-protocol audio and video storage system
CN114221954A (en) * 2021-12-07 2022-03-22 中国电信股份有限公司 File transmission method and device, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN106899894B (en) 2019-06-18

Similar Documents

Publication Publication Date Title
CN106899894A (en) The adaptive stream media method of dynamic optimization, device and server
CN105357591B (en) A kind of QoE monitoring of self-adaption code rate net cast and optimization method
US9280844B2 (en) Animation
CN111010614A (en) Method, device, server and medium for displaying live caption
EP3047650B1 (en) Streaming media
CN107547940A (en) Video playback processing method, equipment and computer-readable recording medium
CN104683884A (en) Live method and system for stream medium
CN105469381B (en) Information processing method and terminal
US20200344497A1 (en) Method and apparatus for processing multimedia file, storage medium, and electronic apparatus
CN104679570A (en) Image loading display method, equipment and system
US9356985B2 (en) Streaming video to cellular phones
CN109587514B (en) Video playing method, medium and related device
CN102547478A (en) Triggered slice on-demand system and method of streaming media based on CDN (Content Distribution Network)
CN104244028A (en) Content distribution method, device and system based on code stream self-adaptation technology
CN108924630B (en) Method for displaying cache progress and playing device
CN103096131B (en) A kind of live method for stream processing and device
EP3070951A1 (en) Video code stream obtaining method and apparatus
CN113079386B (en) Video online playing method and device, electronic equipment and storage medium
CN105337926B (en) Multi-terminal linkage method and related equipment and system
JP2015521402A (en) Dynamic interstitial transition
CN109214895A (en) A kind of game resource promotion method, apparatus and system
Mueller et al. Context-aware video encoding as a network-based media processing (NBMP) workflow
US20170374432A1 (en) System and method for adaptive video streaming with quality equivalent segmentation and delivery
US20190191196A1 (en) System and method for optimization of video bitrate
CN104780389A (en) Video processing method and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant