FMUSER Bezdrôtové vysielanie videa a zvuku je jednoduchšie!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikánčina
sq.fmuser.org -> albánsky
ar.fmuser.org -> arabčina
hy.fmuser.org -> Arménsky
az.fmuser.org -> azerbajdžanský
eu.fmuser.org -> baskičtina
be.fmuser.org -> bieloruský
bg.fmuser.org -> Bulgarian
ca.fmuser.org -> katalánčina
zh-CN.fmuser.org -> čínština (zjednodušená)
zh-TW.fmuser.org -> čínština (tradičná)
hr.fmuser.org -> chorvátčina
cs.fmuser.org -> čeština
da.fmuser.org -> dánčina
nl.fmuser.org -> Dutch
et.fmuser.org -> estónčina
tl.fmuser.org -> filipínsky
fi.fmuser.org -> fínčina
fr.fmuser.org -> French
gl.fmuser.org -> galícijčina
ka.fmuser.org -> gruzínsky
de.fmuser.org -> nemčina
el.fmuser.org -> Greek
ht.fmuser.org -> haitská kreolčina
iw.fmuser.org -> hebrejčina
hi.fmuser.org -> hindčina
hu.fmuser.org -> Hungarian
is.fmuser.org -> islandský
id.fmuser.org -> indonézština
ga.fmuser.org -> írsky
it.fmuser.org -> Italian
ja.fmuser.org -> japončina
ko.fmuser.org -> kórejčina
lv.fmuser.org -> lotyšský
lt.fmuser.org -> litovčina
mk.fmuser.org -> macedónsky
ms.fmuser.org -> malajčina
mt.fmuser.org -> maltčina
no.fmuser.org -> Norwegian
fa.fmuser.org -> perzský
pl.fmuser.org -> poľština
pt.fmuser.org -> portugalčina
ro.fmuser.org -> rumunčina
ru.fmuser.org -> ruština
sr.fmuser.org -> srbčina
sk.fmuser.org -> slovenčina
sl.fmuser.org -> slovinčina
es.fmuser.org -> španielčina
sw.fmuser.org -> svahilčina
sv.fmuser.org -> švédčina
th.fmuser.org -> Thai
tr.fmuser.org -> turečtina
uk.fmuser.org -> ukrajinčina
ur.fmuser.org -> urdčina
vi.fmuser.org -> Vietnamese
cy.fmuser.org -> waleština
yi.fmuser.org -> jidiš
HLS a Http Live Streaming sú protokoly pre streamovanie v reálnom čase definované spoločnosťou Apple. HLS je implementovaný na základe protokolu HTTP. Obsah prenosu obsahuje dve časti, jednou je popisný súbor M3U8 a druhou mediálny súbor TS.
1. súbor M3U8
Mediálny súbor je opísaný v texte, ktorý sa skladá zo série značiek.
#EXTM3U
# EXT-X-TARGETDURATION: 5
#EXTINF: 5,
./0.ts
#EXTINF: 5,
./1.ts
# EXTM3U: Prvý riadok každého súboru M3U8 musí byť táto značka.
# EXT-X-TARGETDURATION: Zadajte maximálnu dĺžku segmentu média (sekundy). Časový limit uvedený v #EXTINF musí byť menší alebo rovný tejto maximálnej hodnote. Táto hodnota sa môže zobraziť iba raz.
#EXTINF: Popíšte dĺžku jedného mediálneho súboru. Nasledujú mediálne súbory, napríklad ./0.ts
Môže byť distribuovaný protokolom HTTP na zariadeniach so systémom iOS a Mac. Štandardom zoznamu skladieb je súbor m3u8 rozšírený o m3u a mediálnym súborom je súbor MPEG2-TS alebo AAC (iba zvuk).
Pre súbory m3u8 existujú dva aplikačné scenáre:
Viacrýchlostný adaptačný prúd,
#EXTM3U
# EXT-X-STREAM-INF: ID PROGRAMU = 1, ŠÍRKA PÁSMA = 1280000
# EXT-X-STREAM-INF: ID PROGRAMU = 1, ŠÍRKA PÁSMA = 2560000
# EXT-X-STREAM-INF: ID PROGRAMU = 1, ŠÍRKA PÁSMA = 7680000
# EXT-X-STREAM-INF: PROGRAM-ID = 1, ŠÍRKA PÁSMA = 65000, KÓDY = "mp4a.40.5"
http://example.com/audio-only.m3u8
Stream prispôsobenia jednej sadzby
#EXTM3U
# EXT-X-TARGETDURATION: 5220
#EXTINF: 5220,
http://media.example.com/entire.ts
# EXT-X-ENDLIST
Medzinárodná organizácia pre normalizáciu definuje tento dokument rfc:
http://tools.ietf.org/html/draft-pantos-http-live-streaming-06
Súbor m3u8 je rozšírením súboru m3u. Rozšírené kľúčové slová sú definované v rfc:
medzi nimi:
# EXT-X-TARGETDURATION
Definujte maximálnu dobu trvania každého TS.
# EXT-X-MÉDIÁ-SEKVENCIA
Definujte sériové číslo prvého súboru v aktuálnom súbore m3u8. Každý súbor ts má pevné a jedinečné sériové číslo v súbore m3u8. Sériové číslo sa používa na zmenu kódovej rýchlosti pre zarovnanie počas MBR.
# EXT-X-KEY
Definujte metódu šifrovania a adresu URL súboru kľúčov, ktorá sa používa na získanie súboru kľúčov 16bytov na dekódovanie súboru ts.
Atribúty:
METÓDA
URL
# EXT-X-PROGRAM-DÁTUM-ČAS
Absolútny čas prvého súboru
# EXT-X-ALLOW-CACHE
Či povoliť medzipamäť.
# EXT-X-ENDLIST
Označuje koniec súboru m3u8. Live m3u8 nemá túto značku.
# EXT-X-STREAM-INF
Atribúty:
BANDWIDTH určuje bitovú rýchlosť
PROGRAM-ID jedinečné ID
CODECS určuje typ kódovania streamu
# EXT-X-DISCONTINUITY
Po zistení značky sa zmenili nasledujúce atribúty:
formát súboru
počet a typ koľají
kódovacie parametre
kódovacia sekvencia
postupnosť časovej pečiatky
# EXT-X-VERSION Tento atribút je možné použiť alebo nie, žiadny nemôžete mať
M3U8 je rozdelený na M3U8 najvyššej úrovne a M3U8 druhej úrovne. Najvyššia úroveň M3U8 sa používa hlavne na viacrýchlostnú adaptáciu. M3U8 druhej úrovne je skutočný súbor rezov.
V predvolenom nastavení klient najskôr vyberie požiadavku s najvyššou bitovou rýchlosťou. Ak zistí, že bitovú rýchlosť nie je možné dosiahnuť, vyžiada si stream s nízkou bitovou rýchlosťou
Aktuálny súbor M3U8 najvyššej úrovne je nasledovný:
#EXTM3U
# EXT-X-STREAM-INF: ID PROGRAMU = 201273221265, ŠÍRKA PÁSMA = 358400
11.m3u8
# EXT-X-STREAM-INF: ID PROGRAMU = 201273221265, ŠÍRKA PÁSMA = 972800
22.m3u8
Vyššie uvedený súbor M3U8 najvyššej úrovne definuje dva súbory druhej úrovne, 11.m3u8 a 22.m3u8, a klient vyberie jeden z nich, aby získal jeho obsah.
Obsah sekundárneho súboru M3U8 je nasledovný:
#EXTM3U
# EXT-X-VERZIA: 1
# EXT-X-TARGETDURATION: 10
# SEKVENCIA EXT-X-MÉDIÍ: 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
Keď klient získa vyššie uvedený sekundárny súbor M3U8, bude naďalej požadovať súbor vo vnútri a potom ho možno prehrať.
Vyššie uvedené je o situácii na požiadanie a situácii živého vysielania, v súbore M3U8 budú atribúty, ktoré povedia, že je živý, a klient bude pravidelne požadovať nové súbory M3U8.
// Keď HLS realizuje živé vysielanie na požiadanie, rozdiel v súbore M3U8
1. Popis problému
Nedávno som urobil test prehrávania transkódovaného rezu pomocou živého vysielania pomocou HLS (HTTP Live Streaming). Každá doba segmentácie TS je 10 s a nasledujúce živé súbory m3u8 sa generujú podľa súborov segmentácie TS
Skopírujte kód
#EXTM3U
# SEKVENCIA EXT-X-MÉDIÍ: 1
# EXT-X-TARGETDURATION: 10
#EXTINF: 10
hl / 1.ts
#EXTINF: 10
hl / 2.ts
#EXTINF: 10
hl / 3.ts
#EXTINF: 10
hl / 4.ts
#EXTINF: 10
hl / 5.ts
#EXTINF: 10
hl / 6.ts
#EXTINF: 10
hl / 7.ts
#EXTINF: 10
hl / 8.ts
#EXTINF: 10
hl / 9.ts
#EXTINF: 10
hl / 10.ts
Skopírujte kód
Uložte vyššie uvedený súbor m3u8 ako live.m3u8, vložte ho do adresára dokumentov Apache a pomocou VLC prehrajte nasledujúcu adresu URL:
http://localhost/live.m3u8
Test zistil, že prvý súbor, ktorý sa začal prehrávať, nebol 1.ts. Po niekoľkých testoch sa zistilo, že:
Pokiaľ sú v zozname viac ako tri súbory, vždy sa prehrajú posledné tri súbory v zozname
2. Riešenie problémov
Je veľmi smutné, že po prehľadaní internetu som nenašiel žiadne efektívne informácie. Kamarát sa stretol s rovnakou situáciou, podelil sa so svojou skúsenosťou po jej vyriešení?
Po konzultácii s kolegom kolega povedal, že je to možné, pretože zoznam živých súborov m3u8 je potrebné aktualizovať v reálnom čase. Ak urobíme test, môžeme na koniec pridať najskôr # EXT-X-ENDLIST. Táto metóda bola testovaná. Funguje to, ale už to nie je aktívny režim m3u8
Po opätovnom prehľadaní internetu som potvrdil, že som konečne našiel živý popis m3u8
Živý zoznam videí (posuvné okno)
Pri živých reláciách sa indexový súbor aktualizuje odstránením mediálnych URI zo súboru, keď sa vytvárajú a sprístupňujú nové mediálne súbory.
Dôležité: Značka EXT-X-ENDLIST sa nenachádza v zozname skladieb naživo, čo naznačuje, že do indexového súboru budú pridané nové mediálne súbory, keď budú k dispozícii.
V zozname 3 nájdete príklad živého zoznamu skladieb, aký by sa zobrazil na začiatku relácie.
Zoznam 3 živých zoznamov skladieb na začiatku relácie.
Skopírujte kód
#EXTM3U
# EXT-X-TARGETDURATION: 10
# EXT-X-VERZIA: 3
# SEKVENCIA EXT-X-MÉDIÍ: 1
#EXTINF: 10,
fileSequence1.ts
#EXTINF: 10,
fileSequence2.ts
#EXTINF: 10,
fileSequence3.ts
#EXTINF: 10,
fileSequence4.ts
#EXTINF: 10,
fileSequence5.ts
Skopírujte kód
Hodnota značky EXT-X-MEDIA-SEQUENCE MUSÍ byť zvýšená o 1 pre každý identifikátor URI média, ktorý je odstránený zo súboru zoznamu skladieb. Identifikátory URI média musia byť zo súboru zoznamu skladieb odstránené v poradí, v akom sa nachádzajú v zozname skladieb. Aktualizovaný indexový súbor predstavuje pohyblivé okno do nepretržitého toku. Tento typ relácie je vhodný pre nepretržité vysielanie.
Tu je ten istý zoznam skladieb, ktorý bol aktualizovaný pomocou identifikátorov URI nových médií:
Zoznam 4 živých zoznamov skladieb po aktualizácii identifikátorov URI médií.
Skopírujte kód
#EXTM3U
# EXT-X-TARGETDURATION: 10
# EXT-X-VERZIA: 3
# SEKVENCIA EXT-X-MÉDIÍ: 2
#EXTINF: 10,
fileSequence2.ts
#EXTINF: 10,
fileSequence3.ts
#EXTINF: 10,
fileSequence4.ts
#EXTINF: 10,
fileSequence5.ts
#EXTINF: 10,
fileSequence6.ts
Skopírujte kód
3. Živé pravidlá aktualizácie m3u8
Zoznam živých súborov m3u8 je potrebné neustále aktualizovať, pravidlá aktualizácie:
Odstráňte horný (myslíte si, že sa prehral) súbor v zozname skladieb
Priebežne aktualizujte značku EXT-X-MEDIA-SEQUENCE s prírastkom o 1
4. Experimentujte
Napíšte malý program na generovanie živého m3u8 na testovanie
Použitie:
m3u8_gen.exe počiatočné číslo list_count trvanie názvu súboru.m3u8 [predpona]
Príklad použitia:
m3u8_gen.exe 1 3 10 live.m3u8 hls /
Generovať súbor live.m3u8 ako
Skopírujte kód
#EXTM3U
# SEKVENCIA EXT-X-MÉDIÍ: 1
# EXT-X-TARGETDURATION: 10
#EXTINF: 10
hl / 1.ts
#EXTINF: 10
hl / 2.ts
#EXTINF: 10
hl / 3.ts
Skopírujte kód
Napíšte skript BAT a aktualizujte súbor live.m3u8 každých 10 s
Skopírujte kód
@ Echo off
f
|
Zadajte e-mail, aby ste dostali prekvapenie
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikánčina
sq.fmuser.org -> albánsky
ar.fmuser.org -> arabčina
hy.fmuser.org -> Arménsky
az.fmuser.org -> azerbajdžanský
eu.fmuser.org -> baskičtina
be.fmuser.org -> bieloruský
bg.fmuser.org -> Bulgarian
ca.fmuser.org -> katalánčina
zh-CN.fmuser.org -> čínština (zjednodušená)
zh-TW.fmuser.org -> čínština (tradičná)
hr.fmuser.org -> chorvátčina
cs.fmuser.org -> čeština
da.fmuser.org -> dánčina
nl.fmuser.org -> Dutch
et.fmuser.org -> estónčina
tl.fmuser.org -> filipínsky
fi.fmuser.org -> fínčina
fr.fmuser.org -> French
gl.fmuser.org -> galícijčina
ka.fmuser.org -> gruzínsky
de.fmuser.org -> nemčina
el.fmuser.org -> Greek
ht.fmuser.org -> haitská kreolčina
iw.fmuser.org -> hebrejčina
hi.fmuser.org -> hindčina
hu.fmuser.org -> Hungarian
is.fmuser.org -> islandský
id.fmuser.org -> indonézština
ga.fmuser.org -> írsky
it.fmuser.org -> Italian
ja.fmuser.org -> japončina
ko.fmuser.org -> kórejčina
lv.fmuser.org -> lotyšský
lt.fmuser.org -> litovčina
mk.fmuser.org -> macedónsky
ms.fmuser.org -> malajčina
mt.fmuser.org -> maltčina
no.fmuser.org -> Norwegian
fa.fmuser.org -> perzský
pl.fmuser.org -> poľština
pt.fmuser.org -> portugalčina
ro.fmuser.org -> rumunčina
ru.fmuser.org -> ruština
sr.fmuser.org -> srbčina
sk.fmuser.org -> slovenčina
sl.fmuser.org -> slovinčina
es.fmuser.org -> španielčina
sw.fmuser.org -> svahilčina
sv.fmuser.org -> švédčina
th.fmuser.org -> Thai
tr.fmuser.org -> turečtina
uk.fmuser.org -> ukrajinčina
ur.fmuser.org -> urdčina
vi.fmuser.org -> Vietnamese
cy.fmuser.org -> waleština
yi.fmuser.org -> jidiš
FMUSER Bezdrôtové vysielanie videa a zvuku je jednoduchšie!
Kontakt
adresa:
Budova č. 305 Izba HuiLan č. 273 Huanpu Road Kanton Čína 510620
Kategórie
Prihlás sa na odber Newslettra