CN105578201A - System and method for implementing dynamic adjustment of HLS live bit rate number - Google Patents
System and method for implementing dynamic adjustment of HLS live bit rate number Download PDFInfo
- Publication number
- CN105578201A CN105578201A CN201510989491.1A CN201510989491A CN105578201A CN 105578201 A CN105578201 A CN 105578201A CN 201510989491 A CN201510989491 A CN 201510989491A CN 105578201 A CN105578201 A CN 105578201A
- Authority
- CN
- China
- Prior art keywords
- code check
- file
- main
- server
- burst
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23113—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving housekeeping operations for stored content, e.g. prioritizing content for deletion because of storage space restrictions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2385—Channel allocation; Bandwidth allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
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 invention provides a system and method for implementing dynamic adjustment of an HTTP Live Streaming (HLS) live bit rate number, and relates to the field of internet multimedia. The method comprises the steps: a live source of a head end updates a main m3u8 file by adding or reducing an m3u8 sub-file and a ts fragment including at least one bit rate, thereby implementing addition or reduction of a bit rate number; a server timely requests the main m3u8 file to the live source, detects the change of the bit rate number of the main m3u8 file is detected, and adds or reduces relative m3u8 sub-files and ts fragments relative to the addition or reduction of the bit rate number, so that the main m3u8 file of the server is updated; the terminal timely requests the main m3u8 file from the server, detects the change of the bit rate number of the main m3u8 file, and realizes dynamic updating of self storage bit rates while considering a current bandwidth, thereby implementing. According to the system and method for implementing the dynamic adjustment of the HLS live bit rate number, on the premise of not interrupting server storage and terminal playing, the dynamic adjustment of the HLS live bit rate number is implemented, the playing smoothness of a channel is not influenced, and the optimal utilization rate of disk storage is achieved.
Description
Technical field
The present invention relates to field of Internet multimedia, is specifically a kind of system and method realizing HLS live code check number dynamic conditioning.
Background technology
At present, HLS (HTTPLiveStreaming) live code check adaptive technique is extensively adopted by the service of playing of various Internet video.This technology, for same media content, provides the media of different quality rank, and user can according to capacity of equipment and network condition, and in the range of code rates provided, the media slicing of the different quality of adjustment request in real time rank, realizes the object of smooth playing video.
But there is following defect in current HLS live code check adaptive technique:
Continual service device store and terminal plays prerequisite under, live code check number cannot realize dynamic increase, dynamically reduce and the dynamic situation such as increase and minimizing simultaneously.Can because program code check too high to cause user video to be play smooth not because program code check and bandwidth difference many, and cause can not maximum using terminal bandwidth resource, and disk storage utilance is not high; Cannot in bandwidth usage, the balance obtaining the best between disk storage and video quality.
Summary of the invention
For the defect existed in prior art, the object of the present invention is to provide a kind of system and method realizing HLS live code check number dynamic conditioning, continual service device store and terminal plays prerequisite under, realize the dynamic conditioning of the live code check number of HLS, do not affect this channel and play fluency, maximum using terminal bandwidth resource, realizes the optimum utilization of disk storage; Thus in bandwidth usage, the balance obtaining the best between disk storage and video quality.
For reaching above object, the present invention takes a kind of system realizing HLS live code check number dynamic conditioning, comprises head end, server and terminal, and described head end is for providing the live source dynamically updated; Described server is used for the live source of dynamic memory head end, and provides the stream that plays out of various code check to serve; Described terminal is used for reception server resource and is supplied to user.
On the basis of technique scheme, described head end, server and terminal, include main m3u8 file, sub-m3u8 file and ts burst, in each main m3u8 file, comprise at least one sub-m3u8 file URL, in every sub-m3u8 file, comprise multiple ts burst URL.
The present invention also provides a kind of method realizing HLS live code check number dynamic conditioning, comprising: the live source of head end, by increasing sub-m3u8 file and the ts burst of at least one code check, upgrades main m3u8 file, and realizing code check number increases; Live source, by being reduced by least sub-m3u8 file and the ts burst of a code check, upgrades main m3u8 file, realizes code check number and reduces; Server is regularly to the main m3u8 file of live source request, and when detecting that in main m3u8 file, code check number changes, corresponding code check number increases or reduces, and increases newly or reduces corresponding sub-m3u8 and ts burst, the main m3u8 file of update server; Terminal, regularly to the main m3u8 file of server request, when detecting that in main m3u8 file, code check number changes, in conjunction with current bandwidth, realizes self and stores dynamically updating of code check; Wherein, head end live source code check number carries out the situation increasing or reduce, and comprises and carries out separately, carries out simultaneously or carry out regardless of priority sequentially.
On the basis of technique scheme, the live source of head end increases code check number newly, when server detects and increases code check in its main m3u8 file of asking, the main m3u8 file of server increases the sub-m3u8 file URL of corresponding code check, server increases the storage of corresponding code check in current time with the form storing burst, storing burst is the burst divided according to fixed storage size, and one stores fragment packets containing multiple ts code check burst.
On the basis of technique scheme, before adding described code check, terminal to server request is live, the main m3u8 file of current all code checks is sent to terminal by server, terminal select to be less than actual bandwidth and with the ts burst of the immediate code check of actual bandwidth, server by corresponding for immediate code check, from current record point at least three ts burst URL forward, forming corresponding sub-m3u8 file issues terminal; Terminal selects last three ts bursts to play successively.
On the basis of technique scheme, terminal according to current network conditions self-adaptative adjustment bandwidth, and regularly to the main m3u8 file of server request, when the main m3u8 file of request increases code check, and the code check increased is less than this Time Bandwidth, is then switched to the corresponding ts burst of increased code check immediately and plays.
On the basis of technique scheme, live source reduces code check number, server detects in its main m3u8 file of asking and reduces code check, stop storage and the recording of original corresponding code check ts burst, from server main m3u8 file, remove corresponding sub-m3u8 file URL, and server does not delete the ts burst stored before this.
On the basis of technique scheme, terminal is according to current network conditions self-adaptative adjustment bandwidth, along with the height of bandwidth switches between different code check, when being switched to certain bandwidth, and when detecting that server removes the recording of code check, then be switched to and be less than current bandwidth, and play closest to the ts burst of the code check of current bandwidth.
On the basis of technique scheme, terminal plays certain code check ts burst under a certain bandwidth, when the serviced device of ts burst that terminal detects the code check play is deleted, main m3u8 file after upgrading according to terminal, terminal is switched to immediately lower than this code check, and plays closest to the ts burst of current bandwidth.
On the basis of technique scheme, the main m3u8 file of live source request of the regular head-end of server, when detecting that live source reduces another code check while increase code check, then increase the code check that live source increases, the code check simultaneously stopping live source reducing is recorded, and the main m3u8 file of update server.
On the basis of technique scheme, terminal is according to current network conditions self-adaptative adjustment bandwidth, and regularly to the main m3u8 file of server request, while increase code check, code check is decreased when detecting in its main m3u8 file of asking, terminal switch to being less than current bandwidth, and is play with the immediate ts burst of current bandwidth.
Beneficial effect of the present invention is:
1, live source realizes increasing or being reduced by least a code check by the main m3u8 file of amendment, server is by the main m3u8 file of periodic request live source, dynamically update server stores to realize increasing or being reduced by least a code check, terminal switches the ts burst of current broadcasting by the main m3u8 file self adaptation of regular request server.Whole system continual service device store and terminal plays prerequisite under, realize the dynamic conditioning (situation dynamically increasing or reduce of the live code check number of HLS, comprise and carry out separately, carry out simultaneously or carry out regardless of priority sequentially), do not affect this channel and play fluency.
2, system by increasing live code check number, can realize the code check self adaptation of more wide region, maximally utilising terminal bandwidth resource, improve Consumer's Experience as much as possible more efficiently.
3, system by reducing live code check number, can reduce unwanted storage, more effectively uses disk storage resource.
Accompanying drawing explanation
Fig. 1 is first embodiment of the invention, and server increases the storage burst schematic diagram before and after 8M code check;
Fig. 2 is first embodiment of the invention, the system schematic that after increasing 8M code check, terminal self adaptation switches;
Fig. 3 is second embodiment of the invention, and server reduces the storage burst schematic diagram before and after 3M code check;
Fig. 4 is second embodiment of the invention, the system schematic that after reducing 3M code check, terminal self adaptation switches;
Fig. 5 is second embodiment of the invention, is playing the terminal switching system schematic diagram of this code check when reducing 3M code check;
Fig. 6 is third embodiment of the invention, increases 8M code check and reduces 3M code check system schematic;
Fig. 7 is fourth embodiment of the invention, reduces 3M code check system schematic again after increasing 8M code check.
Embodiment
The present invention realizes the system of HLS live code check number dynamic conditioning, comprises head end, server and terminal, and described head end is for providing the live source dynamically updated; Server is used for the live source of dynamic memory head end, and provides the stream that plays out of various code check to serve; Described terminal is used for reception server resource and is supplied to user.Described head end, server and terminal, include main m3u8 file, sub-m3u8 file and ts burst, comprises at least one sub-m3u8 file URL in each main m3u8 file, comprises multiple ts burst URL in every sub-m3u8 file.
The present invention realizes the method for HLS live code check number dynamic conditioning, comprising:
The live source of head end, by increasing sub-m3u8 file and the ts burst of at least one code check, upgrades main m3u8 file, and realizing code check number increases; Live source by being reduced by least sub-m3u8 file and the ts burst of a code check, can also upgrade main m3u8 file, realizes code check number and reduces.Further, live source code check number carries out the situation increasing or reduce, and comprises and carries out separately, carries out simultaneously or carry out regardless of priority sequentially.
The main m3u8 file of live source request of the regular head-end of server, when detecting that in main m3u8 file, code check number changes, corresponding code check number increases or reduces, and server increases newly or reduces corresponding sub-m3u8 and ts burst, the main m3u8 file of update server.Concrete, when server detect increase code check number in main m3u8 file time, store sub-m3u8 file and the ts burst of newly-increased code check, the main m3u8 file of update server, realize newly-increased code check.When server detect reduce code check number in main m3u8 file time, stop the sub-m3u8 file and the ts burst that store minimizing code check, from the main m3u8 file of server, remove corresponding sub-m3u8 file URL, and delete the ts burst that server stored, realize reducing code check.
Terminal, regularly to the main m3u8 file of server request, when detecting that in main m3u8 file, code check number changes, in conjunction with current bandwidth, realizes self and stores dynamically updating of code check.Concrete, server detects in its main m3u8 file of asking increases this code check, server main m3u8 file increases the sub-m3u8 file URL of this code check, server increases the storage of this code check in current time with the form storing burst, storing burst is the burst divided according to fixed storage size, and one stores fragment packets containing multiple ts code check burst.In addition, if terminal is according to the situation of own bandwidth resource, the ts burst of the code check of the current broadcasting of dynamic conditioning, when the ts burst of the code check play is deleted, main m3u8 file after upgrading according to terminal, the ts burst of adaptively selected other code checks continues to play.
Below in conjunction with drawings and Examples, the present invention is described in further detail.
First embodiment:
As shown in Figure 1, server 8:00 starts to record, and when 10:30 time, the live source of head end newly introduces 8M code check.Now, the main m3u8 file of live source request of the regular head-end of server, such as interval increases 8M code check to live source request once main m3u8 file in 10 seconds in server detects its main m3u8 file of asking, and the main m3u8 file of server increases the sub-m3u8 file URL of 8M code check.Server increases the storage of 8M code check in current time with the form storing burst, store burst and refer to that server is when storage, according to the burst that fixed storage size divides, give tacit consent to here and store according to 200M mono-storage burst, and one stores fragment packets containing multiple ts code check burst.Concrete, server 8M code check storage burst ID stores from 30001003, is followed successively by 30001003,30001004,30001005 ...
The main m3u8 file that live source increases before 8M code check is as follows:
GET/fonsview_hls/CBR_HD/CBR_HD_14431535789241086.m3u8HTTP/1.1
Host:172.16.0.67:808
User-Agent:VLC/2.1.5LibVLC/2.1.5
Range:bytes=0-
Connection:close
Icy-MetaData:1
HTTP/1.1206PartialContent
Date:Fri,23Oct201509:08:36GMT
Server:Apache/2.2.29(CentOS)
Last-Modified:Fri,23Oct201509:08:01GMT
ETag:"529c029-c0-522c1f2cb5e40"
Accept-Ranges:bytes
Content-Length:192
Content-Range:bytes0-191/192
Connection:close
Content-Type:application/vnd.apple.mpegurl
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1000000
1/01.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=3000000
2/02.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=6000000
3/03.m3u8
The main m3u8 file that live source increases after 8M code check is as follows:
GET/fonsview_hls/CBR_HD/CBR_HD_14431535789241086.m3u8HTTP/1.1
Host:172.16.0.67:808
User-Agent:VLC/2.1.5LibVLC/2.1.5
Range:bytes=0-
Connection:close
Icy-MetaData:1
HTTP/1.1206PartialContent
Date:Fri,23Oct201509:08:36GMT
Server:Apache/2.2.29(CentOS)
Last-Modified:Fri,23Oct201509:08:01GMT
ETag:"529c029-c0-522c1f2cb5e40"
Accept-Ranges:bytes
Content-Length:253
Content-Range:bytes0-252/253
Connection:close
Content-Type:application/vnd.apple.mpegurl
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1000000
1/01.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=3000000
2/02.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=6000000
3/03.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=8000000
4/04.m3u8
As shown in Figure 2, before adding 8M code check, terminal to server request is live, the URL of request is http: // 172.16.0.67/fonsview_hls/hls_live/index.m3u8, after server receives request, the main m3u8 file of current all (comprising 1M, 3M, 6M) code checks is sent to terminal.Terminal is according to actual bandwidth (being assumed to about 7M), and terminal is selected be less than actual bandwidth and play with the ts burst (6M code check ts burst) of the immediate code check of actual bandwidth.Concrete, server by corresponding for 6M code check, from current record point at least three ts burst URL forward, be 12 ts bursts (1_21.ts, 1_22.ts, 1_23.ts...1_33.ts) forward in the present embodiment, form corresponding sub-m3u8 file and issue terminal; Terminal selects last three ts bursts (1_31.ts, 1_32.ts, 1_33.ts) to play successively.Live source adds 8M code check at 10:30, now terminal is according to current network conditions self-adaptative adjustment bandwidth, and every 10s to the main m3u8 file of server request, assuming that be adjusted to 10M in 11:30 terminal bandwidth, terminal detects that the main m3u8 file of latest requests adds 8M code check, and 8M is less than current bandwidth 10M, is then switched to the corresponding ts burst of 8M code check immediately and plays, as the order in Fig. 2 1. → 2. → 3. → 4..
Second embodiment:
As shown in Figure 3, server 8:00 starts to record, the live source of head end reduces 3M code check when 12:30, server detects in its main m3u8 file of asking and reduces 3M code check, stop the storage to original 3M code check ts burst and recording, 3M code check m3u8 file URL is removed from server main m3u8 file, and the main m3u8 of update server.Server end 3M code check disk storage burst ID stops recording from 10001006 backward, and server does not delete the ts burst stored before this.
Before reducing 3M code check, live source main m3u8 file is as follows:
GET/fonsview_hls/CBR_HD/CBR_HD_14431535789241086.m3u8HTTP/1.1
Host:172.16.0.67:808
User-Agent:VLC/2.1.5LibVLC/2.1.5
Range:bytes=0-
Connection:close
Icy-MetaData:1
HTTP/1.1206PartialContent
Date:Fri,23Oct201509:08:36GMT
Server:Apache/2.2.29(CentOS)
Last-Modified:Fri,23Oct201509:08:01GMT
ETag:"529c029-c0-522c1f2cb5e40"
Accept-Ranges:bytes
Content-Length:253
Content-Range:bytes0-252/253
Connection:close
Content-Type:application/vnd.apple.mpegurl
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1000000
1/01.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=3000000
2/02.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=6000000
3/03.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=8000000
4/04.m3u8
After reducing 3M code check, live source main m3u8 file is as follows:
GET/fonsview_hls/CBR_HD/CBR_HD_14431535789241086.m3u8HTTP/1.1
Host:172.16.0.67:808
User-Agent:VLC/2.1.5LibVLC/2.1.5
Range:bytes=0-
Connection:close
Icy-MetaData:1
HTTP/1.1206PartialContent
Date:Fri,23Oct201509:08:36GMT
Server:Apache/2.2.29(CentOS)
Last-Modified:Fri,23Oct201509:08:01GMT
ETag:"529c029-c0-522c1f2cb5e40"
Accept-Ranges:bytes
Content-Length:192
Content-Range:bytes0-191/192
Connection:close
Content-Type:application/vnd.apple.mpegurl
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1000000
1/01.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=6000000
3/03.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=8000000
4/04.m3u8
Terminal reduces 3M code check in the main m3u8 file of the server detected, has two kinds of dispositions to switch.
One is: terminal according to current network conditions self-adaptative adjustment bandwidth, and switches along with the height of bandwidth between different code check.Terminal regularly to the main m3u8 file of server request, when being switched to certain bandwidth, and when detecting that server removes the recording of 3M code check, is then switched to and is less than current bandwidth, and plays closest to the ts burst of the code check of current bandwidth.Concrete, as shown in Figure 4, terminal is always under about 7M bandwidth, play live 6M code check ts burst 1_101.ts, 1_102.ts, 1_103.ts, 12:30 server eliminates the recording of 3M code check, 13:30 terminal bandwidth is adjusted to 4M, but terminal asks the main m3u8 file of a server every 10s, and according to latest requests to the main m3u8 file removing 3M code check, and current bandwidth 4M, self adaptation is switched to ts burst 3_104.ts and plays, playing sequence as in Fig. 4 1. → 2. → 3. → 4..
Another kind is: terminal according to current network conditions self-adaptative adjustment bandwidth, and switches along with the height of bandwidth between different code check.When playing certain code check ts burst under a certain bandwidth, and terminal detects the ts burst of the code check play serviced device when deleting, main m3u8 file after upgrading according to terminal, terminal is switched to immediately lower than this code check, and plays closest to the ts burst of current bandwidth.Concrete, as shown in Figure 5, terminal plays 3M code check ts burst 2_101.ts, 2_102.ts under 5M bandwidth, and terminal is regularly to the main m3u8 file of server request, when terminal detects that server deletes 3M code check, main m3u8 file after then upgrading according to terminal, is switched to 1M code check ts burst 3_103.ts, 3_104.ts immediately and plays, playing sequence as in Fig. 5 1. → 2. → 3. → 4..
3rd embodiment:
As shown in Figure 6, the live source comprising three kinds of code checks (1M, 3M, 6M) is added server recording and storing by head end from 8:00.Server asks main m3u8, the 10:30 head end live source of a live source to increase 8M code check every 10s, and server detects that the main m3u8 file of head end increases 8M code check, and server increases the storage of 8M code check newly and upgrades oneself main m3u8 file.Terminal is identical with principle in the first embodiment, repeats no more herein.
The live source comprising four kinds of code checks (1M, 3M, 6M, 8M), from 12:30, is removed a 3M code check by head end.Server asks the main m3u8 file (namely the main m3u8 file of head end) of a live source every 10s, when the main m3u8 file measuring live source has lacked 3M code check, server stops the storage of original 3M code check, and upgrade the main m3u8 file of oneself, stop the storage to original 3M code check ts burst and recording.Situation after terminal is identical with principle in the second embodiment, repeats no more herein.Concrete, terminal has just started the storage burst 1002 playing 6M code check, 10:30 live source adds 8M code check, after 11:00 terminal bandwidth improves bandwidth to 9M, the ts burst be switched in the storage burst 30001005 of 8M code check is play, 3M code check is reduced in 12:30 live source, bandwidth is reduced to 2M in 13:30 terminal, then be switched to ts burst in the storage burst 20001008 of 1M code check to play, terminal is whole first increase the playing sequence that reduces afterwards as in Fig. 6 1. → 2. → 3. → 4. → 5. → 6. → 7..
In addition, if the live source of head end first reduces 3M code check, then increase 8M code check, principle is identical with foregoing, but server first reduces, then increases, and order is different from above-mentioned.
4th embodiment:
As shown in Figure 7, the main m3u8 file of live source request of the regular head-end of server, every 10s request once, when live source being detected at 10:30, reduce by a 3M code check while increasing a 8M code check, server increases the storage of 8M code check newly, stops the recording of 3M code check simultaneously, and upgrades the main m3u8 file of new server.Wherein server newly-increased 8M code check and stop the recording of 3M code check, principle and the first embodiment are identical with in the second embodiment.
Terminal is according to current network conditions self-adaptative adjustment bandwidth, and regularly to the main m3u8 file of server request, while increase 8M code check, 3M code check is decreased when detecting in its main m3u8 file of asking, then terminal switch is to being less than current bandwidth, and plays with the immediate ts burst of current bandwidth.Concrete, the storage burst 1002 of terminal plays 6M code check, 10:30 live source reduces by a 3M code check while increasing a 8M code check, after 11:00 terminal improves bandwidth to 9M, the ts burst be switched in 8M code check storage burst 30001005 is play, reduce bandwidth to 2M in 13:30 terminal, be then switched to 1M code check and store ts burst broadcasting in burst 20001008, overall playing sequence be in Fig. 7 1. → 2. → 3. → 4. → 5. → 6. → 7..
The present invention is not limited to above-mentioned execution mode, and for those skilled in the art, under the premise without departing from the principles of the invention, can also make some improvements and modifications, these improvements and modifications are also considered as within protection scope of the present invention.The content be not described in detail in this specification belongs to the known prior art of professional and technical personnel in the field.
Claims (11)
1. realize a system for HLS live code check number dynamic conditioning, it is characterized in that, comprise head end, server and terminal, described head end is for providing the live source dynamically updated; Described server is used for the live source of dynamic memory head end, and provides the stream that plays out of various code check to serve; Described terminal is used for reception server resource and is supplied to user.
2. realize the system of HLS live code check number dynamic conditioning as claimed in claim 1, it is characterized in that: described head end, server and terminal, include main m3u8 file, sub-m3u8 file and ts burst, comprise at least one sub-m3u8 file URL in each main m3u8 file, in every sub-m3u8 file, comprise multiple ts burst URL.
3., based on the method realizing HLS live code check number dynamic conditioning of system described in claim 1, it is characterized in that, comprising:
The live source of head end, by increasing sub-m3u8 file and the ts burst of at least one code check, upgrades main m3u8 file, and realizing code check number increases; Live source, by being reduced by least sub-m3u8 file and the ts burst of a code check, upgrades main m3u8 file, realizes code check number and reduces;
Server is regularly to the main m3u8 file of live source request, and when detecting that in main m3u8 file, code check number changes, corresponding code check number increases or reduces, and increases newly or reduces corresponding sub-m3u8 and ts burst, the main m3u8 file of update server;
Terminal, regularly to the main m3u8 file of server request, when detecting that in main m3u8 file, code check number changes, in conjunction with current bandwidth, realizes self and stores dynamically updating of code check;
Wherein, head end live source code check number carries out the situation increasing or reduce, and comprises and carries out separately, carries out simultaneously or carry out regardless of priority sequentially.
4. realize the method for HLS live code check number dynamic conditioning as claimed in claim 3, it is characterized in that: the live source of head end increases code check number newly, when server detects and increases code check in its main m3u8 file of asking, the main m3u8 file of server increases the sub-m3u8 file URL of corresponding code check, server increases the storage of corresponding code check in current time with the form storing burst, storing burst is the burst divided according to fixed storage size, and one stores fragment packets containing multiple ts code check burst.
5. realize the method for HLS live code check number dynamic conditioning as claimed in claim 4, it is characterized in that: before adding described code check, terminal to server request is live, the main m3u8 file of current all code checks is sent to terminal by server, terminal select to be less than actual bandwidth and with the ts burst of the immediate code check of actual bandwidth, server by corresponding for immediate code check, from current record point at least three ts burst URL forward, forming corresponding sub-m3u8 file issues terminal; Terminal selects last three ts bursts to play successively.
6. as described in claim 3 or 5, realize the method for HLS live code check number dynamic conditioning, it is characterized in that: terminal is according to current network conditions self-adaptative adjustment bandwidth, and regularly to the main m3u8 file of server request, when the main m3u8 file of request increases code check, and the code check increased is less than this Time Bandwidth, is then switched to the corresponding ts burst of increased code check immediately and plays.
7. realize the method for HLS live code check number dynamic conditioning as claimed in claim 3, it is characterized in that: live source reduces code check number, server detects in its main m3u8 file of asking and reduces code check, stop storage and the recording of original corresponding code check ts burst, from server main m3u8 file, remove corresponding sub-m3u8 file URL, and server does not delete the ts burst stored before this.
8. realize the method for HLS live code check number dynamic conditioning as claimed in claim 7, it is characterized in that: terminal is according to current network conditions self-adaptative adjustment bandwidth, along with the height of bandwidth switches between different code check, when being switched to certain bandwidth, and when detecting that server removes the recording of code check, then be switched to and be less than current bandwidth, and play closest to the ts burst of the code check of current bandwidth.
9. realize the method for HLS live code check number dynamic conditioning as claimed in claim 7, it is characterized in that: terminal plays certain code check ts burst under a certain bandwidth, when the serviced device of ts burst that terminal detects the code check play is deleted, main m3u8 file after upgrading according to terminal, terminal is switched to immediately lower than this code check, and plays closest to the ts burst of current bandwidth.
10. realize the method for HLS live code check number dynamic conditioning as claimed in claim 3, it is characterized in that: the main m3u8 file of live source request of the regular head-end of server, when detecting that live source reduces another code check while increase code check, then increase the code check that live source increases, the code check simultaneously stopping live source reducing is recorded, and the main m3u8 file of update server.
11. methods realizing HLS live code check number dynamic conditioning as claimed in claim 10, it is characterized in that: terminal is according to current network conditions self-adaptative adjustment bandwidth, and regularly to the main m3u8 file of server request, while increase code check, code check is decreased when detecting in its main m3u8 file of asking, terminal switch to being less than current bandwidth, and is play with the immediate ts burst of current bandwidth.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510989491.1A CN105578201B (en) | 2015-12-23 | 2015-12-23 | A kind of system and method for realizing HLS live streaming code check number dynamic adjustment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510989491.1A CN105578201B (en) | 2015-12-23 | 2015-12-23 | A kind of system and method for realizing HLS live streaming code check number dynamic adjustment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105578201A true CN105578201A (en) | 2016-05-11 |
CN105578201B CN105578201B (en) | 2018-11-13 |
Family
ID=55887798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510989491.1A Active CN105578201B (en) | 2015-12-23 | 2015-12-23 | A kind of system and method for realizing HLS live streaming code check number dynamic adjustment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105578201B (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108271040A (en) * | 2016-12-30 | 2018-07-10 | 华为软件技术有限公司 | The method and apparatus for playing video |
CN108966008A (en) * | 2018-08-02 | 2018-12-07 | 腾讯科技(深圳)有限公司 | Live video back method and device |
CN110213653A (en) * | 2019-06-14 | 2019-09-06 | 北京奇艺世纪科技有限公司 | A kind of method and device playing video |
CN111083535A (en) * | 2019-12-26 | 2020-04-28 | 天翼物联科技有限公司 | Video data transmission code rate self-adaption method, system, device and storage medium |
CN112671694A (en) * | 2019-10-16 | 2021-04-16 | 中兴通讯股份有限公司 | HLS playing method, client, server and storage medium |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103281568A (en) * | 2013-04-25 | 2013-09-04 | 网宿科技股份有限公司 | Method and system for realizing direct playing of dynamic code rate by streaming media |
US20140059244A1 (en) * | 2012-08-24 | 2014-02-27 | General Instrument Corporation | Method and apparatus for streaming multimedia data with access point positioning information |
CN103747283A (en) * | 2013-12-24 | 2014-04-23 | 中国科学院声学研究所 | Video fragment download method |
US20140215541A1 (en) * | 2013-01-29 | 2014-07-31 | Espial Group Inc. | Distribution of adaptive bit rate live streaming video via hyper-text transfer protocol |
CN104349178A (en) * | 2014-11-21 | 2015-02-11 | 赛特斯信息科技股份有限公司 | System and method for required real-time transcoding and self-adaptive code rate stream media playing |
CN104410902A (en) * | 2014-12-04 | 2015-03-11 | 华为技术有限公司 | Playing method and terminal for live program, as well as generation method and equipment for index document |
CN104506493A (en) * | 2014-12-04 | 2015-04-08 | 武汉市烽视威科技有限公司 | HLS content source returning and caching realization method |
CN104935953A (en) * | 2014-03-19 | 2015-09-23 | 国广东方网络(北京)有限公司 | Network on-demand service providing method and system based on real-time transcoding |
US20150288736A1 (en) * | 2014-04-03 | 2015-10-08 | Cisco Technology Inc. | Method for Enabling Use of HLS as a Common Intermediate Format |
-
2015
- 2015-12-23 CN CN201510989491.1A patent/CN105578201B/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140059244A1 (en) * | 2012-08-24 | 2014-02-27 | General Instrument Corporation | Method and apparatus for streaming multimedia data with access point positioning information |
US20140215541A1 (en) * | 2013-01-29 | 2014-07-31 | Espial Group Inc. | Distribution of adaptive bit rate live streaming video via hyper-text transfer protocol |
CN103281568A (en) * | 2013-04-25 | 2013-09-04 | 网宿科技股份有限公司 | Method and system for realizing direct playing of dynamic code rate by streaming media |
CN103747283A (en) * | 2013-12-24 | 2014-04-23 | 中国科学院声学研究所 | Video fragment download method |
CN104935953A (en) * | 2014-03-19 | 2015-09-23 | 国广东方网络(北京)有限公司 | Network on-demand service providing method and system based on real-time transcoding |
US20150288736A1 (en) * | 2014-04-03 | 2015-10-08 | Cisco Technology Inc. | Method for Enabling Use of HLS as a Common Intermediate Format |
CN104349178A (en) * | 2014-11-21 | 2015-02-11 | 赛特斯信息科技股份有限公司 | System and method for required real-time transcoding and self-adaptive code rate stream media playing |
CN104410902A (en) * | 2014-12-04 | 2015-03-11 | 华为技术有限公司 | Playing method and terminal for live program, as well as generation method and equipment for index document |
CN104506493A (en) * | 2014-12-04 | 2015-04-08 | 武汉市烽视威科技有限公司 | HLS content source returning and caching realization method |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108271040A (en) * | 2016-12-30 | 2018-07-10 | 华为软件技术有限公司 | The method and apparatus for playing video |
CN108271040B (en) * | 2016-12-30 | 2021-02-23 | 华为技术有限公司 | Method and device for playing video |
CN108966008A (en) * | 2018-08-02 | 2018-12-07 | 腾讯科技(深圳)有限公司 | Live video back method and device |
CN108966008B (en) * | 2018-08-02 | 2020-08-11 | 腾讯科技(深圳)有限公司 | Live video playback method and device |
CN110213653A (en) * | 2019-06-14 | 2019-09-06 | 北京奇艺世纪科技有限公司 | A kind of method and device playing video |
CN110213653B (en) * | 2019-06-14 | 2022-03-04 | 北京奇艺世纪科技有限公司 | Method and device for playing video |
CN112671694A (en) * | 2019-10-16 | 2021-04-16 | 中兴通讯股份有限公司 | HLS playing method, client, server and storage medium |
CN111083535A (en) * | 2019-12-26 | 2020-04-28 | 天翼物联科技有限公司 | Video data transmission code rate self-adaption method, system, device and storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN105578201B (en) | 2018-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10547659B2 (en) | Signaling and processing content with variable bitrates for adaptive streaming | |
US9509739B2 (en) | Method and apparatus for playing live content | |
US20180091572A1 (en) | Streaming Manifest Quality Control | |
US20200021868A1 (en) | Playback synchronization among adaptive bitrate streaming clients | |
CN105578201A (en) | System and method for implementing dynamic adjustment of HLS live bit rate number | |
US20190045242A1 (en) | Live consecutive ad insertion | |
US20150200992A1 (en) | Method for downloading, at a client terminal, an upcoming sequence of segments of a multimedia content, and corresponding terminal | |
WO2019056929A1 (en) | Hls protocol-based time shift optimization method and system | |
US10063404B2 (en) | Apparatus, systems and methods for monitoring the transmission of media content events | |
CN107197360B (en) | A kind of method and system of live signal safe broadcast | |
US11539777B2 (en) | Streaming and downloading of content | |
US11575975B2 (en) | Methods, systems, and apparatuses for improved content scoring and delivery | |
US11432038B2 (en) | Video fragment file processing | |
CN108124192A (en) | The playback method and system of HLS Streaming Medias | |
CN108271039B (en) | File sending method and device | |
CN102594773B (en) | A kind of method and system for realizing data acquisition | |
US9924239B2 (en) | Video on demand over satellite | |
JP2018098569A (en) | Data distribution system, communication terminal, and program | |
CN105472403A (en) | Cloud service framework implementation method and system for supporting adaptive mobile streaming media |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |