CN106790005A - Realize the live system and methods of low delay HLS - Google Patents
Realize the live system and methods of low delay HLS Download PDFInfo
- Publication number
- CN106790005A CN106790005A CN201611143468.1A CN201611143468A CN106790005A CN 106790005 A CN106790005 A CN 106790005A CN 201611143468 A CN201611143468 A CN 201611143468A CN 106790005 A CN106790005 A CN 106790005A
- Authority
- CN
- China
- Prior art keywords
- live
- file
- media slicing
- hls
- media
- 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
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The invention discloses a kind of system and method for realizing that low delay HLS is live, it is related to field of Internet multimedia.The system includes head end encoder, server and client side, and head end encoder is used to provide the original live source of dynamic renewal;Server is used for head-end encoder and obtains original live source, and dynamic updates index file and dynamically generates some media slicing files in real time, and the index file after renewal and at least three media slicing files since live point forward are output as HLS unicast live sources;Index file and media slicing file are sent in real time, are sent by the way of chunked codings away from a nearest media slicing file of live point;Client is used to parse the index file and media slicing file for receiving, and selects the optional position of one of media slicing file to commence play out.The present invention can overcome the disadvantages that the time delay defect high of traditional HLS live broadcast systems, and time delay is reduced to greatest extent, make HLS live closer to live point.
Description
Technical field
The present invention relates to field of Internet multimedia, and in particular to a kind of system and method for realizing that low delay HLS is live.
Background technology
HLS (Http Live Streaming) agreement has many advantages such as simple, self adaptation, is that whole world use is most wide
General the Internet transport protocol, HLS direct seeding techniques are even more the every field for being widely used in mobile Internet Streaming Media.But it is relative
In common live streaming media agreement, such as RTMP agreements, RTSP agreements, MMS etc., traditional HLS protocol live broadcast system
It is not real real time flow medium live broadcast system.In traditional HLS live broadcast systems, server will get from head end encoder
Media information cutting be several short and media slicing files of continuous ts forms, constantly update corresponding m3u8 forms
Then newest multiple media slicing files are continuously sent to client by index file and newest media slicing file
End, these media slicing files of client downloads simultaneously play media data.This technical characterstic of HLS, determines its delay
Typically can more than a media slicing file duration, therefore, HLS live time delay can be higher than always that common live streaming media is assisted
View.
The content of the invention
The invention aims to overcome the shortcomings of that traditional HLS protocol live broadcast system has time delay high, there is provided Yi Zhongshi
Existing low delay HLS live system and method, the system and method can make up the time delay defect high of traditional HLS live broadcast systems,
Time delay is reduced to greatest extent, makes HLS live closer to live point.
The present invention provides a kind of system for realizing that low delay HLS is live, and the system includes head end encoder, server and visitor
Family end,
The head end encoder is used for:The original live source that dynamic updates is provided;
The server is used for:Head-end encoder obtains original live source, is dynamically updated in real time according to original live source
Index file simultaneously dynamically generates some media slicing files, by the index file after renewal and since live point forward at least
Three media slicing files are output as HLS unicast live sources;Index file and at least three media point after updating are sent in real time
Piece file, is sent away from a nearest media slicing file of live point by the way of block transmission coding;
The client is used for:Index file and media slicing file that parsing is received, and select as needed wherein
The optional position of one media slicing file commences play out.
On the basis of above-mentioned technical proposal, the original live source is UDP UDP multicast live sources;Institute
Stating server includes the first conversion network element, and the first conversion network element is used for:
Head-end encoder obtains UDP multicast live sources, and dynamically index file is updated simultaneously in real time according to UDP multicasts live source
The some media slicing files of dynamic generation, by the index file after renewal and at least three media minute since live point forward
Piece file is output as HLS unicast live sources;When client request plays live, opened by the index file after renewal and from live point
At least three media slicing files for beginning forward are sent to client in real time, at least three media minute since live point forward
In piece file, sent by the way of block transmission coding away from a nearest media slicing file of live point.
On the basis of above-mentioned technical proposal, the original live source is HLS unicast live sources;The server includes the
One storage network element, the first storage network element is used for:
Head-end encoder obtains HLS unicast live sources, and dynamically index file is updated simultaneously in real time according to HLS unicasts live source
The some media slicing files of dynamic generation, by the index file after renewal and at least three media minute since live point forward
Piece file is recorded and is stored as local index file and local media slicing files, by local index file and local media
Slicing files are output as local HLS unicasts live source, and the total number of the local media slicing files >=described is opened from live point
The total number of at least three media slicing files for beginning forward;When client request plays live, by local index file and originally
Ground media slicing file is sent to client in real time, in local media slicing files, a nearest media slicing away from live point
File is sent by the way of block transmission coding.
On the basis of above-mentioned technical proposal, the original live source is UDP multicast live sources;The server includes the
Two conversion network elements and the second storage network element, wherein,
The second conversion network element is used for:Head-end encoder obtains UDP multicast live sources, according to UDP multicast live sources
Dynamic updates index file and dynamically generates some media slicing files in real time, is opened by the index file after renewal and from live point
At least three media slicing files for beginning forward are output as HLS unicast live sources;The second storage network element request records live
When, the index file after renewal and at least three media slicing files since live point forward are sent to the second storage net
Unit, is sent away from a nearest media slicing file of live point by the way of block transmission coding;
The second storage network element is used for:Record live to the second conversion network element request, the second conversion network element is sent
Index file and media slicing file are recorded and are stored as local index file and local media slicing files, described local
The total number of the total number of media slicing file >=at least three media slicing files since live point forward;To this
Ground index file and local media slicing files are sent to client in real time, nearest away from live point in local media slicing files
A media slicing file using block transmission coding by the way of send.
On the basis of above-mentioned technical proposal, a media slicing file nearest away from live point is generated
One media slicing file, in addition to away from a nearest media slicing file of live point, remaining media slicing that server sends
File is the media slicing file for having generated;The server is additionally operable to:The media slicing file for having generated is adopted
The mode encoded with non-block transmission sends.
The present invention provides a kind of method for realizing that low delay HLS is live for being applied to said system, comprises the following steps:
The head end encoder provides the original live source that dynamic updates;
The server head-end encoder obtains original live source, and index text is dynamically updated in real time according to original live source
Part simultaneously dynamically generates some media slicing files, by the index file after renewal and at least three matchmakers since live point forward
Body slicing files are output as HLS unicast live sources;Index file and at least three media slicing files after updating are sent in real time,
Sent by the way of block transmission coding away from a nearest media slicing file of live point;
Index file and media slicing file that the client parsing is received, and one of matchmaker is selected as needed
The optional position of body slicing files commences play out.
On the basis of above-mentioned technical proposal, the original live source is UDP UDP multicast live sources;Institute
State server and send the index file after updating and at least three media slicings since live point forward in real time to client
File, since at least three media slicing files live point forward, a nearest media slicing file away from live point
Sent by the way of block transmission coding.
On the basis of above-mentioned technical proposal, the original live source is HLS unicast live sources;The server head-end
Encoder obtains HLS unicast live sources, dynamically updates index file in real time according to HLS unicasts live source and dynamically generates some matchmakers
Body slicing files, the index file after renewal and at least three media slicing files since live point forward are recorded
And local index file and local media slicing files are stored as, local index file and local media slicing files are output as
Local HLS unicast live sources, the total number of the local media slicing files >=described since live point forward at least three
The total number of individual media slicing file;Send local index file and local media slicing files, local matchmaker in real time to client
In body slicing files, sent by the way of block transmission coding away from a nearest media slicing file of live point.
On the basis of above-mentioned technical proposal, the original live source is UDP multicast live sources;The server includes the
Two conversion network elements and the second storage network element, the second conversion network element head-end encoder obtain UDP multicast live sources, according to
UDP multicasts live source dynamically updates index file and dynamically generates some media slicing files in real time, by the index text after renewal
Part and at least three media slicing files since live point forward are output as HLS unicast live sources;The second storage net
When unit's request records live, second changes network element by the index file after renewal and at least three matchmakers since live point forward
Body slicing files are sent to the second storage network element, away from a nearest media slicing file of live point using block transmission coding
Mode sends;
The second storage network element records live to the second conversion network element request, the index text that the second conversion network element is sent
Part and media slicing file are recorded and are stored as local index file and local media slicing files, the local media point
The total number of the total number of piece file >=at least three media slicing files since live point forward;Give client reality
When send local index file and local media slicing files, in local media slicing files, a nearest matchmaker away from live point
Body slicing files are sent by the way of block transmission coding.
On the basis of above-mentioned technical proposal, a media slicing file nearest away from live point is generated
One media slicing file, in addition to away from a nearest media slicing file of live point, remaining media slicing that server sends
File is the media slicing file for having generated;The media slicing file for having generated is using non-block transmission coding
Mode sends.
Compared with prior art, advantages of the present invention is as follows:
(1) server in the present invention will be encoded away from a nearest media slicing file of live point using block transmission
The mode of (Chunked transfer encoding, chunked coding) is sent to client, away from nearest one of live point
Media slicing file is the media slicing file generated in server.The media slicing file that will generating carries out piecemeal
The mode for transmitting coding sends, and without being to wait for just being sent after media slicing file has all been generated, can add to greatest extent
Fast live newest media slicing file reaches the timeliness of client, the time delay of 2~5s of most multipotency reduction.
(2) present invention can take the media slicing file for having generated away from live point farther out non-chunked to encode
Mode send, so as to reduce the coding and decoding time.The present invention can make up the time delay defect high of traditional HLS live broadcast systems,
Time delay is reduced to greatest extent, makes HLS live closer to live point.
Brief description of the drawings
Fig. 1 is to realize the topology diagram of low delay HLS live broadcast systems in the embodiment of the present invention 3;
Fig. 2 is to realize the flow chart of low delay HLS live broadcasting methods in the embodiment of the present invention 3;
Fig. 3 be the embodiment of the present invention 3 in UDP multicasts switch to the live schematic diagram of HLS unicasts;
Fig. 4 is server recording and the live schematic diagrames of storage HLS in the embodiment of the present invention 3;
Fig. 5 is the live schematic diagram of client terminal playing HLS unicasts in the embodiment of the present invention 3.
Specific embodiment
Below in conjunction with the accompanying drawings and specific embodiment the present invention is described in further detail.In order to describe simplicity, this hair
In bright embodiment, the index file of m3u8 forms is referred to as m3u8 files, the main m3u8 files of m3u8 forms referred to as based on
M3u8 files, the subindex file of m3u8 forms is referred to as sub- m3u8 files;The media slicing file of ts forms is referred to as
Ts bursts;Block transmission coding is referred to as chunked codings.Alleged live point is referred to currently in the embodiment of the present invention
Time point corresponding to live picture.
Embodiment 1:
The present embodiment provides a kind of system for realizing that low delay HLS is live, the system include head end encoder, server and
Client, server includes the first conversion network element;
Head end encoder is used for:The UDP UDP multicast live sources that dynamic updates are provided;
First conversion network element is used to for UDP multicast live sources to be converted to HLS unicast live sources, and detailed process is:Head-end
Encoder obtains UDP multicast live sources, dynamically updates m3u8 files in real time according to UDP multicasts live source and dynamically generates some ts
Burst, retains and starts at least three ts bursts forward since live point, by the m3u8 files after renewal and since live putting to
At least three preceding ts bursts are output as exporting HLS unicast live sources;Client is live to the first conversion network element request HLS unicasts
During source, m3u8 files and at least three ts bursts since live point forward are sent to client in real time, wherein, away from live
A nearest ts burst for generating of point is sent by the way of chunked codings;Remaining generated at least two
Individual ts bursts can be sent using chunked codings or non-chunked coded systems;
Client is used for:To the first conversion network element request HLS unicast live sources, parsing m3u8 files and since live point
At least three ts bursts forward, and select the optional position of one of ts bursts to commence play out as needed.
The present embodiment provides a kind of method for realizing that low delay HLS is live for being applied to said system, comprises the following steps:
Head end encoder provides the UDP multicast live sources that dynamic updates, and the first conversion network element head-end encoder obtains UDP
Multicast live source, dynamically updates and m3u8 files and dynamically generates some ts bursts in real time according to UDP multicasts live source, and reservation is from straight
A beginning at least three ts burst forward is broadcast, by the m3u8 files after renewal and at least three ts since live point forward
Burst is output as exporting HLS unicast live sources;
, to the first conversion network element request HLS unicast live sources, the first conversion network element is by m3u8 files and from live for client
Point starts at least three ts bursts forward and is sent to client in real time, wherein, generated away from nearest one of live point
Ts bursts are sent by the way of chunked codings;At least two ts bursts that remaining has been generated can use chunked
Coding or non-chunked coded systems send;
Client parses m3u8 files and at least three ts bursts since live point forward, and selects it as needed
In the optional position of a ts burst commence play out.
Embodiment 2:
The present embodiment provides second and realizes the live systems of low delay HLS, and the system includes head end encoder, server
And client, server include first storage network element;
Head end encoder is used for:The HLS unicast live sources that dynamic updates are provided;
First storage network element is used for:Head-end encoder obtains HLS unicast live sources, is generated according to HLS unicasts live source
M3u8 files that dynamic updates simultaneously dynamically generate some ts bursts, by the index file after renewal and since live putting forward
At least three media slicing files are recorded and are stored as local m3u8 files and local ts bursts, by local m3u8 files and
Local ts bursts are output as local HLS unicasts live source;Client asks local HLS unicasts live source to the first storage network element
When, local m3u8 files and local ts bursts are sent to client in real time, the local ts bursts number of transmission >=from live point
Start at least three ts burst numbers forward;In local ts bursts, a nearest ts burst for generating away from live point
Sent by the way of chunked codings;The local ts bursts that remaining has been generated can be using chunked codings or non-
Chunked coded systems send;
Client is used for:Local HLS unicasts live source is asked to the first storage network element, local m3u8 files and local are parsed
Ts bursts, and select the optional position of one of ts bursts to commence play out as needed.
A kind of method for realizing that low delay HLS is live for being applied to above-mentioned second system of the present embodiment offer, including with
Lower step:
Head end encoder provides the HLS unicast live sources that dynamic updates;
First storage network element head-end encoder obtains HLS unicast live sources, according to HLS unicasts live source generation dynamic more
New m3u8 files simultaneously dynamically generate some ts bursts, by the index file after renewal and since live point forward at least three
Individual media slicing file is recorded and is stored as local m3u8 files and local ts bursts, by local m3u8 files and local ts
Burst is output as local HLS unicasts live source;When client asks local HLS unicasts live source to the first storage network element, incite somebody to action this
Ground m3u8 files and local ts bursts are sent to client in real time, and the local ts bursts number of transmission >=since live point is forward
At least three ts burst numbers;In local ts bursts, away from live point, a nearest ts burst for generating is used
The mode of chunked codings sends;The local ts bursts that remaining has been generated can be using chunked codings or non-
Chunked coded systems send;
Client parses local m3u8 files and local ts bursts, and selects any of one of ts bursts as needed
Position commences play out.
Embodiment 3:
Shown in Figure 1, the present embodiment provides the third and realizes the live systems of low delay HLS, and the system includes head end
Encoder, server and client side, server include the second conversion network element and the second storage network element, the second conversion network element and second
Storage network element is provided with chunked encoding functions, and client possesses chunked decoding functions;
Second conversion network element is used for:Head-end encoder obtains UDP multicast live sources, real-time according to UDP multicast live sources
Dynamic updates and m3u8 files and dynamically generates some ts bursts, by the m3u8 files after renewal and since live putting forward to
Few three ts bursts are output as HLS unicast live sources;When second storage network element request records live, by the m3u8 files after renewal
The second storage network element is sent to at least three ts bursts forward since live point, is given birth to away from nearest one of live point
Into ts bursts using chunked coding by the way of send;The ts bursts that remaining has been generated can be encoded using chunked
Or non-chunked coded systems send;
Second storage network element is used for:Record live to the second conversion network element request, the m3u8 that the second conversion network element is sent
File and ts bursts are recorded and are stored as local m3u8 files and local ts bursts, and the total number of local ts bursts >=from straight
Broadcast a total number for beginning at least three ts bursts forward;Local m3u8 files and local ts bursts are sent to client in real time
End, in local ts bursts, is sent away from a nearest ts burst for generating of live point by the way of chunked codings;
The local ts bursts that remaining has been generated can be sent using chunked codings or non-chunked coded systems;
Client is used for:Local HLS unicasts live source is asked to the first storage network element, local m3u8 files and local are parsed
Ts bursts, and select the optional position of one of ts bursts to commence play out as needed.
Second conversion network element, the second storage network element and client include a main m3u8 file and some ts bursts;It is main
When m3u8 files include multiple code checks, each main m3u8 file includes that the unification of the sub- m3u8 file equal with code check number is determined
Bit identifier url, every sub- m3u8 file includes the url of multiple ts bursts.
It is shown in Figure 2, the present embodiment provide it is a kind of be applied to above-mentioned the third system realize that low delay HLS is live
Method, comprises the following steps:
S1, head end encoder provide the UDP multicast live sources that dynamic updates;By taking two kinds of code checks as an example, head end encoder is carried
The multicast address of the UDP multicast live sources of confession is respectively:udp://224.11.11.10:12306 and udp://
224.11.11.11:12306;The former is the first code check multicast address, and the latter is the second code check multicast address;
S2, server include the second conversion network element and the second storage network element, and the second conversion network element head-end encoder is obtained
UDP multicast live sources, m3u8 files are dynamically updated according to UDP multicasts live source and some ts bursts are dynamically generated in real time, will more
M3u8 files after new and at least three ts bursts since live point forward are output as HLS unicast live sources, so as to realize
Conversion of the UDP multicasts live source to HLS unicast live sources;M3u8 files after renewal include main m3u8 files and two sub- m3u8
File;
The detailed process that UDP multicast live sources are transformed into HLS unicast live sources is shown in Figure 3, server 10:00 adds
Two UDP multicasts are live and receiving multicast data, generate a main m3u8 files main.m3u8 and corresponding sub- m3u8 files
1.m3u8 and 2.m3u8;Then multicast packet is cut into slices in units of 10s, the second conversion network element internal memory only retains to include works as
Newest three ts bursts 1_1.ts, 1_2.ts, 1_3.ts and 2_1.ts of preceding ts bursts, wherein 2_2.ts, 2_3.ts, 1_3.ts
It is the ts bursts that are currently generating with 2_3.ts, that is, a ts burst nearest apart from live point;Sub- m3u8 files
In 1.m3u8 include tri- url of ts bursts of 1_1.ts, 1_2.ts, 1_3.ts, in sub- m3u8 files 2.m3u8 comprising 2_1.ts,
Tri- url of ts bursts of 2_2.ts, 2_3.ts.
Server second change network element by UDP multicasts it is live be converted to HLS unicasts it is live after main m3u8 files url be
http://172.16.0.129:9001/main.m3u8, corresponding two sub- m3u8 files url are respectively:http://
172.16.0.191:9001/1.m3u8;And http://172.16.0.191:9002/2.m3u8, specific example is as follows:
Main m3u8 file examples are as follows:
GET/main.m3u8HTTP/1.1
Range:Bytes=0-
User-Agent:CDN/1.0
Via:172.16.0.161
Host:172.16.0.129:9001
Connection:close
HTTP/1.1 200OK
Content-Type:application/vnd.apple.mpegurl
Content-Length:174
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=706428
http://172.16.0.129:9001/1.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=2166662
http://172.16.0.129:9001/2.m3u8
The example of the sub- m3u8 files of entitled 1.m3u8 is as follows:
GET/1.m3u8HTTP/1.1
Range:Bytes=0-
User-Agent:CDN/1.0
Via:172.16.0.161
Host:172.16.0.129:9001
Connection:Keep-Alive
HTTP/1.1 200OK
Content-Type:application/vnd.apple.mpegurl
Content-Length:381
#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:5507313
#EXT-X-PROGRAM-DATE-TIME:2016-09-29T02:06:15Z
#EXTINF:10,
http://172.16.0.130:9001/1_5507313.ts
#EXT-X-PROGRAM-DATE-TIME:2016-09-29T02:06:25Z
#EXTINF:10,
http://172.16.0.129:9001/1_5507314.ts
#EXT-X-PROGRAM-DATE-TIME:2016-09-29T02:06:35Z
#EXTINF:10,
http://172.16.0.130:9001/1_5507315.ts
The example of the sub- m3u8 files of entitled 2.m3u8 is as follows:
GET/2.m3u8HTTP/1.1
Range:Bytes=0-
User-Agent:CDN/1.0
Via:172.16.0.161
Host:172.16.0.129:9001
Connection:Keep-Alive
HTTP/1.1 200OK
Content-Type:application/vnd.apple.mpegurl
Content-Length:381
#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:5507315
#EXT-X-PROGRAM-DATE-TIME:2016-09-29T02:06:25Z
#EXTINF:10,
http://172.16.0.130:9001/2_5507315.ts
#EXT-X-PROGRAM-DATE-TIME:2016-09-29T02:06:35Z
#EXTINF:10,
http://172.16.0.129:9001/2_5507316.ts
#EXT-X-PROGRAM-DATE-TIME:2016-09-29T02:06:45Z
#EXTINF:10,
http://172.16.0.130:9001/2_5507317.ts
When second storage network element request records live, the second conversion network element is opened by the m3u8 files after renewal and from live point
At least three ts bursts for beginning forward are sent to the second storage network element, and away from live point, a nearest ts burst uses chunked
The mode of coding sends;
The m3u8 files and ts bursts that S3, the second storage network element send the second conversion network element are recorded and are stored as this
Ground m3u8 files and local ts bursts, at least three ts bursts of the total number of local ts bursts >=since live point forward
Total number;
Shown in Figure 4, the storage network element of server second is received and stores the mistake of m3u8 files and ts bursts after conversion
Cheng Wei:Second storage network element to be received and generate itself corresponding m3u8 file after the data of the second conversion network element and storage is local,
Coded system according to the second conversion network element is decoded to data and is stored as local m3u8 files and local ts bursts;Locally
M3u8 files include main m3u8 files and two sub- m3u8 files;
The main m3u8 files and sub- m3u8 file examples of the storage network element storage of server second are as follows:
Main m3u8 file examples are as follows:
GET/fonsview_hls/hls_001FvSeid=54e014f36b515f46&Fsv_filetype=0&
Fsv_ctype=LIVES&Fsv_cid=1003
&Fsv_chan_hls_se_idx=0&Fsv_TBt=2874144&Fsv_ShiftEnable=1 &Fsv_
ShiftTsp=1&Fsv_SV_PARAM1=0&Fsv_otype=0
&Provider_id=fonsview_hls&Pcontent_id=hls_001HTTP/1.1
Host:172.16.0.161:8114
User-Agent:VLC/2.2.4LibVLC/2.2.4
Range:Bytes=0-
Connection:close
Icy-MetaData:1
HTTP/1.1 200OK
Server:FonsView SS/1.0
Date:Thu,29Sep 2016 02:07:53GMT
Content-Type:application/vnd.apple.mpegurl
Cache-Control:no-cache
Pragma:no-cache
Accept-Ranges:bytes
Content-Length:628
Content-Range:bytes 0-627/628
Connection:close
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1003, BANDWIDTH=2167715
http://172.16.0.161:8114/fonsview_hls/hls_001FvSeid=
54e014f36b515f46&Fsv_filetype=1&Fsv_ctype=LIVES
&Fsv_cid=1003&Fsv_chan_hls_se_idx=0&Fsv_rate_id=0&Fsv_SV _ PARAM1=
0&Fsv_ShiftEnable=1&Fsv_ShiftTsp=1&
Provider_id=fonsview_hls&Pcontent_id=hls_001&Fsv_otype=0
#EXT-X-STREAM-INF:PROGRAM-ID=1003, BANDWIDTH=706428
http://172.16.0.161:8114/fonsview_hls/hls_001FvSeid=
54e014f36b515f46&Fsv_filetype=1&Fsv_ctype=LIVES
&Fsv_cid=1003&Fsv_chan_hls_se_idx=0&Fsv_rate_id=1&Fsv_SV _ PARAM1=
0&Fsv_ShiftEnable=1&Fsv_ShiftTsp=1
&Provider_id=fonsview_hls&Pcontent_id=hls_001&Fsv_otype=0
The corresponding sub- m3u8 file examples comprising last three ts bursts url of wherein the first code check are as follows:
GET/fonsview_hls/hls_001FvSeid=54e014f36b515f46&Fsv_filetype=1&
Fsv_ctype=LIVES&Fsv_cid=1003
&Fsv_chan_hls_se_idx=0&Fsv_rate_id=0&Fsv_SV_PARAM1=0&Fsv _
ShiftEnable=1&Fsv_ShiftTsp=1
&Provider_id=fonsview_hls&Pcontent_id=hls_001&Fsv_otype=0HTTP/1.1
Host:172.16.0.161:8114
User-Agent:VLC/2.2.4LibVLC/2.2.4
Range:Bytes=0-
Connection:close
Icy-MetaData:1
HTTP/1.1 200 OK
Server:FonsView SS/1.0
Date:Thu,29 Sep 2016 02:07:53 GMT
Content-Type:application/vnd.apple.mpegurl
Cache-Control:no-cache
Pragma:no-cache
Accept-Ranges:bytes
Content-Length:2976
Content-Range:bytes 0-2975/2976
Connection:close
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:5507304
#EXT-X-PROGRAM-DATE-TIME:2016-09-29T02:06:15Z
#EXTINF:10,883036
http://172.16.0.161:8114/LIVES/1475114775_0010000028_0000000005.ts
FvSeid=54e014f36b515f46
&Fsv_filetype=2&Provider_id=fonsview_hls&Pcontent_id=hls _ 001&Fsv_
Sd=10&Fsv_otype=0
#EXT-X-PROGRAM-DATE-TIME:2016-09-29T02:06:25Z
#EXTINF:10,883036
http://172.16.0.161:8114/LIVES/1475114785_0010000028_0000000006.ts
FvSeid=54e014f36b515f46
&Fsv_filetype=2&Provider_id=fonsview_hls&Pcontent_id=hls _ 001&Fsv_
Sd=10&Fsv_otype=0
#EXT-X-PROGRAM-DATE-TIME:2016-09-29T02:06:35Z
#EXTINF:10,881720
http://172.16.0.161:8114/LIVES/1475114795_0010000028_0000000007.ts
FvSeid=54e014f36b515f46
&Fsv_filetype=2&Provider_id=fonsview_hls&Pcontent_id=hls _ 001&Fsv_
Sd=10&Fsv_otype=0
Second storage network element sends local m3u8 files and local ts bursts to client in real time, in local ts bursts, away from
A nearest ts burst of live point is sent by the way of chunked codings;
S4, client parsing local m3u8 files and local ts bursts, and one of ts bursts are selected as needed
Optional position commences play out, and detailed process is as follows:
As shown in figure 5, user end to server is sent out live request, the second storage network element will the current newest several ts for recording
Burst is sent to client, and the number of newest several ts bursts can be 12 herein;
Second storage network element selects different coded systems to send media information to visitor according to the recording situation of current slice
Family end:Ts burst 1475114785_0000000028_0000000007.ts data for recording carry out chunked volumes
Code simultaneously sends data to client, and other ts bursts can be sent using chunked codings or non-chunked coded systems;
Client parses local m3u8 files and local ts bursts, and the optional position of one of ts bursts is selected according to network condition
Commence play out.
Those skilled in the art can carry out various modifications and variations to the embodiment of the present invention, if these modifications and change
Within the scope of the claims in the present invention and its equivalent technologies, then these modifications and modification are also in protection scope of the present invention for type
Within.
In the prior art that the content not described in detail in specification is known to the skilled person.
Claims (10)
1. a kind of system for realizing that low delay HLS is live, the system includes head end encoder, server and client side, its feature
It is:
The head end encoder is used for:The original live source that dynamic updates is provided;
The server is used for:Head-end encoder obtains original live source, and index is dynamically updated in real time according to original live source
File simultaneously dynamically generates some media slicing files, by the index file after renewal and since it is live point forward at least three
Media slicing file is output as HLS unicast live sources;Index file and at least three the media slicings text after updating are sent in real time
Part, is sent away from a nearest media slicing file of live point by the way of block transmission coding;
The client is used for:Index file and media slicing file that parsing is received, and one of them is selected as needed
The optional position of media slicing file commences play out.
2. the live systems of low delay HLS are realized as claimed in claim 1, it is characterised in that:The original live source is use
User data datagram protocol UDP multicast live sources;The server includes the first conversion network element, and the first conversion network element is used for:
Head-end encoder obtains UDP multicast live sources, dynamically updates index file in real time according to UDP multicasts live source simultaneously dynamic
Some media slicing files are generated, by the index file after renewal and at least three media slicings text since live point forward
Part is output as HLS unicast live sources;Client request play it is live when, by the index file after renewal and since it is live point to
At least three preceding media slicing files are sent to client in real time, at least three media slicings text since live point forward
In part, sent by the way of block transmission coding away from a nearest media slicing file of live point.
3. the live systems of low delay HLS are realized as claimed in claim 1, it is characterised in that:The original live source is HLS
Unicast live source;The server includes the first storage network element, and the first storage network element is used for:
Head-end encoder obtains HLS unicast live sources, dynamically updates index file in real time according to HLS unicasts live source simultaneously dynamic
Some media slicing files are generated, by the index file after renewal and at least three media slicings text since live point forward
Part is recorded and is stored as local index file and local media slicing files, by local index file and local media burst
File is output as local HLS unicasts live source, the total number of the local media slicing files >=described since live point to
The total number of at least three preceding media slicing files;When client request plays live, by local index file and local matchmaker
Body slicing files are sent to client in real time, in local media slicing files, a nearest media slicing file away from live point
Sent by the way of block transmission coding.
4. the live systems of low delay HLS are realized as claimed in claim 1, it is characterised in that:The original live source is UDP
Multicast live source;The server includes the second conversion network element and the second storage network element, wherein,
The second conversion network element is used for:Head-end encoder obtains UDP multicast live sources, real-time according to UDP multicast live sources
Dynamic updates and index file and dynamically generates some media slicing files, by the index file after renewal and since live putting to
At least three preceding media slicing files are output as HLS unicast live sources;When the second storage network element request records live, will
Index file after renewal and at least three media slicing files since live point forward are sent to the second storage network element, away from
A nearest media slicing file of live point is sent by the way of block transmission coding;
The second storage network element is used for:Record live to the second conversion network element request, the index that the second conversion network element is sent
File and media slicing file are recorded and are stored as local index file and local media slicing files, the local media
The total number of the total number of slicing files >=at least three media slicing files since live point forward;By local rope
Quotation part and local media slicing files are sent to client in real time, in local media slicing files, away from live point it is nearest one
Individual media slicing file is sent by the way of block transmission coding.
5. the live systems of low delay HLS are realized as claimed in claim 1, it is characterised in that:It is described nearest away from live point
One media slicing file is the media slicing file for generating, except a media slicing file nearest away from live point
Outward, remaining media slicing file that server sends is the media slicing file for having generated;The server is additionally operable to:Institute
The media slicing file for having generated is stated to be sent by the way of non-block transmission coding.
6. a kind of method for realizing that low delay HLS is live for being applied to system as claimed in claim 1, it is characterised in that including
Following steps:
The head end encoder provides the original live source that dynamic updates;
The server head-end encoder obtains original live source, and dynamically index file is updated simultaneously in real time according to original live source
The some media slicing files of dynamic generation, by the index file after renewal and at least three media minute since live point forward
Piece file is output as HLS unicast live sources;Index file and at least three media slicing files after updating are sent in real time, away from straight
An a little nearest media slicing file is broadcast to be sent by the way of block transmission coding;
Index file and media slicing file that the client parsing is received, and one of media point are selected as needed
The optional position of piece file commences play out.
7. the live methods of low delay HLS are realized as claimed in claim 6, it is characterised in that:The original live source is use
User data datagram protocol UDP multicast live sources;The server sends the index file after updating to client and from live in real time
Point starts at least three media slicing files forward, since at least three media slicing files live point forward, away from
A nearest media slicing file of live point is sent by the way of block transmission coding.
8. the live methods of low delay HLS are realized as claimed in claim 6, it is characterised in that:The original live source is HLS
Unicast live source;The server head-end encoder obtains HLS unicast live sources, dynamic in real time according to HLS unicasts live source
Update and index file and dynamically generate some media slicing files, by the index file after renewal and since live the putting forward
At least three media slicing files are recorded and are stored as local index file and local media slicing files, by local index
File and local media slicing files are output as local HLS unicasts live source, and the total number of the local media slicing files >=
The total number of at least three media slicing files since live point forward;Send local index text in real time to client
Part and local media slicing files, in local media slicing files, the nearest media slicing file use minute away from live point
The mode of block transmission coding sends.
9. the live methods of low delay HLS are realized as claimed in claim 6, it is characterised in that:The original live source is UDP
Multicast live source;The server includes the second conversion network element and the second storage network element, and the second conversion network element head-end is compiled
Code device obtains UDP multicast live sources, dynamically updates index file in real time according to UDP multicasts live source and dynamically generates some media
Slicing files, HLS is output as by the index file after renewal and at least three media slicing files since live point forward
Unicast live source;It is described second storage network element request record it is live when, second conversion network element by the index file after renewal and from
At least three media slicing files that live point starts forward are sent to the second storage network element, a nearest media away from live point
Slicing files are sent by the way of block transmission coding;
It is described second storage network element to second conversion network element request record it is live, by second conversion network element send index file and
Media slicing file is recorded and is stored as local index file and local media slicing files, the local media burst text
The total number of the total number of part >=at least three media slicing files since live point forward;Sent out in real time to client
Local index file and local media slicing files are sent, in local media slicing files, a nearest media minute away from live point
Piece file is sent by the way of block transmission coding.
10. the live methods of low delay HLS are realized as claimed in claim 6, it is characterised in that:It is described nearest away from live point
One media slicing file is the media slicing file for generating, except a media slicing file nearest away from live point
Outward, remaining media slicing file that server sends is the media slicing file for having generated;The media for having generated
Slicing files are sent by the way of non-block transmission coding.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611143468.1A CN106790005B (en) | 2016-12-13 | 2016-12-13 | Realize the system and method for low delay HLS live streaming |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611143468.1A CN106790005B (en) | 2016-12-13 | 2016-12-13 | Realize the system and method for low delay HLS live streaming |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106790005A true CN106790005A (en) | 2017-05-31 |
CN106790005B CN106790005B (en) | 2019-09-17 |
Family
ID=58880579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611143468.1A Active CN106790005B (en) | 2016-12-13 | 2016-12-13 | Realize the system and method for low delay HLS live streaming |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106790005B (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107135400A (en) * | 2017-06-12 | 2017-09-05 | 上海高顿教育培训有限公司 | A kind of method for reducing network direct broadcasting delay |
CN108540868A (en) * | 2018-05-16 | 2018-09-14 | 北京百度网讯科技有限公司 | Processing method, device, server, terminal and the storage medium of HLS live streamings |
CN109151614A (en) * | 2017-06-19 | 2019-01-04 | 中兴通讯股份有限公司 | A kind of method and device reducing the delay of HLS live play |
CN110324727A (en) * | 2019-07-16 | 2019-10-11 | 浙江大华技术股份有限公司 | Computer readable storage medium, server and its method for responding playing request |
WO2021135053A1 (en) * | 2020-01-02 | 2021-07-08 | 山东云缦智能科技有限公司 | Method for realizing automatic main-standby switching of cmaf live broadcast source |
US11622164B2 (en) | 2019-07-12 | 2023-04-04 | Carrier Corporation | System and method for streaming video/s |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102232298A (en) * | 2011-04-07 | 2011-11-02 | 华为技术有限公司 | Method, device and system for transmitting and processing media content |
CN102801690A (en) * | 2011-05-25 | 2012-11-28 | 华为技术有限公司 | Stream media processing method, distribution server, client and system |
CN103686202A (en) * | 2012-09-18 | 2014-03-26 | 中兴通讯股份有限公司 | Real-time transcoding transmitting method and system based on HTTP (Hyper Text Transport Protocol) under DLNA (Digital Living Network Alliance) |
-
2016
- 2016-12-13 CN CN201611143468.1A patent/CN106790005B/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102232298A (en) * | 2011-04-07 | 2011-11-02 | 华为技术有限公司 | Method, device and system for transmitting and processing media content |
CN102801690A (en) * | 2011-05-25 | 2012-11-28 | 华为技术有限公司 | Stream media processing method, distribution server, client and system |
CN103686202A (en) * | 2012-09-18 | 2014-03-26 | 中兴通讯股份有限公司 | Real-time transcoding transmitting method and system based on HTTP (Hyper Text Transport Protocol) under DLNA (Digital Living Network Alliance) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107135400A (en) * | 2017-06-12 | 2017-09-05 | 上海高顿教育培训有限公司 | A kind of method for reducing network direct broadcasting delay |
CN109151614A (en) * | 2017-06-19 | 2019-01-04 | 中兴通讯股份有限公司 | A kind of method and device reducing the delay of HLS live play |
CN108540868A (en) * | 2018-05-16 | 2018-09-14 | 北京百度网讯科技有限公司 | Processing method, device, server, terminal and the storage medium of HLS live streamings |
CN108540868B (en) * | 2018-05-16 | 2019-04-16 | 北京百度网讯科技有限公司 | Processing method, device, server, terminal and the storage medium of HLS live streaming |
US11622164B2 (en) | 2019-07-12 | 2023-04-04 | Carrier Corporation | System and method for streaming video/s |
CN110324727A (en) * | 2019-07-16 | 2019-10-11 | 浙江大华技术股份有限公司 | Computer readable storage medium, server and its method for responding playing request |
US11849157B2 (en) | 2019-07-16 | 2023-12-19 | Zhejiang Dahua Technology Co., Ltd. | Systems and methods for live streaming |
WO2021135053A1 (en) * | 2020-01-02 | 2021-07-08 | 山东云缦智能科技有限公司 | Method for realizing automatic main-standby switching of cmaf live broadcast source |
Also Published As
Publication number | Publication date |
---|---|
CN106790005B (en) | 2019-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106790005B (en) | Realize the system and method for low delay HLS live streaming | |
CN107743703B (en) | Method, apparatus and computer-readable storage medium for media data transmission | |
EP3311586B1 (en) | Signaling cached segments for broadcast | |
JP6612249B2 (en) | Targeted ad insertion for streaming media data | |
EP1897326B1 (en) | Transport mechanisms for dynamic rich media scenes | |
CN103518351B (en) | Use the IP broadcast streaming services distribution of file delivery method | |
KR100857187B1 (en) | Conveying parameters for broadcast/multicast sessions via a communication protocol | |
CN106233735B (en) | Method for managing multicast video transmission | |
US20160337424A1 (en) | Transferring media data using a websocket subprotocol | |
KR20160106618A (en) | Content delivery | |
CN104737518B (en) | The system and method for indicating and transmitting for data | |
CN107948762B (en) | Live video transmission method, device and system | |
Walker et al. | ROUTE/DASH IP streaming-based system for delivery of broadcast, broadband, and hybrid services | |
CN104040993A (en) | Method for sending respectively receiving media stream | |
WO2013078620A1 (en) | Method, device and system for delivering live telecast content | |
TW201828709A (en) | Detecting and signaling new initialization segments during manifest-file-free media streaming | |
Kumar et al. | QoE evaluation for video streaming over eMBMS | |
KR20160138044A (en) | Targeted advertisement insertion for streaming media data | |
WO2016209727A1 (en) | Reporting media consumption based on service area | |
US8811478B2 (en) | Data transmission method and apparatus | |
WO2015109842A1 (en) | Method for processing segmented programs, server and client device | |
US20210306703A1 (en) | Determination of availability of chunks of data for network streaming media data | |
WO2016090912A1 (en) | Method, device, terminal and system for generating and playing live video | |
US11582125B2 (en) | Repair mechanism for adaptive bit rate multicast |
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 |