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š
pozadia
MP4 je náš bežný formát videa a často, keď prehrávame videá na serveri, je to priamo požadovaný zdroj videa MP4. Ale v skutočnosti to nie je dobré. Hlavičkový súbor MP4 [ftyp + moov] je veľký a pri počiatočnom prehrávaní je potrebné stiahnuť kompletný hlavičkový súbor a analyzovať ho. Potom je potrebné stiahnuť určitú dĺžku prehrávateľného videoklipu. Okrem toho, ako sa bude zväčšovať veľkosť videa, hlavičkový súbor sa bude stále zväčšovať a počiatočný čas prehrávania bude dlhší. Vzhľadom na túto situáciu je potrebný spôsob, ktorý môže urýchliť počiatočnú analýzu videa. HLS je riešením navrhnutým spoločnosťou Apple na vyriešenie tohto problému.
HLS
HLS je skratka pre živé vysielanie HTTP. Jedná sa o protokol HTTP pre streamovanie mediálnych sietí navrhovaný spoločnosťou Apple. Môže súčasne podporovať živé vysielanie a na požiadanie, ako aj multi-definíciu, zvukovú a obrazovú duálnu stopu, titulky a ďalšie funkcie. Jeho princípom je rozdeliť celé video na niekoľko malých videí a úplné prehrávanie sa vytvorí spojením týchto segmentov.
HLS je široko používaný na mobilných termináloch. Medzi súčasných klientov, ktorí podporujú protokol HLS, patria:
Pre iOS 3.0 a novšie, AVPlayer natívne podporuje HLS
Android 3.0 a vyššie
Adobe Flash Player 11.0 a novší
Jeho všeobecná zásada je táto:
1. Zbierajte zvuk a video
2. Kódujte zvuk a video na serveri
3. Po kódovaní ho odovzdajte segmentu toku vo forme transportného toku MPEG-2
4. Krájač vytvorí indexový súbor a ts zoznam skladieb, indexový súbor sa používa na označenie polohy zvuku a videa a ts je skutočný multimediálny klip.
5. Vložte prostriedky z predchádzajúceho kroku na server HTTP
6. Klient požiada o prehrávanie indexového súboru a obsah prehrávania je možné nájsť prostredníctvom indexového súboru
M3U8
Kľúčovým krokom k realizácii HLS je štvrtý krok uvedený vyššie, a to organizácia indexových súborov a zoznamov skladieb. Používa sa tu formát M3U8. M3U8 je verzia M3U v kódovaní Unicode, čo znamená, že sa používa kódovanie UTF-8, a M8U aj M3U3 sú formáty súborov pre multimediálne zoznamy.
Opis formátu M3U8
Niekedy možno budeme musieť manuálne upraviť obsah súboru M3U8 na účely testovania alebo v niektorých osobitných prípadoch, takže musíme mať určité znalosti o jeho formáte. Definícia tohto formátu je uvedená v dokumente RFC 8216. Nasleduje niekoľko poznámok:
Súbory M3U8 musia byť kódované v UTF-8 a nemôžu používať poradie bajtov Byte Order Mark (BOM) a nemôžu obsahovať riadiace znaky utf-8 (U + 0000 ~ U_001F a U + 007F ~ u + 009F)
Každý riadok obsahu súboru M3U8 je buď prázdny riadok, URI alebo reťazec začínajúci na # a nemôžu sa zobrazovať žiadne prázdne znaky.
Vstavané značky sú všetky reťazce začínajúce #EXT a rozlišujú sa v nich veľké a malé písmená.
URI je cesta obsahu, čo môže byť relatívna cesta alebo absolútna cesta
Hlavný súbor zoznamu M3U8
Hlavný indexový súbor M3U8 sa zvyčajne používa na zadanie viacerých zdrojov indexu. Poďme najskôr analyzovať obsah hlavného súboru m3u8 hls_vod_mvp.m3u8, jeho hlava je taká
Formát hlavičky
#EXTM3U
# EXT-X-VERZIA: 7
# EXT-X-INDEPENDENT-SEGMENTSCopy code
# EXTM3U označuje, že súbor je vo formáte M3U, a všetky súbory vo formáte M3U by mali umiestniť obsah na prvý riadok.
# EXT-X-VERSIOn označuje kompatibilnú verziu zoznamu skladieb, ktorý je v súčasnosti 7.
# EXT-X-NEZÁVISLÉ-SEGMENTY Táto značka označuje, že všetky vzorky médií v mediálnom segmente je možné dekódovať nezávisle bez toho, aby sa spoliehali na ďalšie informácie o segmente média.
Formát titulkov
Obsahom nižšie sú niektoré titulky, obsah titulkov nie je potrebný.
# EXT-X-MEDIA: TYPE = SUBTITLES, GROUP-ID = "subs", NAME = "English", DEFAULT = YES, AUTOSELECT = YES, FORCED = NO, LANGUAGE = "eng", URI = "subtitles / eng / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = SUBTITLES, GROUP-ID = "subsC", NAME = "English", DEFAULT = YES, AUTOSELECT = YES, FORCED = NO, LANGUAGE = "eng", URI = "titulky / engc / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = SUBTITLES, GROUP-ID = "subs", NAME = "Japanese", DEFAULT = YES, AUTOSELECT = YES, FORCED = NO, LANGUAGE = "jpn", URI = "subtitles / jpn / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = SUBTITLES, GROUP-ID = "subsC", NAME = "Japanese", DEFAULT = YES, AUTOSELECT = YES, FORCED = NO, LANGUAGE = "jpn", URI = "subtitles / jpnc / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = TITULKY, GROUP-ID = "subs", NAME = "Chinese", DEFAULT = YES, AUTOSELECT = YES, FORCED = NO, LANGUAGE = "zho", URI = "titulky / zho / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = SUBTITLES, GROUP-ID = "subsC", NAME = "Chinese", DEFAULT = YES, AUTOSELECT = YES, FORCED = NO, LANGUAGE = "zho", URI = "subtitles / zhoc / prog_index.m3u8 "Kopírovať kód
# EXT-X-MEDIA sa používa na zadanie viacjazyčných zdrojov zoznamu médií s rovnakým obsahom.
TYPE je typ zdroja a voliteľný obsah je: AUDIO, VIDEO, TITULKY, ZATVORENÉ titulky.
Vyššie uvedený obsah nastavuje TYPE = SUBTITLES, čo je typ titulkov.
GROUP-ID je skupina, do ktorej viacjazyčný preklad patrí, a je požadovaným parametrom
NAME sú čitateľné popisné informácie prekladového streamu a táto hodnota zodpovedá displayName AVMediaSelectionOption.
DEFAULT, AUTOSELECT, FORCED sú tri hodnoty BOOL zodpovedajúce tomu, či je predvolene vybraný prekladový prúd, ak chýbajú potrebné informácie. Stream prehrávania sa prehrá, keď používateľ nezobrazí nastavenia. FORCED platí iba pre typ titulkov a používa sa na označenie aktuálneho automatického výberu toku prekladu. .
LANGUAGE sa používa na určenie typu jazyka, ktorý je nastavený podľa [kód jazyka ISO 639] (https://www.w3.org/WAI/ER/WD-AERT/iso639.htm „Jazykový kód ISO 639“). Keď predvolený prehrávač systému vyberie titulky, názov zobrazeného zoznamu titulkov sa nastaví podľa tejto hodnoty.
URI je informácia o umiestnení zdroja, kde zodpovedá súboru s podnadpismi M3U8. subtitles / eng / prog_index.m3u8 je relatívna cesta,
Prostredníctvom vyššie uvedených informácií môžeme analyzovať význam vyššie uvedeného obsahu ako: Aktuálne video podporuje tri titulky: anglické, japonské a čínske. Každý jazyk má ale dve správy EXT-X-MEDIA. Rozdiel medzi nimi je zoskupenie, jeden je zoskupený do subs a druhý je zoskupený do subsC. Prečo existujú dve skupiny? O tom si ešte poviem.
Formát videa
Znova vyhľadajte index videoobsahu:
#EXT-X-STREAM-INF:BANDWIDTH=827299,AVERAGE-BANDWIDTH=747464,CODECS="avc1.64001f,mp4a.40.2",RESOLUTION=640x360,FRAME-RATE=29.970,AUDIO="program_audio",SUBTITLES=" subs"
0640 / 0640.m3u8
#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=360849,AVERAGE-BANDWIDTH=320932,CODECS="avc1.64001f",RESOLUTION=640x360,URI="0640/0640_I-Frame.m3u8"Copy code
EXT-X-STREAM-INF: Tento atribút určuje záložný zdroj, to znamená cestu prehrávania videa a niektoré informácie o videu. Nasleduje konfigurácia zodpovedajúceho obsahu: ŠÍRKA PÁSMA je špičková bitová rýchlosť, 827299 je 827299bit / s, čo je najvyšší špičkový čas. Spotreba 101 kB prenosu za sekundu.
AVERAGE-BANDWIDTH je priemerná bitová rýchlosť 747464
KÓDY kódujú informácie, avc1.64001f, mp4a.40.2, avc predstavuje formát kódovania h264, nasledujúci kód 64001f je kódovací parameter predstavovaný hexadecimálnym číslom 64, 00, 1f predstavuje tri rôzne hodnoty parametrov. mp4a je formát kódovania zvuku a nasledujúcich 40.2 predstavuje parametre kódovania zvuku.
RESOLUTION je rozlíšenie videa. Aktuálne rozlíšenie zdroja videa je 640x360.
FRAME-RATE je maximálna snímková frekvencia, 29.970 29.970 predstavuje maximálna snímková frekvencia aktuálneho prehrávania je XNUMX XNUMX snímok za sekundu.
AUDIO je zvuková skupina a program_audio je názov zodpovedajúcej zvukovej skupiny.
SUBTITLES označuje zodpovedajúcu skupinu titulkov a subs je názov zodpovedajúcej skupiny titulkov. Vyššie uvedené informácie o titulkoch majú GROUP-ID a táto hodnota im zodpovedá.
URI je cesta k obsahu, 0640 / 0640.m3u8 zodpovedá ceste k súboru m3u8 zdroja videa. To možno vidieť v informáciách o zachytávaní paketov.
Pod EXT-X-STREAM-INF je EXT-XI-FRAME-STREAM-INF, ktorý predstavuje I rámec (kľúčový rámec) multimediálneho zdroja obsiahnutého v súbore zoznamu skladieb. Pretože rám I je iba obrázok, neobsahuje zvukový obsah a zvyšné parametre zodpovedajú formátu video obsahu.
Potom existujú zdroje videa zodpovedajúce rôznym rozlíšeniam, 1920 x 1080, 1280x720, 960x540, 480x270. Pretože HLS automaticky prepne rozlíšenie podľa situácie v sieti, je na výber obvykle pripravených viac rozlíšení. Podľa analýzy zachytených údajov má prvý prehrávaný segment rozlíšenie 640, druhý až 8 segmentov potom rozlíšenie 480 a potom sa prepne na rozlíšenie 640.
zvukový formát
Pozeráme sa dole indexom zodpovedajúceho zvuku
# EXT-X-MEDIA: TYPE = AUDIO, GROUP-ID = "program_audio", LANGUAGE = "eng", NAME = "alternatívne audio", AUTOSELECT = YES, DEFAULT = YES, URI = "audio1 / audio1.m3u8" kopírovanie Zákonníka
# EXT-X-MEDIA sa objavila vyššie, ale nespomenula zoznam viacerých jazykov.
TYPE = AUDIO, tentokrát je to typ zvuku.
GROUP-ID je ID skupiny zodpovedajúce obsahu AUDIO v EXT-X-STREAM-INF.
URI = audio1 / audio1.m3u8 zodpovedá zvukovej ceste.
Alternatívne zdroje rôznych formátov kódovania
V hlavnom súbore M3U8 môžeme vidieť aj zdroj videa s rozlíšením 640, ktoré nie je rovnaké ako vyššie uvedené rozlíšenie 640. Jeho obsah je takýto:
#EXT-X-STREAM-INF:BANDWIDTH=1922391,AVERAGE-BANDWIDTH=1276855,VIDEO-RANGE=SDR,CODECS="hvc1.2.4.H150.B0,mp4a.40.2",RESOLUTION=640x360,FRAME-RATE=29.970 ,AUDIO="program_audio_0",SUBTITLES="subsC"
0640c / prog_index.m3u8
#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=1922391,AVERAGE-BANDWIDTH=1276855,CODECS="hvc1.2.4.H150.B0",RESOLUTION=640x360,URI="0640c/iframe_index.m3u8"
# EXT-X-MEDIA: TYPE = AUDIO, GROUP-ID = "program_audio_0", LANGUAGE = "eng", NAME = "alternatívne audio", AUTOSELECT = YES, DEFAULT = YES, URI = "audioc / prog_index.m3u8" kópia Zákonníka
Formát kódovania CODECS je hvc1.2.4.H150.B0, mp4a.40.2, formát kódovania zvuku sa nezmenil, zmenil sa však formát kódovania videa. hvc1 je jeden z formátov kódovania HEVC (H265). Jedná sa o formát kódovania videa novej generácie, ktorý spustila spoločnosť Apple. Z dôvodu problémov s kompatibilitou mnoho klientov nemôže tento formát analyzovať, takže nie je veľmi populárny. Zobrazujú sa zdroje videa tohto formátu. Tu by malo ísť o zálohu. Pri porovnaní dvoch obsahov rovnakého rozlíšenia možno zistiť, že bitová rýchlosť formátu hvc1 je vyššia ako bitová rýchlosť formátu avc1, čo ukazuje, že obsah hvc1 je väčší a kompresný pomer avc1 je vyšší pri rovnakom rozlíšení.
Zodpovedajúc zdroju videa vo formáte hvc1 sa zmenilo aj zoskupenie podľa obsahu titulkov a zoskupenia zvukového obsahu, a preto majú vyššie uvedené titulky dve kópie v rovnakom jazyku a zodpovedajú zdrojom videa vo formátoch avc1 a hvc1.
Toto je hlavný zoznam M3U8. Zvuk a obraz z tohto obsahu sa spracúvajú osobitne, ale je možné ich aj kombinovať.
Súbor M3u8 obsahujúci informácie o médiu
Vezmite si ako príklad súbor 0640.m3u8
#EXTM3U
# EXT-X-VERZIA: 4
# EXT-X-TARGETDURATION: 7
# SEKVENCIA EXT-X-MÉDIÍ: 1
# TYP EXT-X-PLAYLISTU: VOD
#EXTINF: 6.006,
0640_00001.ts
#EXTINF: 6.006,
0640_00002.ts
#EXTINF: 6.006,
0640_00003.ts
....
# EXT-X-ENDLIST Kopírovať kód
# EXTM3U a # EXT-X-VERSION sú hlavička súboru M3U a kompatibilné číslo verzie. Tento formát je skorá verzia, takže číslo verzie je nižšie ako hlavný súbor.
EXT-X-TARGETDURATION predstavuje maximálnu dobu trvania každého segmentu prehrávania, 7 predstavuje 7 sekúnd a segmenty v tomto adresári nemôžu presiahnuť 7 s.
EXT-X-MEDIA-SEQUENCE predstavuje poradové číslo prvého segmentu zoznamu skladieb a 1 predstavuje začiatočný segment začínajúci od 1.
#EXTINF predstavuje trvanie segmentu, 6.006 znamená, že aktuálny segment je 6.006s. Celkové informácie o trvaní videa sa získajú akumuláciou tejto hodnoty.
0640_00001.ts je relatívna cesta klipu. Súbor ts predstavuje časť videa alebo zvuku a môže mať formát ts, mp4, aac a ďalšie. Pretože bolo špecifikované otváranie od 1
|
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