FMUSER brezžični prenos video in zvoka lažje!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikanščina
sq.fmuser.org -> albanski
ar.fmuser.org -> arabščina
hy.fmuser.org -> Armenščina
az.fmuser.org -> azerbajdžanski
eu.fmuser.org -> baskovščina
be.fmuser.org -> belorusko
bg.fmuser.org -> bolgarščina
ca.fmuser.org -> katalonščina
zh-CN.fmuser.org -> kitajščina (poenostavljena)
zh-TW.fmuser.org -> kitajščina (tradicionalno)
hr.fmuser.org -> hrvaški
cs.fmuser.org -> češčina
da.fmuser.org -> danski
nl.fmuser.org -> nizozemščina
et.fmuser.org -> estonščina
tl.fmuser.org -> filipinsko
fi.fmuser.org -> finski
fr.fmuser.org -> francosko
gl.fmuser.org -> galicijščina
ka.fmuser.org -> gruzijski
de.fmuser.org -> nemščina
el.fmuser.org -> grščina
ht.fmuser.org -> haitijska kreolščina
iw.fmuser.org -> hebrejščina
hi.fmuser.org -> hindujščina
hu.fmuser.org -> madžarščina
is.fmuser.org -> islandski
id.fmuser.org -> indonezijski
ga.fmuser.org -> irski
it.fmuser.org -> italijanščina
ja.fmuser.org -> japonski
ko.fmuser.org -> korejski
lv.fmuser.org -> latvijski
lt.fmuser.org -> litovščina
mk.fmuser.org -> makedonščina
ms.fmuser.org -> malajščina
mt.fmuser.org -> malteščina
no.fmuser.org -> norveščina
fa.fmuser.org -> perzijski
pl.fmuser.org -> poljščina
pt.fmuser.org -> portugalščina
ro.fmuser.org -> romunščina
ru.fmuser.org -> ruščina
sr.fmuser.org -> srbščina
sk.fmuser.org -> slovaški
sl.fmuser.org -> slovenščina
es.fmuser.org -> španščina
sw.fmuser.org -> svahili
sv.fmuser.org -> švedščina
th.fmuser.org -> tajska
tr.fmuser.org -> turški
uk.fmuser.org -> ukrajinski
ur.fmuser.org -> urdujščina
vi.fmuser.org -> Vietnamščina
cy.fmuser.org -> valižanščina
yi.fmuser.org -> jidiš
ozadje
MP4 je naša pogosta oblika videoposnetka in pogosto, ko predvajamo strežniške videoposnetke, je neposredno zahtevani vir videoposnetka MP4. Toda v resnici to ni dobro. Datoteka glave MP4 [ftyp + moov] je velika in začetno predvajanje mora prenesti celotno datoteko glave in jo analizirati, nato pa za predvajanje prenesti določeno dolžino predvajanega video posnetka. Poleg tega se bo s povečevanjem velikosti videoposnetka datoteka z glavo še naprej povečevala, začetni čas predvajanja pa bo daljši. Glede na to je potrebna metoda, ki lahko pospeši začetno analizo videoposnetka. HLS je rešitev, ki jo je Apple rešil za rešitev te težave.
HLS
HLS je okrajšava od HTTP Live Streaming. Gre za protokol za prenos pretočnega medijskega omrežja na osnovi HTTP, ki ga je predlagal Apple. Hkrati lahko podpira tudi predvajanje v živo in na zahtevo, pa tudi večločljivostne, avdio in video dvotirne skladbe, podnapise in druge funkcije. Njeno načelo je, da celoten video razdeli na več majhnih video posnetkov, celotno predvajanje pa nastane s spajanjem teh segmentov.
HLS se pogosto uporablja na mobilnih terminalih. Trenutni odjemalci, ki podpirajo protokol HLS, vključujejo:
iOS 3.0 in novejši, AVPlayer prvotno podpira HLS
Android 3.0 in zgoraj
Adobe Flash Player 11.0 in novejši
Njeno splošno načelo je naslednje:
1. Zberite avdio in video
2. Kodirajte zvok in video na strežniku
3. Po kodiranju ga predajte Segmenterju toka v obliki transportnega toka MPEG-2
4. Rezalnik ustvari indeksno datoteko in seznam predvajanja ts, indeksna datoteka se uporablja za prikaz položaja zvoka in videa, ts pa je pravi večpredstavnostni posnetek
5. Postavite vire iz prejšnjega koraka na strežnik HTTP
6. Naročnik zahteva indeksno datoteko za predvajanje, vsebino predvajanja pa je mogoče najti prek indeksne datoteke
M3U8
Ključni korak za uresničitev HLS je četrti korak zgoraj, in sicer organizacija indeksnih datotek in seznamov predvajanja ts. Tu je uporabljen format M3U8. M3U8 je Unicode različica M3U, 8 pomeni, da se uporablja kodiranje UTF-8, M3U in M3U8 pa sta obliki zapisa datotek za večpredstavnostne sezname.
Opis formata M3U8
Včasih bomo morda morali ročno spremeniti vsebino datoteke M3U8 za testiranje ali v nekaterih posebnih primerih, zato moramo določeno razumeti njeno obliko. Opredelitev te oblike je zapisana v dokumentu RFC 8216. Sledi nekaj opomb:
Datoteke M3U8 morajo biti kodirane v UTF-8 in ne smejo uporabljati bajtnega vrstnega reda bajtnih oznak (BOM) ter ne smejo vsebovati kontrolnih znakov utf-8 (U + 0000 ~ U_001F in U + 007F ~ u + 009F)
Vsaka vrstica vsebine datoteke M3U8 je prazna vrstica, URI ali niz, ki se začne z #, in praznih znakov ni mogoče prikazati.
Vgrajene oznake so vsi nizi, ki se začnejo z #EXT, in razlikujejo med velikimi in malimi črkami.
URI je pot vsebine, ki je lahko relativna ali absolutna pot
Glavna datoteka s seznama M3U8
Glavna indeksna datoteka M3U8 se običajno uporablja za določanje več virov indeksa. Najprej analizirajmo vsebino glavne datoteke m3u8 hls_vod_mvp.m3u8, njena glava je taka
Oblika glave
#EXTM3U
# EXT-X-VERZIJA: 7
# EXT-X-NEODVISNO-SEGMENTS Kopija kode
# EXTM3U označuje, da je datoteka v formatu M3U, vse datoteke v formatu M3U pa bi morale vsebino postaviti v prvo vrstico.
# EXT-X-VERSIOn označuje združljivo različico seznama predvajanja, ki je trenutno 7.
# EXT-X-NEODVISNI-SEGMENTI Ta oznaka označuje, da je mogoče vse vzorce medijev v medijskem segmentu dekodirati neodvisno, ne da bi se zanašali na druge informacije o medijskem segmentu.
Oblika podnapisov
Spodnja vsebina je nekaj napisov, vsebina napisov ni potrebna.
# EXT-X-MEDIA: TYPE = PODNASLOVI, GROUP-ID = "subs", NAME = "English", DEFAULT = YES, AUTOSELECT = YES, FORCED = NO, LANGUAGE = "eng", URI = "podnapisi / eng / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = PODNASLOVI, GROUP-ID = "subsC", NAME = "English", DEFAULT = YES, AUTOSELECT = DA, FORCED = NO, LANGUAGE = "eng", URI = "podnapisi / engc / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = PODNASLOVI, GROUP-ID = "subs", NAME = "Japanese", DEFAULT = YES, AUTOSELECT = YES, FORCED = NO, LANGUAGE = "jpn", URI = "podnapisi / jpn / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = PODNASLOVI, GROUP-ID = "subsC", NAME = "Japanese", DEFAULT = DA, AUTOSELECT = DA, FORCED = NO, LANGUAGE = "jpn", URI = "podnapisi / jpnc / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = PODNASLOVI, GROUP-ID = "subs", NAME = "Chinese", DEFAULT = YES, AUTOSELECT = DA, FORCED = NO, LANGUAGE = "zho", URI = "podnapisi / zho / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = PODNASLOVI, GROUP-ID = "subsC", NAME = "Chinese", PRIROČNO = DA, AUTOSELECT = DA, PRISILNO = NE, JEZIK = "zho", URI = "podnapisi / zhoc / prog_index.m3u8 "Kopiraj kodo
# EXT-X-MEDIA se uporablja za določanje virov večjezičnega seznama medijev iste vsebine.
TIP je vrsta vira, neobvezna vsebina pa je: AUDIO, VIDEO, PODNASLOVI, ZAPRTI NAPISI.
Zgornja vsebina nastavi TIP = PODNASLOVI, kar je vrsta podnapisov.
GROUP-ID je skupina, ki ji pripada večjezični prevod, in je obvezen parameter
NAME je berljiv opis informacij prevajalskega toka in ta vrednost ustreza displayName AVMediaSelectionOption.
DEFAULT, AUTOSELECT, FORCED so tri vrednosti BOOL, ki ustrezajo temu, ali je prevajalski tok privzeto izbran, če manjkajo potrebne informacije. Tok predvajanja se predvaja, ko uporabnik ne prikaže nastavitev. FORCED velja samo za vrsto podnapisov in se uporablja za označevanje trenutne samodejne izbire prevajalskega toka. .
LANGUAGE se uporablja za določitev vrste jezika, ki je nastavljena v skladu s [jezikovno kodo ISO 639] (https://www.w3.org/WAI/ER/WD-AERT/iso639.htm "Koda jezika ISO 639"). Ko sistemski predvajalnik izbere podnapise, se glede na to vrednost nastavi ime prikazanega seznama podnapisov.
URI je informacija o lokaciji vira, kjer ustreza podnaslovljeni datoteki M3U8. podnapisi / eng / prog_index.m3u8 je relativna pot,
Z zgornjimi informacijami lahko analiziramo pomen zgornje vsebine kot: Trenutni video podpira tri podnapise: angleški, japonski in kitajski. Toda vsak jezik ima dve sporočili EXT-X-MEDIA. Razlika med njima je razvrščanje v skupine, eno je razvrščeno v podsisteme, drugo pa v podsC. Zakaj obstajata dve skupini? O tem bom govoril kasneje.
format Video
Ponovno poiščite kazalo video vsebine:
#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: Ta atribut določa rezervni vir, to je pot predvajanja videoposnetka in nekatere video informacije. Sledi konfiguracija ustrezne vsebine: BANDWIDTH je najvišja bitna hitrost, 827299 je 827299bit / s, kar je največji čas, ko porabi 101 KB prometa na sekundo.
AVERAGE-BANDWIDTH je povprečna bitna hitrost, 747464
CODECS kodira informacije, avc1.64001f, mp4a.40.2, avc predstavlja format kodiranja h264, naslednja 64001f je parameter kodiranja, predstavljen s šestnajstiško, 64, 00, 1f oziroma predstavlja tri različne vrednosti parametrov. mp4a je format kodiranja zvoka in naslednjih 40.2 predstavlja parametre kodiranja zvoka.
RESOLUCIJA je ločljivost videa. Trenutna ločljivost video vira je 640x360.
FRAME-RATE je največja hitrost sličic, 29.970 predstavlja največjo hitrost sličic trenutnega predvajanja 29.970 sličic na sekundo.
AUDIO je zvočna skupina, program_audio pa je ime ustrezne zvočne skupine.
SUBTITLES označuje ustrezno skupino podnapisov, subs pa je ime ustrezne skupine podnapisov. Zgornji podatki o podnapisih imajo GROUP-ID in ta vrednost mu ustreza.
URI je pot vsebine, 0640 / 0640.m3u8 ustreza poti datoteke m3u8 video vira. To je razvidno iz informacij o zajemanju paketov.
Pod EXT-X-STREAM-INF je EXT-XI-FRAME-STREAM-INF, ki predstavlja okvir I (ključni okvir) večpredstavnostnega vira v datoteki seznama predvajanja. Ker je okvir I samo slika, ne vsebuje zvočne vsebine, preostali parametri pa so skladni z obliko video vsebine.
Po tem so video viri, ki ustrezajo različnim ločljivostim, 1920x1080, 1280x720, 960x540, 480x270. Ker bo HLS samodejno preklopil ločljivost glede na situacijo v omrežju, je na splošno za izbiro pripravljenih več ločljivosti. Glede na analizo zajetih podatkov je prvi predvajani segment ločljivosti 640, drugi do 8 segmentov za tem 480 ločljivosti, nato pa preklopi na ločljivost 640.
zvočni format
Pogled navzdol je indeks ustreznega zvoka
# EXT-X-MEDIA: TYPE = AUDIO, GROUP-ID = "program_audio", LANGUAGE = "eng", NAME = "Alternate Audio", AUTOSELECT = YES, DEFAULT = YES, URI = "audio1 / audio1.m3u8" Kopiraj Koda
# EXT-X-MEDIA se je pojavil zgoraj, vendar ni omenjal seznama za več jezikov.
TIP = AUDIO, tokrat je vrsta zvočna.
GROUP-ID je ID skupine, ki ustreza vsebini AUDIO v EXT-X-STREAM-INF.
URI = audio1 / audio1.m3u8 ustreza poti zvoka.
Alternativni viri različnih formatov kodiranja
V glavni datoteki M3U8 lahko vidimo tudi video vir ločljivosti 640, ki ni enak zgornji ločljivosti 640. Njegova vsebina je taka:
#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 = "Alternate Audio", AUTOSELECT = YES, DEFAULT = YES, URI = "audioc / prog_index.m3u8" Kopiraj Koda
Oblika kodiranja CODECS je hvc1.2.4.H150.B0, mp4a.40.2, oblika kodiranja zvoka se ni spremenila, spremenila pa se je oblika kodiranja videa. hvc1 je ena od oblik kodiranja HEVC (H265). Gre za novo generacijo video kodiranja, ki jo je predstavil Apple. Zaradi težav z združljivostjo mnogi odjemalci ne morejo razčleniti te oblike, zato ni zelo priljubljena. Videti so video viri v tej obliki. Tu bi morala biti varnostna kopija. Če primerjamo dve vsebini iste ločljivosti, lahko ugotovimo, da je bitna hitrost formata hvc1 višja od hitrosti zapisa formata avc1, kar kaže, da je vsebnost hvc1 večja in je razmerje stiskanja avc1 pri isti ločljivosti večje.
Glede na video vir v formatu hvc1 sta se spremenili tudi njegovo razvrščanje vsebine podnapisov in razvrščanje zvočnih vsebin, zato imata zgornja podnapisa dve kopiji istega jezika in ustrezata video virom v oblikah avc1 in hvc1.
To je glavni seznam M3U8. Zvok in video te vsebine se obdelata ločeno, lahko pa ju tudi kombiniramo.
Datoteka M3u8, ki vsebuje medijske informacije
Za primer vzemimo datoteko 0640.m3u8
#EXTM3U
# EXT-X-VERZIJA: 4
# EXT-X-CILJ TRAJANJA: 7
# EXT-X-MEDIA-SEQUENCE: 1
# EXT-X-TIP SEZNAM PREDVAJANJA: VOD
#EXTINF: 6.006,
0640_00001.ts
#EXTINF: 6.006,
0640_00002.ts
#EXTINF: 6.006,
0640_00003.ts
....
# EXT-X-ENDLIST Kopirajte kodo
# EXTM3U in # EXT-X-VERSION sta glava datoteke M3U oziroma številka združljive različice. Ta oblika je zgodnja različica, zato je številka različice nižja od glavne datoteke.
EXT-X-TARGETDURATION predstavlja največje trajanje vsakega predvajanega segmenta, 7 predstavlja 7 sekund in segmenti v tem imeniku ne smejo presegati 7 s.
EXT-X-MEDIA-SEQUENCE predstavlja zaporedno številko prvega segmenta seznama predvajanja, 1 pa pomeni, da se segment predvajanja začne od 1.
#EXTINF predstavlja trajanje segmenta, 6.006 pomeni, da je trenutni segment 6.006s. Podatki o celotnem trajanju video posnetka se pridobijo z zbiranjem te vrednosti.
0640_00001.ts je relativna pot posnetka. Datoteka ts predstavlja del videa ali zvoka in je lahko v oblikah ts, mp4, aac in drugih. Ker je bilo določeno, da se odpre od 1
|
Vnesite e-pošto, da dobite presenečenje
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikanščina
sq.fmuser.org -> albanski
ar.fmuser.org -> arabščina
hy.fmuser.org -> Armenščina
az.fmuser.org -> azerbajdžanski
eu.fmuser.org -> baskovščina
be.fmuser.org -> belorusko
bg.fmuser.org -> bolgarščina
ca.fmuser.org -> katalonščina
zh-CN.fmuser.org -> kitajščina (poenostavljena)
zh-TW.fmuser.org -> kitajščina (tradicionalno)
hr.fmuser.org -> hrvaški
cs.fmuser.org -> češčina
da.fmuser.org -> danski
nl.fmuser.org -> nizozemščina
et.fmuser.org -> estonščina
tl.fmuser.org -> filipinsko
fi.fmuser.org -> finski
fr.fmuser.org -> francosko
gl.fmuser.org -> galicijščina
ka.fmuser.org -> gruzijski
de.fmuser.org -> nemščina
el.fmuser.org -> grščina
ht.fmuser.org -> haitijska kreolščina
iw.fmuser.org -> hebrejščina
hi.fmuser.org -> hindujščina
hu.fmuser.org -> madžarščina
is.fmuser.org -> islandski
id.fmuser.org -> indonezijski
ga.fmuser.org -> irski
it.fmuser.org -> italijanščina
ja.fmuser.org -> japonski
ko.fmuser.org -> korejski
lv.fmuser.org -> latvijski
lt.fmuser.org -> litovščina
mk.fmuser.org -> makedonščina
ms.fmuser.org -> malajščina
mt.fmuser.org -> malteščina
no.fmuser.org -> norveščina
fa.fmuser.org -> perzijski
pl.fmuser.org -> poljščina
pt.fmuser.org -> portugalščina
ro.fmuser.org -> romunščina
ru.fmuser.org -> ruščina
sr.fmuser.org -> srbščina
sk.fmuser.org -> slovaški
sl.fmuser.org -> slovenščina
es.fmuser.org -> španščina
sw.fmuser.org -> svahili
sv.fmuser.org -> švedščina
th.fmuser.org -> tajska
tr.fmuser.org -> turški
uk.fmuser.org -> ukrajinski
ur.fmuser.org -> urdujščina
vi.fmuser.org -> Vietnamščina
cy.fmuser.org -> valižanščina
yi.fmuser.org -> jidiš
FMUSER brezžični prenos video in zvoka lažje!
Kontakt
naslov:
No.305 Soba HuiLan stavba št.273 Huanpu Road Guangzhou Kitajska 510620
Kategorije
Novice