FMUSER Wirless Transmit Video And Audio More Easier !
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org ->Afrikaans
sq.fmuser.org ->Albanian
ar.fmuser.org ->Arabic
hy.fmuser.org ->Armenian
az.fmuser.org ->Azerbaijani
eu.fmuser.org ->Basque
be.fmuser.org ->Belarusian
bg.fmuser.org ->Bulgarian
ca.fmuser.org ->Catalan
zh-CN.fmuser.org ->Chinese (Simplified)
zh-TW.fmuser.org ->Chinese (Traditional)
hr.fmuser.org ->Croatian
cs.fmuser.org ->Czech
da.fmuser.org ->Danish
nl.fmuser.org ->Dutch
et.fmuser.org ->Estonian
tl.fmuser.org ->Filipino
fi.fmuser.org ->Finnish
fr.fmuser.org ->French
gl.fmuser.org ->Galician
ka.fmuser.org ->Georgian
de.fmuser.org ->German
el.fmuser.org ->Greek
ht.fmuser.org ->Haitian Creole
iw.fmuser.org ->Hebrew
hi.fmuser.org ->Hindi
hu.fmuser.org ->Hungarian
is.fmuser.org ->Icelandic
id.fmuser.org ->Indonesian
ga.fmuser.org ->Irish
it.fmuser.org ->Italian
ja.fmuser.org ->Japanese
ko.fmuser.org ->Korean
lv.fmuser.org ->Latvian
lt.fmuser.org ->Lithuanian
mk.fmuser.org ->Macedonian
ms.fmuser.org ->Malay
mt.fmuser.org ->Maltese
no.fmuser.org ->Norwegian
fa.fmuser.org ->Persian
pl.fmuser.org ->Polish
pt.fmuser.org ->Portuguese
ro.fmuser.org ->Romanian
ru.fmuser.org ->Russian
sr.fmuser.org ->Serbian
sk.fmuser.org ->Slovak
sl.fmuser.org ->Slovenian
es.fmuser.org ->Spanish
sw.fmuser.org ->Swahili
sv.fmuser.org ->Swedish
th.fmuser.org ->Thai
tr.fmuser.org ->Turkish
uk.fmuser.org ->Ukrainian
ur.fmuser.org ->Urdu
vi.fmuser.org ->Vietnamese
cy.fmuser.org ->Welsh
yi.fmuser.org ->Yiddish
0 HLS background and original intention
HLS is a streaming media network transport protocol initiated by apple. Please refer to rfc8261 HTTP live streaming. Its working principle is to divide the whole stream into small HTTP based files to download, and only download some files each time. When the media stream is playing, the client can choose to download the same resources from many different backup sources at different rates, allowing the streaming session to adapt to different data rates. When starting a streaming media session, the client will download an extended M3U (m3u8) player file containing metadata to search for available media streams.
HLS only requests basic HTTP packets. Unlike RTP, HLS can pass through any firewall or proxy server that allows HTTP data to pass through. It is also easy to use content distribution networks to transport media streams.
There are a lot of information about HLS on the Internet. This paper mainly arranges the basic knowledge of HLS streaming media protocol according to my understanding.
0.1 HLS protocol format requirements
Packaging format of video
Save the m3u8 file of TS index
Video coding format: H264 (as long as mpeg-ts supports it, it's basically OK, but some formats are not free; audio is similar)
Audio coding format: AAC, MP3, AC-3
0.2 HLS advantage
Using standard HTTP to transmit data has better network penetration and shielding resistance, and is easier for content distribution network transmission.
HLS protocol itself supports rate adaptation, and the client can switch to the appropriate rate according to the actual network conditions.
HLS content publishing service is simpler, requires less system equipment, and is easier to achieve load balancing. HLS is a stateless HTTP protocol, and clients only need to download it.
0.3 HLS disadvantage
The delay is large, especially in the case of live broadcast, it is difficult to achieve a delay of less than 10 seconds (do not exclude all kinds of improved versions and algorithms on the Internet).
Content generation requires high performance of the encoder.
1 HLS system and basic architecture
HLS supports live or on-demand, encryption and authentication. Conceptually, HTTP usually includes three parts: server, publisher and client.
1.1 HLS server
The server is mainly responsible for encoding and encapsulating the input media data, and slicing the encapsulated files to meet the requirements of the publisher. Its output can be audio and video raw data, encoded data, or encapsulated TS data. This input will eventually be sliced into the format required by the publisher through the slicing tool. There are three parts involved
Media encoder.
Multimedia encoder mainly encodes and encapsulates the real-time signals collected from audio and video devices. In coding, the client supported format must be selected, such as H264 video + aac audio. At present, the encapsulation format supported by HLS is mpeg-ts or mpeg-es, which only supports pure audio. After encoding, the encoder can transfer the encapsulated format to the segmentation tool through local network or other mechanisms.
Segmentation tool
According to different input sources, it is usually divided into stream splitter and file splitter.
As the name suggests, the main difference between them lies in the input file format: the output of the stream splitter is the mpeg-ts stream trickled in from the local network, while the file splitter processes the encapsulated TS file. Their working principle is similar: mpeg-ts is divided into a series of equal length media files, but these small pieces can be reconstructed seamlessly, and the audio and video are continuous when playing.
The slicing tool also creates an index file (. M3u8) that contains index information pointing to individual media files. Whenever the splitter completes a new media file, it updates the index file. The index is used to record the location and accessibility of media files. In this process, the sharding tool can encrypt each shard and create a key file for it.
The format of. M3u8 is described in detail below.
1.2 HLS distribution terminal
HLS distributor is relatively simple, as long as the standard network server is used. They are responsible for receiving client requests and sending the processed multimedia files and resources to the client. If the concurrency is large, edge network or other content distribution network may be needed.
The distribution system is a web server or web caching system, which can send media files and index files to clients through HTTP. In most cases, there is no need to configure additional servers and modules before distributing content, and only a little configuration is needed to work normally on the web server. For detailed configuration, please refer to deploying HTTP live streaming.
1.3 HLS client
The client is responsible for selecting the appropriate request resources, downloader resources, and then decoding the display (the whole function of the player).
The client usually uses the given URL to identify the information of the stream, starting from getting the index file. This index file generally gives the location of available media files, decryption keys, and other optional streams. After the client selects the stream, it begins to download each available media file in sequence. Each file contains a continuous slice of a specific stream. As long as the client downloads enough data, it can begin to decode the data and display it.
If necessary, the client is responsible for reading all decryption keys, authentication or providing the user with an interface for authentication or decryption.
The client can continue this process until it encounters the # ext-x-endlist tag in the index file. If the tag does not exist, it means that the index file is a live source, and the client needs to update the index file regularly to repeat the above process.
In the more common HLS system, the hard encoder is used to encode the input audio as AAC and the input video as h264, and the two are reused in mpeg-ts, and then it is divided into a series of small TS files by using the slicing tool; these files can be put on the web server. The slicing tool also creates and maintains an index file (called. M3u8 in HLS), which contains a list of available media files. The URL of the index file is published on the web server. The client can read the index file, and then request the listed media files in order. These pieces can be played seamlessly. A typical system configuration is as follows:
|
Enter email to get a surprise
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org ->Afrikaans
sq.fmuser.org ->Albanian
ar.fmuser.org ->Arabic
hy.fmuser.org ->Armenian
az.fmuser.org ->Azerbaijani
eu.fmuser.org ->Basque
be.fmuser.org ->Belarusian
bg.fmuser.org ->Bulgarian
ca.fmuser.org ->Catalan
zh-CN.fmuser.org ->Chinese (Simplified)
zh-TW.fmuser.org ->Chinese (Traditional)
hr.fmuser.org ->Croatian
cs.fmuser.org ->Czech
da.fmuser.org ->Danish
nl.fmuser.org ->Dutch
et.fmuser.org ->Estonian
tl.fmuser.org ->Filipino
fi.fmuser.org ->Finnish
fr.fmuser.org ->French
gl.fmuser.org ->Galician
ka.fmuser.org ->Georgian
de.fmuser.org ->German
el.fmuser.org ->Greek
ht.fmuser.org ->Haitian Creole
iw.fmuser.org ->Hebrew
hi.fmuser.org ->Hindi
hu.fmuser.org ->Hungarian
is.fmuser.org ->Icelandic
id.fmuser.org ->Indonesian
ga.fmuser.org ->Irish
it.fmuser.org ->Italian
ja.fmuser.org ->Japanese
ko.fmuser.org ->Korean
lv.fmuser.org ->Latvian
lt.fmuser.org ->Lithuanian
mk.fmuser.org ->Macedonian
ms.fmuser.org ->Malay
mt.fmuser.org ->Maltese
no.fmuser.org ->Norwegian
fa.fmuser.org ->Persian
pl.fmuser.org ->Polish
pt.fmuser.org ->Portuguese
ro.fmuser.org ->Romanian
ru.fmuser.org ->Russian
sr.fmuser.org ->Serbian
sk.fmuser.org ->Slovak
sl.fmuser.org ->Slovenian
es.fmuser.org ->Spanish
sw.fmuser.org ->Swahili
sv.fmuser.org ->Swedish
th.fmuser.org ->Thai
tr.fmuser.org ->Turkish
uk.fmuser.org ->Ukrainian
ur.fmuser.org ->Urdu
vi.fmuser.org ->Vietnamese
cy.fmuser.org ->Welsh
yi.fmuser.org ->Yiddish
FMUSER Wirless Transmit Video And Audio More Easier !
Contact
Address:
No.305 Room HuiLan Building No.273 Huanpu Road Guangzhou China 510620
Categories
Newsletter