„FMUSER Wirless“ perduoda vaizdo ir garso įrašus lengviau!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikanų kalba
sq.fmuser.org -> albanų
ar.fmuser.org -> arabų
hy.fmuser.org -> armėnas
az.fmuser.org -> azerbaidžanietis
eu.fmuser.org -> baskų
be.fmuser.org -> baltarusių
bg.fmuser.org -> bulgarų
ca.fmuser.org -> katalonų
zh-CN.fmuser.org -> kinų (supaprastinta)
zh-TW.fmuser.org -> kinų (tradicinė)
hr.fmuser.org -> kroatų
cs.fmuser.org -> čekų
da.fmuser.org -> danų
nl.fmuser.org -> Olandų
et.fmuser.org -> estų
tl.fmuser.org -> filipinietis
fi.fmuser.org -> suomių
fr.fmuser.org -> prancūzų
gl.fmuser.org -> Galisų
ka.fmuser.org -> gruzinų
de.fmuser.org -> vokiečių kalba
el.fmuser.org -> graikų
ht.fmuser.org -> Haičio kreolis
iw.fmuser.org -> hebrajų
hi.fmuser.org -> hindi
hu.fmuser.org -> vengrų
is.fmuser.org -> islandų
id.fmuser.org -> indoneziečių
ga.fmuser.org -> airių
it.fmuser.org -> italų kalba
ja.fmuser.org -> japonų
ko.fmuser.org -> korėjiečių
lv.fmuser.org -> latvių
lt.fmuser.org -> lietuvis
mk.fmuser.org -> makedonų
ms.fmuser.org -> malajiečių
mt.fmuser.org -> maltiečių
no.fmuser.org -> norvegų
fa.fmuser.org -> persų
pl.fmuser.org -> lenkų
pt.fmuser.org -> portugalų
ro.fmuser.org -> rumunų
ru.fmuser.org -> rusų
sr.fmuser.org -> serbų
sk.fmuser.org -> slovakų
sl.fmuser.org -> slovėnų
es.fmuser.org -> ispanų
sw.fmuser.org -> svahili kalba
sv.fmuser.org -> švedų
th.fmuser.org -> Tailando
tr.fmuser.org -> turkų
uk.fmuser.org -> ukrainietis
ur.fmuser.org -> urdu
vi.fmuser.org -> vietnamiečių
cy.fmuser.org -> Valų kalba
yi.fmuser.org -> jidiš
„HLS“ ir „Http Live Streaming“ yra „Apple“ apibrėžti srauto realiuoju laiku protokolai. HLS yra įgyvendinamas remiantis HTTP protokolu. Perdavimo turinį sudaro dvi dalys: viena yra M3U8 aprašymo byla, kita - TS laikmenos byla.
1. M3U8 byla
Medijos failas aprašytas tekste, kurį sudaro žymių serija.
#EXTM3U
# EXT-X-TIKSLAS: 5
#EXTINF: 5,
./0.ts
#EXTINF: 5,
./1.ts
# EXTM3U: Pirmoji kiekvieno M3U8 failo eilutė turi būti ši žyma.
# EXT-X-TARGETDURATION: nurodykite maksimalų laikmenos segmento trukmę (sekundes). #EXTINF nurodytas laiko ilgis turi būti mažesnis arba lygus šiai didžiausiai vertei. Ši vertė gali būti rodoma tik vieną kartą.
#EXTINF: apibūdinkite vieno medijos failo ilgį. Toliau pateikiami medijos failai, pvz., ./0.ts
Jį galima platinti HTTP „iOS“ įrenginyje ir „Mac“. Grojaraščio standartas yra m3u8 failas, išplėstas m3u, o medijos failas yra MPEG2-TS arba AAC failas (tik garso).
Yra du m3u8 failų taikymo scenarijai:
Kelių tarifų adaptacijos srautas,
#EXTM3U
# EXT-X-STREAM-INF: PROGRAMOS ID = 1, BANDWIDTH = 1280000
# EXT-X-STREAM-INF: PROGRAMOS ID = 1, BANDWIDTH = 2560000
# EXT-X-STREAM-INF: PROGRAMOS ID = 1, BANDWIDTH = 7680000
# EXT-X-STREAM-INF: PROGRAMOS ID = 1, PRANEŠIMO plotis = 65000, CODECS = "mp4a.40.5"
http://example.com/audio-only.m3u8
Vienos normos pritaikymo srautas
#EXTM3U
# EXT-X-TIKSLAS: 5220
#EXTINF: 5220,
http://media.example.com/entire.ts
# EXT-X-ENDLIST
Tarptautinė standartų organizacija apibrėžia šį RF dokumentą:
http://tools.ietf.org/html/draft-pantos-http-live-streaming-06
M3u8 failas yra m3u failo pratęsimas. Išplėstiniai raktiniai žodžiai apibrėžti RFK:
tarp jų:
# EXT-X-TIKSLAS
Apibrėžkite maksimalią kiekvieno TS trukmę.
# EXT-X-MEDIA-SEQUENCE
Apibrėžkite pirmojo failo, esančio dabartiniame m3u8 faile, serijos numerį. Kiekvienas ts failas turi fiksuotą ir unikalų serijos numerį m3u8 faile. Serijos numeris naudojamas norint pakeisti kodavimo greitį derinant MBR metu.
# EXT-X-RAKTAS
Apibrėžkite šifravimo metodą ir rakto failo URL, naudojamą norint gauti 16 baitų rakto failą, norint iššifruoti failą ts.
Atributai:
VARTOJIMO METODAS
URL adresas
# EXT-X-PROGRAM-DATE-TIME
Absoliutus pirmojo failo laikas
# EXT-X-ALLOW-Cache
Ar leisti talpyklą.
# EXT-X-ENDLIST
Nurodo m3u8 failo pabaigą. „Live m3u8“ neturi šios žymos.
# EXT-X-STREAM-INF
Atributai:
BANDWIDTH nurodo bitų greitį
„PROGRAM-ID“ unikalus ID
CODECS nurodo srauto kodavimo tipą
# EXT-X-NETRAUKIMAS
Kai aptinkama žyma, pasikeitė šie atributai:
failo formatas
takelių skaičius ir tipas
kodavimo parametrai
koduojanti seka
laiko žymos seka
# EXT-X-VERSION Šis atributas gali būti naudojamas arba ne, jo neturite
M3U8 skirstomas į aukščiausio lygio M3U8 ir antrojo lygio M3U8. Aukščiausio lygio M3U8 daugiausia naudojamas daugialypiam pritaikymui. Antrojo lygio M3U8 yra tikrasis failo failas.
Pagal numatytuosius nustatymus klientas pirmiausia pasirinks užklausą su didžiausiu bitų greičiu. Jei nustatys, kad pralaidumo pasiekti nepavyksta, ji paprašys srauto su mažu pralaidumu
Faktiškai naudojamas aukščiausio lygio M3U8 failas yra toks:
#EXTM3U
# EXT-X-STREAM-INF: PROGRAMOS ID = 201273221265, BANDWIDTH = 358400
11. m3u8
# EXT-X-STREAM-INF: PROGRAMOS ID = 201273221265, BANDWIDTH = 972800
22. m3u8
Aukščiau esančiame aukščiausio lygio M3U8 faile yra apibrėžti du antrojo lygio failai - 11.m3u8 ir 22.m3u8, o klientas pasirinks vieną iš jų, kad gautų jo turinį.
Antrinio failo M3U8 turinys yra toks:
#EXTM3U
# EXT-X-VERSIJA: 1
# EXT-X-TIKSLAS: 10
# EXT-X-MEDIA-SEQUENCE: 0
#EXTINF: 3,
1–4 t
#EXTINF: 8,
1–6 t
#EXTINF: 8,
1–8 t
#EXTINF: 8,
1–10 t
#EXTINF: 8,
1–12 t
#EXTINF: 8,
1–14 t
#EXTINF: 8,
1–16 t
#EXTINF: 9,
1–18 t
#EXTINF: 6,
1–20 t
#EXTINF: 8,
1–22 t
#EXTINF: 9,
1–24 t
#EXTINF: 3,
1–26 t
# EXT-X-ENDLIST
Kai klientas gauna pirmiau nurodytą antrinį M3U8 failą, jis toliau prašys failo viduje, ir tada jį bus galima paleisti.
Pirmiau kalbama apie situaciją pagal pareikalavimą ir tiesioginės transliacijos situaciją, M3U8 faile bus atributų, kad jis būtų gyvas, o klientas periodiškai prašys naujų M3U8 failų.
// Kai HLS supranta pagal pareikalavimą ir tiesioginę transliaciją, M3U8 failo skirtumas
1. Problemos aprašymas
Neseniai atlikau perkoduotą atkarpų atkūrimo testą, naudodamas HLS (HTTP tiesioginį srautą) tiesioginei transliacijai. Kiekvienas TS segmentavimo laikas yra 10s, o šie tiesioginiai m3u8 failai yra generuojami pagal TS segmentavimo failus
Kopijuoti kodą
#EXTM3U
# EXT-X-MEDIA-SEQUENCE: 1
# EXT-X-TIKSLAS: 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
Kopijuoti kodą
Išsaugokite aukščiau nurodytą m3u8 failą kaip „live.m3u8“, įdėkite jį į „Apache“ dokumentų katalogą ir paleiskite šį URL naudodami VLC:
http://localhost/live.m3u8
Testas parodė, kad pirmasis failas, pradėtas groti, nebuvo 1.ts. Po kelių bandymų nustatyta, kad:
Jei sąraše yra daugiau nei trys failai, paskutiniai trys sąrašo failai visada grojami
2. Problemų sprendimas
Labai liūdna, kad, atlikusi paiešką internete, neradau jokios veiksmingos informacijos. Bičiulis susidūrė su ta pačia situacija, ar jis pasidalijo savo patirtimi ją išsprendęs?
Pasitaręs su kolega, kolega pasakė, kad tai įmanoma, nes tiesioginį m3u8 failų sąrašą reikia atnaujinti realiu laiku. Jei atliksime testą, pirmiausia galėtume pridėti # EXT-X-ENDLIST. Šis metodas buvo išbandytas. Jis veikia, bet tai nebėra tiesioginis m3u8 režimas
Dar kartą paieškojęs internete patvirtinau, kad pagaliau radau tiesioginį m3u8 aprašą
Tiesioginis grojaraštis (stumdomas langas)
Tiesioginių seansų atveju indekso failas atnaujinamas pašalinant medijos URI iš failo, nes kuriami ir prieinami nauji medijos failai.
Svarbu: EXT-X-ENDLIST žymos nėra tiesioginiame grojaraštyje, o tai rodo, kad nauji medijos failai bus pridėti prie indekso failo, kai jie taps prieinami.
Tiesioginio grojaraščio pavyzdį, kuris pasirodytų sesijos pradžioje, rasite 3 sąraše.
3 tiesioginių grojaraščių sąrašas seanso pradžioje.
Kopijuoti kodą
#EXTM3U
# EXT-X-TIKSLAS: 10
# EXT-X-VERSIJA: 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
Kopijuoti kodą
Žymos EXT-X-MEDIA-SEQUENCE vertė turi būti padidinta 1 kiekvienam laikmenos URI, kuris pašalinamas iš grojaraščio failo. Laikmenos URIturi būti pašalinti iš grojaraščio failo tokia tvarka, kokia jie yra grojaraštyje. Atnaujintame indekso faile judantis langas pateikiamas nepertraukiamu srautu. Šio tipo sesijos tinka nuolatinėms transliacijoms.
Čia yra tas pats grojaraštis, kai jis bus atnaujintas naujosios medijos URI:
4 tiesioginių grojaraščių sąrašas atnaujinus medijos URI.
Kopijuoti kodą
#EXTM3U
# EXT-X-TIKSLAS: 10
# EXT-X-VERSIJA: 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
Kopijuoti kodą
3. gyvenkite m3u8 atnaujinimo taisykles
Tiesioginių m3u8 failų sąrašą reikia nuolat atnaujinti, atnaujinti taisykles:
Pašalinkite viršutinį (pagalvokite, kad grojo) failą iš failų grojaraščio
Nuolat atnaujinkite žymą EXT-X-MEDIA-SEQUENCE, didindami 1
4. Eksperimentuokite
Parašykite nedidelę programą, kad sugeneruotumėte tiesioginius m3u8 bandymams
Naudojimas:
m3u8_gen.exe start_num list_count trukmė failo vardas.m3u8 [priešdėlis]
Naudojimo pavyzdys:
m3u8_gen.exe 1 3 10 tiesiogiai. m3u8 hls /
Generuoti „live.m3u8“ failą kaip
Kopijuoti kodą
#EXTM3U
# EXT-X-MEDIA-SEQUENCE: 1
# EXT-X-TIKSLAS: 10
#EXTINF: 10
hls / 1.ts
#EXTINF: 10
hls / 2.ts
#EXTINF: 10
hls / 3.ts
Kopijuoti kodą
Parašykite BAT scenarijų, kad atnaujintumėte „live.m3u8“ failą kas 10s
Kopijuoti kodą
@ Echo off
f
|
Įveskite el. Pašto adresą, kad gautumėte staigmeną
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikanų kalba
sq.fmuser.org -> albanų
ar.fmuser.org -> arabų
hy.fmuser.org -> armėnas
az.fmuser.org -> azerbaidžanietis
eu.fmuser.org -> baskų
be.fmuser.org -> baltarusių
bg.fmuser.org -> bulgarų
ca.fmuser.org -> katalonų
zh-CN.fmuser.org -> kinų (supaprastinta)
zh-TW.fmuser.org -> kinų (tradicinė)
hr.fmuser.org -> kroatų
cs.fmuser.org -> čekų
da.fmuser.org -> danų
nl.fmuser.org -> Olandų
et.fmuser.org -> estų
tl.fmuser.org -> filipinietis
fi.fmuser.org -> suomių
fr.fmuser.org -> prancūzų
gl.fmuser.org -> Galisų
ka.fmuser.org -> gruzinų
de.fmuser.org -> vokiečių kalba
el.fmuser.org -> graikų
ht.fmuser.org -> Haičio kreolis
iw.fmuser.org -> hebrajų
hi.fmuser.org -> hindi
hu.fmuser.org -> vengrų
is.fmuser.org -> islandų
id.fmuser.org -> indoneziečių
ga.fmuser.org -> airių
it.fmuser.org -> italų kalba
ja.fmuser.org -> japonų
ko.fmuser.org -> korėjiečių
lv.fmuser.org -> latvių
lt.fmuser.org -> lietuvis
mk.fmuser.org -> makedonų
ms.fmuser.org -> malajiečių
mt.fmuser.org -> maltiečių
no.fmuser.org -> norvegų
fa.fmuser.org -> persų
pl.fmuser.org -> lenkų
pt.fmuser.org -> portugalų
ro.fmuser.org -> rumunų
ru.fmuser.org -> rusų
sr.fmuser.org -> serbų
sk.fmuser.org -> slovakų
sl.fmuser.org -> slovėnų
es.fmuser.org -> ispanų
sw.fmuser.org -> svahili kalba
sv.fmuser.org -> švedų
th.fmuser.org -> Tailando
tr.fmuser.org -> turkų
uk.fmuser.org -> ukrainietis
ur.fmuser.org -> urdu
vi.fmuser.org -> vietnamiečių
cy.fmuser.org -> Valų kalba
yi.fmuser.org -> jidiš
„FMUSER Wirless“ perduoda vaizdo ir garso įrašus lengviau!
Susisiekite su mumis
Adresas:
Nr. 305 kambarys „HuiLan“ pastatas Nr. 273 Huanpu Road Guangdžou, Kinija 510620
Kategorijos
Naujienlaiškis