Ang FMUSER Wirless ay Naghahatid ng Video At Audio Nang Mas Madali!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> Albanian
ar.fmuser.org -> Arabe
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 -> Intsik (Pinasimple)
zh-TW.fmuser.org -> Intsik (Tradisyunal)
hr.fmuser.org -> Croatian
cs.fmuser.org -> Czech
da.fmuser.org -> Danish
nl.fmuser.org -> Dutch
et.fmuser.org -> Estonian
tl.fmuser.org -> Pilipino
fi.fmuser.org -> Finnish
fr.fmuser.org -> Pranses
gl.fmuser.org -> Galician
ka.fmuser.org -> Georgian
de.fmuser.org -> Aleman
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 -> Koreano
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 -> Portuges
ro.fmuser.org -> Romanian
ru.fmuser.org -> Ruso
sr.fmuser.org -> Serbiano
sk.fmuser.org -> Slovak
sl.fmuser.org -> Slovenian
es.fmuser.org -> Espanyol
sw.fmuser.org -> Swahili
sv.fmuser.org -> Suweko
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
Ang HLS at Http Live Streaming ay mga protokol para sa real-time streaming na tinukoy ng Apple. Ang HLS ay ipinatupad batay sa HTTP protocol. Ang nilalaman ng paghahatid ay may kasamang dalawang bahagi, ang isa ay ang M3U8 file ng paglalarawan, at ang isa pa ay ang TS media file.
1. M3U8 file
Ang file ng media ay inilarawan sa teksto, na binubuo ng isang serye ng mga tag.
#EXTM3U
# EXT-X-TARGETDURATION: 5
#EXTINF: 5,
./0.ts
#EXTINF: 5,
./1.ts
# EXTM3U: Ang unang linya ng bawat file na M3U8 ay dapat ang tag na ito.
# EXT-X-TARGETDURATION: Tukuyin ang maximum na haba ng haba ng segment ng media (segundo). Ang haba ng oras na tinukoy sa #EXTINF ay dapat na mas mababa sa o katumbas ng maximum na halagang ito. Ang halagang ito ay maaari lamang lumitaw nang isang beses.
#EXTINF: Ilarawan ang haba ng isang solong file ng media. Sumusunod ang mga file ng media, tulad ng ./0.ts
Maaari itong ipamahagi ng HTTP sa iOS device at mac. Ang pamantayan ng playlist ay ang m3u8 file na pinalawig ng m3u, at ang file ng media ay MPEG2-TS o AAC file (audio lamang).
Mayroong dalawang mga sitwasyon sa aplikasyon para sa m3u8 file:
Multi-rate na pagbagay ng stream,
#EXTM3U
# EXT-X-STREAM-INF: PROGRAM-ID = 1, BANDWIDTH = 1280000
# EXT-X-STREAM-INF: PROGRAM-ID = 1, BANDWIDTH = 2560000
# EXT-X-STREAM-INF: PROGRAM-ID = 1, BANDWIDTH = 7680000
# EXT-X-STREAM-INF: PROGRAM-ID = 1, BANDWIDTH = 65000, CODECS = "mp4a.40.5"
http://example.com/audio-only.m3u8
Single stream ng pagbagay sa rate
#EXTM3U
# EXT-X-TARGETDURATION: 5220
#EXTINF: 5220,
http://media.example.com/entire.ts
# EXT-X-ENDLIST
Tinutukoy ng International Standards Organization ang rfc doc na ito:
http://tools.ietf.org/html/draft-pantos-http-live-streaming-06
Ang m3u8 file ay isang extension ng m3u file. Ang mga pinalawak na keyword ay tinukoy sa rfc:
sa kanila:
# EXT-X-TARGETDURATION
Tukuyin ang maximum na tagal ng bawat TS.
# EXT-X-MEDIA-Sequence
Tukuyin ang serial number ng unang file sa kasalukuyang file na m3u8. Ang bawat ts file ay may isang nakapirming at natatanging serial number sa m3u8 file. Ginagamit ang serial number upang ilipat ang rate ng code para sa pagkakahanay sa panahon ng MBR.
# EXT-X-KEY
Tukuyin ang paraan ng pag-encrypt at ang url ng key file, ginamit upang makuha ang 16bytes key file upang ma-decode ang ts file.
Katangian:
Pamamaraan
URL
# EXT-X-PROGRAM-DATE-TIME
Ganap na oras ng unang file
# EXT-X-Payagan-Cache
Papayagan ba ang cache.
# EXT-X-ENDLIST
Isinasaad ang pagtatapos ng m3u8 file. Walang tag na ito ang live m3u8.
# EXT-X-STREAM-INF
Katangian:
Tinutukoy ng BANDWIDTH ang rate ng bit
Natatanging ID ng PROGRAM-ID
Tinutukoy ng CODECS ang uri ng pag-encode ng stream
# EXT-X-DISCONTINUITY
Kapag nakatagpo ang tag, nagbago ang mga sumusunod na katangian:
format ng file
bilang at uri ng mga track
mga parameter ng pag-encode
pagkakasunud-sunod ng pag-encode
pagkakasunud-sunod ng timestamp
# EXT-X-VERSION Ang katangiang ito ay maaaring gamitin o hindi, maaari kang magkaroon ng wala
Ang M3U8 ay nahahati sa pinakamataas na antas na M3U8 at pangalawang antas na M3U8. Ang nangungunang antas ng M3U8 ay pangunahing ginagamit para sa pagbagay sa multi-rate. Ang pangalawang antas ng M3U8 ay ang tunay na slice file.
Bilang default, pipiliin muna ng kliyente ang kahilingan na may pinakamataas na bitrate. Kung nalaman nitong hindi maabot ang bitrate, hihiling ito ng isang stream na may mababang bitrate
Ang isang nangungunang antas ng M3U8 file sa aktwal na paggamit ay ang mga sumusunod:
#EXTM3U
# EXT-X-STREAM-INF: PROGRAM-ID = 201273221265, BANDWIDTH = 358400
11.m3u8
# EXT-X-STREAM-INF: PROGRAM-ID = 201273221265, BANDWIDTH = 972800
22.m3u8
Ang tuktok na antas ng M3U8 file sa itaas ay tumutukoy sa dalawang mga pangalawang antas ng mga file, 11.m3u8 at 22.m3u8, at pipiliin ng kliyente ang isa sa mga ito upang makuha ang nilalaman nito.
Ang nilalaman ng pangalawang M3U8 file ay ang mga sumusunod:
#EXTM3U
# EXT-X-VERSION: 1
# EXT-X-TARGETDURATION: 10
# EXT-X-MEDIA-SEQUENCE: 0
#EXTINF: 3,
1-4.ts
#EXTINF: 8,
1-6.ts
#EXTINF: 8,
1-8.ts
#EXTINF: 8,
1-10.ts
#EXTINF: 8,
1-12.ts
#EXTINF: 8,
1-14.ts
#EXTINF: 8,
1-16.ts
#EXTINF: 9,
1-18.ts
#EXTINF: 6,
1-20.ts
#EXTINF: 8,
1-22.ts
#EXTINF: 9,
1-24.ts
#EXTINF: 3,
1-26.ts
# EXT-X-ENDLIST
Matapos makuha ng kliyente ang pangalawang pangalawang M3U8 file, magpapatuloy itong humiling ng file sa loob, at pagkatapos ay maaari itong i-play.
Ang nasa itaas ay tungkol sa sitwasyong on-demand at ang sitwasyon ng live na pag-broadcast, magkakaroon ng mga katangian sa M3U8 file upang sabihin na ito ay live, at pana-panahong hihiling ang kliyente ng mga bagong M3U8 file.
// Kapag napagtanto ng HLS ang on-demand at live na broadcast, ang pagkakaiba ng M3U8 file
1. Paglalarawan ng problema
Kamakailan lamang ay gumawa ako ng isang transcoded slice playback test, gamit ang HLS (HTTP Live Streaming) upang gawin ang live na broadcast. Ang bawat oras ng paghihiwalay ng TS ay 10s, at ang mga sumusunod na live na m3u8 file ay nabuo ayon sa mga TS na segmentation file
Kopyahin ang code
#EXTM3U
# EXT-X-MEDIA-SEQUENCE: 1
# EXT-X-TARGETDURATION: 10
#EXTINF: 10
hls / 1.ts
#EXTINF: 10
hls / 2.ts
#EXTINF: 10
hls / 3.ts
#EXTINF: 10
hls / 4.ts
#EXTINF: 10
hls / 5.ts
#EXTINF: 10
hls / 6.ts
#EXTINF: 10
hls / 7.ts
#EXTINF: 10
hls / 8.ts
#EXTINF: 10
hls / 9.ts
#EXTINF: 10
hls / 10.ts
Kopyahin ang code
I-save ang m3u8 na file sa itaas bilang live.m3u8, ilagay ito sa direktoryo ng Apache document, at i-play ang sumusunod na URL sa VLC:
http://localhost/live.m3u8
Nalaman ng pagsubok na ang unang file na nagsimulang maglaro ay hindi 1.ts. Matapos ang maraming mga pagsubok, nalaman na:
Hangga't mayroong higit sa tatlong mga file sa listahan, ang huling tatlong mga file sa listahan ay palaging nilalaro
2. Pagtugon sa suliranin
Napakalungkot na pagkatapos maghanap sa Internet, wala akong nahanap na mabisang impormasyon. Ang isang kaibigan ay nakatagpo ng parehong sitwasyon, nagbahagi ba siya ng kanyang karanasan matapos itong malutas?
Matapos kumunsulta sa isang kasamahan, sinabi ng kasamahan na posible dahil ang live na listahan ng file na m3u8 ay kailangang i-update sa real time. Kung gumawa kami ng isang pagsubok, maaari naming idagdag muna ang # EXT-X-ENDLIST sa dulo. Ang pamamaraang ito ay nasubukan Gumagana ito, ngunit hindi na ito live na m3u8 mode
Matapos maghanap muli sa Internet, nakumpirma kong sa wakas ay nakakita ako ng isang live na paglalarawan ng m3u8
Live na Playlist (Sliding Window)
Para sa mga live na session, na-update ang index file sa pamamagitan ng pag-aalis ng mga media URI mula sa file habang ang mga bagong file ng media ay nilikha at ginawang magagamit.
Mahalaga: Ang tag na EXT-X-ENDLIST ay wala sa Live playlist, na nagpapahiwatig na ang mga bagong file ng media ay idaragdag sa index file kapag magagamit sila.
Tingnan ang Listahan 3 para sa isang halimbawa ng live na playlist na lilitaw sa simula ng isang sesyon.
Listahan ng 3 Live na Playlist sa simula ng isang sesyon.
Kopyahin ang code
#EXTM3U
# EXT-X-TARGETDURATION: 10
# EXT-X-VERSION: 3
# EXT-X-MEDIA-SEQUENCE: 1
#EXTINF: 10,
fileSequence1.ts
#EXTINF: 10,
fileSequence2.ts
#EXTINF: 10,
fileSequence3.ts
#EXTINF: 10,
fileSequence4.ts
#EXTINF: 10,
fileSequence5.ts
Kopyahin ang code
Ang halaga ng tag na EXT-X-MEDIA-SEQUENCE DAPAT na madagdagan ng 1 para sa bawat URI ng media na tinanggal mula sa file ng playlist. Dapat alisin ang Media URIs mula sa file ng playlist sa pagkakasunud-sunod na lumitaw ang mga ito sa playlist. Ang na-update na file ng index ay nagpapakita ng isang gumagalaw na window sa isang tuluy-tuloy na stream. Ang ganitong uri ng session ay angkop para sa tuluy-tuloy na pag-broadcast.
Narito ang parehong playlist matapos itong ma-update sa mga bagong URI ng media:
Listahan ng 4 na Live na Playlist pagkatapos i-update ang mga URI ng media.
Kopyahin ang code
#EXTM3U
# EXT-X-TARGETDURATION: 10
# EXT-X-VERSION: 3
# EXT-X-MEDIA-SEQUENCE: 2
#EXTINF: 10,
fileSequence2.ts
#EXTINF: 10,
fileSequence3.ts
#EXTINF: 10,
fileSequence4.ts
#EXTINF: 10,
fileSequence5.ts
#EXTINF: 10,
fileSequence6.ts
Kopyahin ang code
3. mabuhay ang mga panuntunan sa pag-update ng m3u8
Ang listahan ng mga live na m3u8 file ay kailangang na-update na tuloy-tuloy, mga panuntunan sa pag-update:
Alisin ang tuktok (isiping nilaro) na file sa isang playlist ng file
Patuloy na i-update ang tag na EXT-X-MEDIA-Sequence, pagtaas ng 1
4. Eksperimento
Sumulat ng isang maliit na programa upang makabuo ng live na m3u8 para sa pagsubok
Paggamit ng:
m3u8_gen.exe start_num list_count tagal ng filename.m3u8 [prefiks]
Halimbawa ng paggamit:
m3u8_gen.exe 1 3 10 live.m3u8 hls /
Bumuo ng live.m3u8 file bilang
Kopyahin ang code
#EXTM3U
# EXT-X-MEDIA-SEQUENCE: 1
# EXT-X-TARGETDURATION: 10
#EXTINF: 10
hls / 1.ts
#EXTINF: 10
hls / 2.ts
#EXTINF: 10
hls / 3.ts
Kopyahin ang code
Sumulat ng isang BAT script upang mai-update ang live.m3u8 file tuwing 10s
Kopyahin ang code
@ Echo off
f
|
Ipasok ang email upang makakuha ng sorpresa
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> Albanian
ar.fmuser.org -> Arabe
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 -> Intsik (Pinasimple)
zh-TW.fmuser.org -> Intsik (Tradisyunal)
hr.fmuser.org -> Croatian
cs.fmuser.org -> Czech
da.fmuser.org -> Danish
nl.fmuser.org -> Dutch
et.fmuser.org -> Estonian
tl.fmuser.org -> Pilipino
fi.fmuser.org -> Finnish
fr.fmuser.org -> Pranses
gl.fmuser.org -> Galician
ka.fmuser.org -> Georgian
de.fmuser.org -> Aleman
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 -> Koreano
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 -> Portuges
ro.fmuser.org -> Romanian
ru.fmuser.org -> Ruso
sr.fmuser.org -> Serbiano
sk.fmuser.org -> Slovak
sl.fmuser.org -> Slovenian
es.fmuser.org -> Espanyol
sw.fmuser.org -> Swahili
sv.fmuser.org -> Suweko
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
Ang FMUSER Wirless ay Naghahatid ng Video At Audio Nang Mas Madali!
Makipag-ugnay sa
Tirahan
No.305 Room Huilan Building No.273 Huanpu Road Guangzhou China 510620
Kategorya
Newsletter