FMUSER Bezdrátový přenos videa a zvuku snadnější!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikánština
sq.fmuser.org -> albánština
ar.fmuser.org -> arabština
hy.fmuser.org -> Arménský
az.fmuser.org -> Ázerbájdžánština
eu.fmuser.org -> baskičtina
be.fmuser.org -> běloruský
bg.fmuser.org -> Bulgarian
ca.fmuser.org -> Katalánština
zh-CN.fmuser.org -> čínština (zjednodušená)
zh-TW.fmuser.org -> Čínsky (zjednodušeně)
hr.fmuser.org -> chorvatština
cs.fmuser.org -> čeština
da.fmuser.org -> dánština
nl.fmuser.org -> Dutch
et.fmuser.org -> estonština
tl.fmuser.org -> filipínský
fi.fmuser.org -> finština
fr.fmuser.org -> French
gl.fmuser.org -> galicijština
ka.fmuser.org -> gruzínština
de.fmuser.org -> němčina
el.fmuser.org -> Greek
ht.fmuser.org -> haitská kreolština
iw.fmuser.org -> hebrejština
hi.fmuser.org -> hindština
hu.fmuser.org -> Hungarian
is.fmuser.org -> islandština
id.fmuser.org -> Indonéština
ga.fmuser.org -> Irština
it.fmuser.org -> Italian
ja.fmuser.org -> japonština
ko.fmuser.org -> korejština
lv.fmuser.org -> lotyština
lt.fmuser.org -> Litevština
mk.fmuser.org -> makedonština
ms.fmuser.org -> Malajština
mt.fmuser.org -> maltština
no.fmuser.org -> Norwegian
fa.fmuser.org -> perština
pl.fmuser.org -> polština
pt.fmuser.org -> portugalština
ro.fmuser.org -> Rumunština
ru.fmuser.org -> ruština
sr.fmuser.org -> srbština
sk.fmuser.org -> slovenština
sl.fmuser.org -> Slovinština
es.fmuser.org -> španělština
sw.fmuser.org -> svahilština
sv.fmuser.org -> švédština
th.fmuser.org -> Thai
tr.fmuser.org -> turečtina
uk.fmuser.org -> ukrajinština
ur.fmuser.org -> urdština
vi.fmuser.org -> Vietnamská
cy.fmuser.org -> velština
yi.fmuser.org -> Jidiš
pozadí
MP4 je náš běžný formát videa a často, když přehráváme videa na serveru, je to přímo požadovaný zdroj videa MP4. Ale ve skutečnosti to není dobré. Soubor záhlaví MP4 [ftyp + moov] je velký a počáteční přehrávání vyžaduje stažení celého souboru záhlaví a jeho analýzu a poté stažení určité délky přehrávatelného videoklipu. Jak se zvětšuje velikost videa, soubor záhlaví se bude dále zvětšovat a počáteční doba přehrávání bude delší. S ohledem na tuto situaci je nutná metoda, která může urychlit počáteční analýzu videa. HLS je řešení navržené společností Apple k řešení tohoto problému.
HLS
HLS je zkratka pro živé streamování HTTP. Jedná se o protokol HTTP pro streamování mediálních sítí navržený společností Apple. Může podporovat živé vysílání a na vyžádání současně, stejně jako multi-definice, audio a video duální stopy, titulky a další funkce. Jeho principem je rozdělit celé video na několik malých videí a úplné přehrávání je vytvořeno spojením těchto segmentů.
HLS je široce používán na mobilních terminálech. Mezi aktuální klienty, kteří podporují protokol HLS, patří:
iOS 3.0 a vyšší, AVPlayer nativně podporuje HLS
Android 3.0 a vyšší
Adobe Flash Player 11.0 a vyšší
Jeho obecná zásada je tato:
1. Sbírejte audio a video
2. Zakódujte zvuk a video na serveru
3. Po zakódování jej předejte Stream Segmenteru ve formě transportního proudu MPEG-2
4. Kráječ vytvoří indexový soubor a seznam skladeb ts, indexový soubor se používá k označení polohy zvuku a videa a ts je skutečný multimediální klip.
5. Vložte prostředky z předchozího kroku na server HTTP
6. Klient požaduje indexový soubor pro přehrávání a obsah přehrávání lze najít prostřednictvím indexového souboru
M3U8
Klíčovým krokem k realizaci HLS je čtvrtý výše uvedený krok, a to organizace indexových souborů a seznamů skladeb. Zde se používá formát M3U8. M3U8 je verze M3U v Unicode, což znamená, že se používá kódování UTF-8, a M8U i M3U3 jsou formáty souborů pro multimediální seznamy.
Popis formátu rozšíření M3U8
Někdy možná budeme muset ručně upravit obsah souboru M3U8 pro testování nebo v některých zvláštních případech, takže potřebujeme určitou znalost jeho formátu. Definice tohoto formátu je zapsána v dokumentu RFC 8216. Následuje několik poznámek:
Soubory M3U8 musí být kódovány v UTF-8 a nemohou používat pořadí bajtů Byte Order Mark (BOM) a nesmí obsahovat řídicí znaky utf-8 (U + 0000 ~ U_001F a U + 007F ~ u + 009F)
Každý řádek obsahu souboru M3U8 je buď prázdný řádek, identifikátor URI nebo řetězec začínající znakem # a nemohou se objevit žádné prázdné znaky.
Integrované značky jsou všechny řetězce začínající na #EXT a rozlišují velká a malá písmena.
URI je cesta obsahu, což může být relativní cesta nebo absolutní cesta
Hlavní soubor seznamu M3U8
Hlavní indexový soubor M3U8 se obecně používá k určení více zdrojů indexu. Nejprve analyzujme obsah hlavního souboru m3u8 hls_vod_mvp.m3u8, jeho hlava je taková
Formát záhlaví
#EXTM3U
# EXT-X-VERZE: 7
# EXT-X-INDEPENDENT-SEGMENTS Zkopírujte kód
# EXTM3U označuje, že soubor je ve formátu M3U, a všechny soubory ve formátu M3U by měly umístit obsah na první řádek.
# EXT-X-VERSIOn označuje kompatibilní verzi seznamu skladeb, která je aktuálně 7.
# EXT-X-INDEPENDENT-SEGMENTS Tato značka označuje, že všechny vzorky médií v mediálním segmentu lze dekódovat nezávisle, aniž byste se museli spoléhat na další informace o mediálním segmentu.
Formát titulků
Níže uvedený obsah obsahuje několik titulků, obsah titulků není nutný.
# EXT-X-MEDIA: TYPE = SUBTITLES, GROUP-ID = "subs", NAME = "English", DEFAULT = YES, AUTOSELECT = YES, FORCED = NO, LANGUAGE = "eng", URI = "titulky / 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 = SUBTITLES, GROUP-ID = "subs", NAME = "Chinese", DEFAULT = YES, AUTOSELECT = YES, FORCED = NO, LANGUAGE = "zho", URI = "subtitles / 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 "Zkopírujte kód
# EXT-X-MEDIA se používá k určení vícejazyčných zdrojů seznamu médií se stejným obsahem.
TYPE je typ zdroje a volitelný obsah je: AUDIO, VIDEO, TITULKY, ZATVORENÉ CAPTIONS.
Výše uvedený obsah nastavuje TYPE = SUBTITLES, což je typ titulků.
GROUP-ID je skupina, do které vícejazyčný překlad patří, a je požadovaným parametrem
NAME jsou čitelné popisné informace překladového proudu a tato hodnota odpovídá displayName AVMediaSelectionOption.
DEFAULT, AUTOSELECT, FORCED jsou tři BOOL hodnoty odpovídající tomu, zda je ve výchozím nastavení vybrán překladový proud, pokud chybí potřebné informace. Přehrávaný stream se přehrává, když uživatel nastavení nezobrazí. FORCED je platné pouze pro typ titulků a používá se k označení aktuální automatické volby proudu překladu. .
LANGUAGE se používá k určení typu jazyka, který je nastaven podle [kód jazyka ISO 639] (https://www.w3.org/WAI/ER/WD-AERT/iso639.htm „Jazykový kód ISO 639“). Když výchozí přehrávač systému vybere titulky, nastaví se název zobrazeného seznamu titulků podle této hodnoty.
URI je informace o umístění zdroje, kde odpovídá souboru s podtitulem M3U8. titulky / eng / prog_index.m3u8 je relativní cesta,
Prostřednictvím výše uvedených informací můžeme analyzovat význam výše uvedeného obsahu jako: Aktuální video podporuje tři titulky: anglické, japonské a čínské. Každý jazyk má ale dvě zprávy EXT-X-MEDIA. Rozdíl mezi nimi je seskupení, jeden je seskupen do subs a druhý je seskupen do subsC. Proč existují dvě skupiny? O tom si promluvím později.
formát videa
Znovu se podívejte dolů na 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 atribut určuje záložní zdroj, tj. Cestu přehrávání videa a některé informace o videu. Následuje konfigurace odpovídajícího obsahu: BANDWIDTH je maximální bitová rychlost, 827299 je 827299bit / s, což je nejvyšší doba špičky. Spotřeba 101 kB provozu za sekundu.
AVERAGE-BANDWIDTH je průměrná bitová rychlost 747464
CODECS je kódovací informace, avc1.64001f, mp4a.40.2, avc představuje formát kódování h264, následující 64001f je parametr kódování představovaný hexadecimálně, 64, 00, 1f představují tři různé hodnoty parametrů. mp4a je formát kódování zvuku a následující 40.2 představuje parametry kódování zvuku.
ROZLIŠENÍ je rozlišení videa. Aktuální rozlišení zdroje videa je 640x360.
FRAME-RATE je maximální obnovovací frekvence, 29.970 29.970 představuje maximální obnovovací frekvence aktuálního přehrávání je XNUMX XNUMX snímků za sekundu.
AUDIO je zvuková skupina a program_audio je název odpovídající zvukové skupiny.
SUBTITLES označuje odpovídající skupinu titulků a subs je název odpovídající skupiny titulků. Výše uvedená informace o titulcích má GROUP-ID a tato hodnota mu odpovídá.
URI je cesta k obsahu, 0640 / 0640.m3u8 odpovídá cestě souboru m3u8 zdroje videa. To lze vidět v informacích o zachycování paketů.
Pod EXT-X-STREAM-INF je EXT-XI-FRAME-STREAM-INF, který představuje I snímek (klíčový snímek) multimediálního zdroje obsaženého v souboru seznamu skladeb. Protože I snímek je jen obrázek, neobsahuje zvukový obsah a zbývající parametry jsou v souladu s formátem video obsahu.
Poté existují zdroje videa odpovídající různým rozlišením, 1920x1080, 1280x720, 960x540, 480x270. Protože HLS automaticky přepne rozlišení podle situace v síti, je pro výběr obvykle připraveno více rozlišení. Podle analýzy zachycených dat má první přehrávaný segment rozlišení 640, druhý až 8 segmentů rozlišení 480 a poté je přepnut na rozlišení 640.
audio formátu
Při pohledu dolů je index příslušného zvuku
# EXT-X-MEDIA: TYPE = AUDIO, GROUP-ID = "program_audio", LANGUAGE = "eng", NAME = "alternativní zvuk", AUTOSELECT = YES, DEFAULT = YES, URI = "audio1 / audio1.m3u8" kopírovat Kód
# EXT-X-MEDIA se objevila výše, ale nezmiňovala seznam pro více jazyků.
TYPE = AUDIO, tentokrát jde o zvuk.
GROUP-ID je ID skupiny, které odpovídá obsahu AUDIO v EXT-X-STREAM-INF.
URI = audio1 / audio1.m3u8 odpovídá zvukové cestě.
Alternativní zdroje různých formátů kódování
V hlavním souboru M3U8 můžeme také vidět zdroj videa v rozlišení 640, který není stejný jako výše uvedené rozlišení 640. Jeho obsah je takový:
#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 = "alternativní zvuk", AUTOSELECT = ANO, VÝCHOZÍ = ANO, URI = "audioc / prog_index.m3u8" kopírovat Kód
Formát kódování CODECS je hvc1.2.4.H150.B0, mp4a.40.2, formát kódování zvuku se nezměnil, ale formát kódování videa se změnil. hvc1 je jedním z formátů kódování HEVC (H265). Jedná se o formát kódování videa nové generace spuštěný společností Apple. Z důvodu problémů s kompatibilitou mnoho klientů nemůže tento formát analyzovat, takže není příliš populární. Zobrazují se zdroje videa tohoto formátu. Mělo by se jednat o zálohu zde. Při srovnání dvou obsahů stejného rozlišení lze zjistit, že bitová rychlost formátu hvc1 je vyšší než bitová rychlost formátu avc1, což ukazuje, že obsah hvc1 je větší a kompresní poměr avc1 je vyšší při stejném rozlišení.
Odpovídající zdroji videa ve formátu hvc1 se také změnilo seskupení obsahu titulků a seskupení zvukového obsahu, a proto mají výše uvedené titulky dvě kopie stejného jazyka a odpovídají zdrojům videa ve formátech avc1 a hvc1.
Toto je hlavní seznam M3U8. Zvuk a video tohoto obsahu se zpracovává samostatně, ale lze je také kombinovat.
Soubor M3u8 obsahující informace o médiích
Jako příklad si vezměte soubor 0640.m3u8
#EXTM3U
# EXT-X-VERZE: 4
# EXT-X-TARGETDURATION: 7
# SEKVENCE EXT-X-MEDIA: 1
# EXT-X-PLAYLIST-TYPE: VOD
#EXTINF: 6.006,
0640_00001.ts
#EXTINF: 6.006,
0640_00002.ts
#EXTINF: 6.006,
0640_00003.ts
....
# EXT-X-ENDLIST Kopírovat kód
# EXTM3U a # EXT-X-VERSION jsou záhlaví souboru M3U a kompatibilní číslo verze. Tento formát je časná verze, takže číslo verze je nižší než hlavní soubor.
EXT-X-TARGETDURATION představuje maximální dobu trvání každého segmentu přehrávání, 7 představuje 7 sekund a segmenty v tomto adresáři nesmí přesáhnout 7 s.
EXT-X-MEDIA-SEQUENCE představuje pořadové číslo prvního segmentu seznamu skladeb a 1 znamená, že segment přehrávání začíná od 1.
#EXTINF představuje trvání segmentu, 6.006 znamená, že aktuální segment je 6.006s. Informace o celkové délce videa se získá akumulací této hodnoty.
0640_00001.ts je relativní cesta klipu. Soubor ts představuje část videa nebo zvuku a může být ve formátech ts, mp4, aac a dalších. Protože bylo specifikováno otevření od 1
|
Zadejte e-mail a získejte překvapení
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikánština
sq.fmuser.org -> albánština
ar.fmuser.org -> arabština
hy.fmuser.org -> Arménský
az.fmuser.org -> Ázerbájdžánština
eu.fmuser.org -> baskičtina
be.fmuser.org -> běloruský
bg.fmuser.org -> Bulgarian
ca.fmuser.org -> Katalánština
zh-CN.fmuser.org -> čínština (zjednodušená)
zh-TW.fmuser.org -> Čínsky (zjednodušeně)
hr.fmuser.org -> chorvatština
cs.fmuser.org -> čeština
da.fmuser.org -> dánština
nl.fmuser.org -> Dutch
et.fmuser.org -> estonština
tl.fmuser.org -> filipínský
fi.fmuser.org -> finština
fr.fmuser.org -> French
gl.fmuser.org -> galicijština
ka.fmuser.org -> gruzínština
de.fmuser.org -> němčina
el.fmuser.org -> Greek
ht.fmuser.org -> haitská kreolština
iw.fmuser.org -> hebrejština
hi.fmuser.org -> hindština
hu.fmuser.org -> Hungarian
is.fmuser.org -> islandština
id.fmuser.org -> Indonéština
ga.fmuser.org -> Irština
it.fmuser.org -> Italian
ja.fmuser.org -> japonština
ko.fmuser.org -> korejština
lv.fmuser.org -> lotyština
lt.fmuser.org -> Litevština
mk.fmuser.org -> makedonština
ms.fmuser.org -> Malajština
mt.fmuser.org -> maltština
no.fmuser.org -> Norwegian
fa.fmuser.org -> perština
pl.fmuser.org -> polština
pt.fmuser.org -> portugalština
ro.fmuser.org -> Rumunština
ru.fmuser.org -> ruština
sr.fmuser.org -> srbština
sk.fmuser.org -> slovenština
sl.fmuser.org -> Slovinština
es.fmuser.org -> španělština
sw.fmuser.org -> svahilština
sv.fmuser.org -> švédština
th.fmuser.org -> Thai
tr.fmuser.org -> turečtina
uk.fmuser.org -> ukrajinština
ur.fmuser.org -> urdština
vi.fmuser.org -> Vietnamská
cy.fmuser.org -> velština
yi.fmuser.org -> Jidiš
FMUSER Bezdrátový přenos videa a zvuku snadnější!
Kontakt
Adresa:
Budova č. 305 Room HuiLan No.273 Huanpu Road Guangzhou Čína 510620
Kategorie
Newsletter