FMUSER Wirless edastab videot ja heli lihtsamalt!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikaans
sq.fmuser.org -> albaania keel
ar.fmuser.org -> araabia
hy.fmuser.org -> Armeenia
az.fmuser.org -> aserbaidžaanlane
eu.fmuser.org -> baski keel
be.fmuser.org -> valgevenelane
bg.fmuser.org -> Bulgaaria
ca.fmuser.org -> katalaani keel
zh-CN.fmuser.org -> hiina (lihtsustatud)
zh-TW.fmuser.org -> Hiina (traditsiooniline)
hr.fmuser.org -> horvaadi keel
cs.fmuser.org -> tšehhi
da.fmuser.org -> taani keel
nl.fmuser.org -> Hollandi
et.fmuser.org -> eesti keel
tl.fmuser.org -> filipiinlane
fi.fmuser.org -> soome keel
fr.fmuser.org -> Prantsusmaa
gl.fmuser.org -> galicia keel
ka.fmuser.org -> gruusia keel
de.fmuser.org -> saksa keel
el.fmuser.org -> Kreeka
ht.fmuser.org -> Haiti kreool
iw.fmuser.org -> heebrea
hi.fmuser.org -> hindi
hu.fmuser.org -> Ungari
is.fmuser.org -> islandi keel
id.fmuser.org -> indoneesia keel
ga.fmuser.org -> iiri keel
it.fmuser.org -> Itaalia
ja.fmuser.org -> jaapani keel
ko.fmuser.org -> korea
lv.fmuser.org -> läti keel
lt.fmuser.org -> Leedu
mk.fmuser.org -> makedoonia
ms.fmuser.org -> malai
mt.fmuser.org -> malta keel
no.fmuser.org -> Norra
fa.fmuser.org -> pärsia keel
pl.fmuser.org -> poola keel
pt.fmuser.org -> portugali keel
ro.fmuser.org -> Rumeenia
ru.fmuser.org -> vene keel
sr.fmuser.org -> serbia
sk.fmuser.org -> slovaki keel
sl.fmuser.org -> Sloveenia
es.fmuser.org -> hispaania keel
sw.fmuser.org -> suahiili keel
sv.fmuser.org -> rootsi keel
th.fmuser.org -> Tai
tr.fmuser.org -> türgi keel
uk.fmuser.org -> ukrainlane
ur.fmuser.org -> urdu
vi.fmuser.org -> Vietnam
cy.fmuser.org -> kõmri keel
yi.fmuser.org -> Jidiši
HLS ja Http Live Streaming on Apple'i määratletud reaalajas voogesituse protokollid. HLS rakendatakse HTTP-protokolli põhjal. Edastuse sisu sisaldab kahte osa, millest üks on kirjeldusfail M3U8 ja teine on TS meediumifail.
1. M3U8 fail
Meediumifaili kirjeldatakse tekstis, mis koosneb siltide seeriast.
#EXTM3U
# EXT-X-SIHTKESTUS: 5
#EXTINF: 5,
./0.ts
#EXTINF: 5,
./1.ts
# EXTM3U: iga M3U8-faili esimene rida peab olema see silt.
# EXT-X-TARGETDURATION: määrake meediumisegmendi maksimaalne aja pikkus (sekundites). #EXTINF-is määratud aja pikkus peab olema selle maksimaalse väärtuse väärtusest väiksem või sellega võrdne. Seda väärtust saab kuvada ainult üks kord.
#EXTINF: kirjeldage ühe meediumifaili pikkust. Järgnevad meediumifailid, näiteks ./0.ts
Seda saab levitada HTTP kaudu iOS-i seadmes ja Macis. Esitusloendi standard on m3u8 fail, mida laiendatakse m3u võrra, ja meediumifail on MPEG2-TS või AAC-fail (ainult heli).
M3u8 failide jaoks on kaks rakendusstsenaariumi:
Mitmemääraline kohanemisvoog,
#EXTM3U
# EXT-X-STREAM-INF: PROGRAMMI ID = 1, BANDWIDTH = 1280000
# EXT-X-STREAM-INF: PROGRAMMI ID = 1, BANDWIDTH = 2560000
# EXT-X-STREAM-INF: PROGRAMMI ID = 1, BANDWIDTH = 7680000
# EXT-X-STREAM-INF: PROGRAMMI ID = 1, Riba laius = 65000, CODECS = "mp4a.40.5"
http://example.com/audio-only.m3u8
Ühe määraga kohanemise voog
#EXTM3U
# EXT-X-SIHTKESTUS: 5220
#EXTINF: 5220,
http://media.example.com/entire.ts
# EXT-X-ENDLIST
Rahvusvaheline Standardiorganisatsioon määratleb selle RFD:
http://tools.ietf.org/html/draft-pantos-http-live-streaming-06
Fail m3u8 on m3u faili laiendus. Laiendatud märksõnad on määratletud rfc:
nende hulgas:
# EXT-X-SIHTKESTUS
Määratlege iga TS maksimaalne kestus.
# EXT-X-MEDIA-SEQUENCE
Määrake praeguse faili m3u8 esimese faili seerianumber. Igal ts-failil on fikseeritud ja kordumatu seerianumber failis m3u8. Seerianumbrit kasutatakse MBR-i ajal joondamise koodikiiruse vahetamiseks.
# EXT-X-KEY
Määratlege krüptimismeetod ja võtmefaili URL, mida kasutatakse 16-baidise võtmefaili saamiseks ts-faili dekodeerimiseks.
Omadused:
MEETOD
URL
# EXT-X-PROGRAMM-DATE-TIME
Esimese faili absoluutne aeg
# EXT-X-LUBA vahemälu
Kas lubada vahemälu.
# EXT-X-ENDLIST
Näitab faili m3u8 lõppu. Live m3u8-l pole seda silti.
# EXT-X-STREAM-INF
Omadused:
BANDWIDTH määrab bitikiiruse
Programmi PROGRAM-ID kordumatu ID
CODECS määrab voo kodeerimise tüübi
# EXT-X-LÕPETAMINE
Märgendi ilmnemisel on järgmised atribuudid muutunud:
failiformaat
radade arv ja tüüp
parameetrite kodeerimine
kodeeriv järjestus
ajatempli järjestus
# EXT-X-VERSION Seda atribuuti saab kasutada või mitte. Teil ei pruugi ühtegi olla
M3U8 jaguneb tipptasemel M3U8 ja teise taseme M3U8. Tipptasemel M3U8 kasutatakse peamiselt mitme määraga kohanemiseks. Teise taseme M3U8 on tõeline failifail.
Vaikimisi valib klient esmalt kõrgeima bitikiirusega päringu. Kui ta leiab, et bitikiirust ei õnnestu saavutada, nõuab ta madala bitikiirusega voogu
Tegelikul kasutamisel on tipptasemel fail M3U8 järgmine:
#EXTM3U
# EXT-X-STREAM-INF: PROGRAMMI ID = 201273221265, BANDWIDTH = 358400
11.m3u8
# EXT-X-STREAM-INF: PROGRAMMI ID = 201273221265, BANDWIDTH = 972800
22.m3u8
Ülaltoodud ülataseme fail M3U8 määratleb kaks teise taseme faili, 11.m3u8 ja 22.m3u8, ning klient valib neist sisu saamiseks ühe.
Teisese faili M3U8 sisu on järgmine:
#EXTM3U
# EXT-X-VERSIOON: 1
# EXT-X-SIHTKESTUS: 10
# EXT-X-MEDIA-SEQUENCE: 0
#EXTINF: 3,
1–4ts
#EXTINF: 8,
1–6ts
#EXTINF: 8,
1–8ts
#EXTINF: 8,
1–10ts
#EXTINF: 8,
1–12ts
#EXTINF: 8,
1–14ts
#EXTINF: 8,
1–16ts
#EXTINF: 9,
1–18ts
#EXTINF: 6,
1–20ts
#EXTINF: 8,
1–22ts
#EXTINF: 9,
1–24ts
#EXTINF: 3,
1–26ts
# EXT-X-ENDLIST
Pärast seda, kui klient saab ülaltoodud sekundaarse faili M3U8, taotleb ta faili sees ja seejärel saab seda mängida.
Eespool käsitletakse tellitavat olukorda ja otseülekande olukorda, failis M3U8 on atribuudid, mis ütlevad, et see on otseülekanne, ja klient taotleb perioodiliselt uusi M3U8 faile.
// Kui HLS mõistab tellitavat ja otseülekannet, on M3U8-faili erinevus
1. Probleemi kirjeldus
Hiljuti tegin viilu taasesituse testi, kasutades otseülekande tegemiseks HLS-i (HTTP Live Streaming). Iga TS-i segmenteerimisaeg on 10 s ja vastavalt TS-i segmentimisfailidele genereeritakse järgmised elusad m3u8 failid
Kopeeri kood
#EXTM3U
# EXT-X-MEDIA-SEQUENCE: 1
# EXT-X-SIHTKESTUS: 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
Kopeeri kood
Salvestage ülaltoodud m3u8 fail nimega live.m3u8, pange see Apache dokumendikataloogi ja esitage järgmine URL VLC-ga:
http://localhost/live.m3u8
Testi käigus leiti, et esimene mängima hakanud fail ei olnud 1.ts. Pärast mitmeid katseid leiti, et:
Kuni loendis on rohkem kui kolm faili, esitatakse loendis alati kolme viimast faili
2. Probleemide lahendamine
On väga kurb, et pärast internetist otsimist ei leidnud ma tõhusat teavet. Sõber sattus samasse olukorda, kas ta jagas pärast lahendamist oma kogemusi?
Pärast kolleegiga konsulteerimist ütles kolleeg, et see on võimalik, sest reaalajas tuleb m3u8 reaalajas failide loendit värskendada. Kui teeme testi, saame kõigepealt selle lõppu lisada # EXT-X-ENDLIST. Seda meetodit on testitud. See töötab, kuid see pole enam elus m3u8 režiim
Pärast uuesti internetist otsimist kinnitasin, et leidsin lõpuks otsese m3u8 kirjelduse
Live esitusloend (lükandaken)
Reaalsessioonide korral värskendatakse registrifaili, eemaldades failist meedia URI-d, kuna luuakse ja tehakse kättesaadavaks uued meediumifailid.
Tähtis: EXT-X-ENDLIST-märgendit Live-esitusloendis pole, mis näitab, et uued meediumifailid lisatakse indeksfaili, kui need muutuvad kättesaadavaks.
Otse esitusloendi näide, nagu see kuvatakse seansi alguses, leiate jaotisest 3. loend.
3 reaalajas esitusloendi kuvamine seansi alguses.
Kopeeri kood
#EXTM3U
# EXT-X-SIHTKESTUS: 10
# EXT-X-VERSIOON: 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
Kopeeri kood
Iga esitusloendifailist eemaldatud meediumi URI-ga PEAB suurendama märgendi EXT-X-MEDIA-SEQUENCE väärtust 1-ga. Meedia URI tuleb esitusloendifailist eemaldada selles järjekorras, nagu need esitusloendis kuvatakse. Uuendatud indeksfail esitab liikuva akna pidevaks vooguks. Seda tüüpi seanss sobib pidevaks ülekandeks.
Siin on sama esitusloend pärast selle värskendamist uue meedia URI-dega:
Pärast meediumi URI-de värskendamist kuvatakse 4 reaalajas esitusloend.
Kopeeri kood
#EXTM3U
# EXT-X-SIHTKESTUS: 10
# EXT-X-VERSIOON: 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
Kopeeri kood
3. elage m3u8 värskenduseeskirju
Otse m3u8 failide loendit tuleb pidevalt uuendada, värskendage reegleid:
Eemaldage failide esitusloendis ülemine (arvan, et mängisite) fail
Uuendage pidevalt märgendit EXT-X-MEDIA-SEQUENCE, suurendades seda 1 võrra
4. Katse
Kirjutage väike programm, et genereerida testimiseks elus m3u8
Kasutus:
m3u8_gen.exe alguse_loendi loend_arv kestus failinimi.m3u8 [eesliide]
Kasutamise näide:
m3u8_gen.exe 1 3 10 otse. m3u8 hls /
Looge live.m3u8 fail nimega
Kopeeri kood
#EXTM3U
# EXT-X-MEDIA-SEQUENCE: 1
# EXT-X-SIHTKESTUS: 10
#EXTINF: 10
hls / 1.ts
#EXTINF: 10
hls / 2.ts
#EXTINF: 10
hls / 3.ts
Kopeeri kood
Kirjutage BAT-skript, et värskendada faili live.m3u8 iga 10s järel
Kopeeri kood
@ Echo off
f
|
Üllatuse saamiseks sisestage e-posti aadress
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikaans
sq.fmuser.org -> albaania keel
ar.fmuser.org -> araabia
hy.fmuser.org -> Armeenia
az.fmuser.org -> aserbaidžaanlane
eu.fmuser.org -> baski keel
be.fmuser.org -> valgevenelane
bg.fmuser.org -> Bulgaaria
ca.fmuser.org -> katalaani keel
zh-CN.fmuser.org -> hiina (lihtsustatud)
zh-TW.fmuser.org -> Hiina (traditsiooniline)
hr.fmuser.org -> horvaadi keel
cs.fmuser.org -> tšehhi
da.fmuser.org -> taani keel
nl.fmuser.org -> Hollandi
et.fmuser.org -> eesti keel
tl.fmuser.org -> filipiinlane
fi.fmuser.org -> soome keel
fr.fmuser.org -> Prantsusmaa
gl.fmuser.org -> galicia keel
ka.fmuser.org -> gruusia keel
de.fmuser.org -> saksa keel
el.fmuser.org -> Kreeka
ht.fmuser.org -> Haiti kreool
iw.fmuser.org -> heebrea
hi.fmuser.org -> hindi
hu.fmuser.org -> Ungari
is.fmuser.org -> islandi keel
id.fmuser.org -> indoneesia keel
ga.fmuser.org -> iiri keel
it.fmuser.org -> Itaalia
ja.fmuser.org -> jaapani keel
ko.fmuser.org -> korea
lv.fmuser.org -> läti keel
lt.fmuser.org -> Leedu
mk.fmuser.org -> makedoonia
ms.fmuser.org -> malai
mt.fmuser.org -> malta keel
no.fmuser.org -> Norra
fa.fmuser.org -> pärsia keel
pl.fmuser.org -> poola keel
pt.fmuser.org -> portugali keel
ro.fmuser.org -> Rumeenia
ru.fmuser.org -> vene keel
sr.fmuser.org -> serbia
sk.fmuser.org -> slovaki keel
sl.fmuser.org -> Sloveenia
es.fmuser.org -> hispaania keel
sw.fmuser.org -> suahiili keel
sv.fmuser.org -> rootsi keel
th.fmuser.org -> Tai
tr.fmuser.org -> türgi keel
uk.fmuser.org -> ukrainlane
ur.fmuser.org -> urdu
vi.fmuser.org -> Vietnam
cy.fmuser.org -> kõmri keel
yi.fmuser.org -> Jidiši
FMUSER Wirless edastab videot ja heli lihtsamalt!
Saada sõnum
Aadress:
Nr 305 tuba HuiLan Building No.273 Huanpu Road Guangzhou, Hiina 510620
Kategooriad
Uudiskiri