FMUSER Wirless Overfør video og lyd lettere.
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> albansk
ar.fmuser.org -> arabisk
hy.fmuser.org -> Armensk
az.fmuser.org -> aserbajdsjansk
eu.fmuser.org -> baskisk
be.fmuser.org -> hviderussisk
bg.fmuser.org -> Bulgarian
ca.fmuser.org -> Catalansk
zh-CN.fmuser.org -> Kinesisk (forenklet)
zh-TW.fmuser.org -> Kinesisk (traditionelt)
hr.fmuser.org -> Kroatisk
cs.fmuser.org -> Tjekkisk
da.fmuser.org -> dansk
nl.fmuser.org -> Hollandsk
et.fmuser.org -> estisk
tl.fmuser.org -> filippinsk
fi.fmuser.org -> finsk
fr.fmuser.org -> Fransk
gl.fmuser.org -> galicisk
ka.fmuser.org -> Georgisk
de.fmuser.org -> tysk
el.fmuser.org -> Greek
ht.fmuser.org -> haitisk kreolsk
iw.fmuser.org -> hebraisk
hi.fmuser.org -> hindi
hu.fmuser.org -> Hungarian
is.fmuser.org -> islandsk
id.fmuser.org -> Indonesisk
ga.fmuser.org -> Irsk
it.fmuser.org -> Italiensk
ja.fmuser.org -> japansk
ko.fmuser.org -> koreansk
lv.fmuser.org -> lettisk
lt.fmuser.org -> Litauisk
mk.fmuser.org -> Makedonsk
ms.fmuser.org -> malaysisk
mt.fmuser.org -> maltesisk
no.fmuser.org -> Norwegian
fa.fmuser.org -> persisk
pl.fmuser.org -> polsk
pt.fmuser.org -> portugisisk
ro.fmuser.org -> Romanian
ru.fmuser.org -> russisk
sr.fmuser.org -> serbisk
sk.fmuser.org -> Slovakisk
sl.fmuser.org -> Slovensk
es.fmuser.org -> spansk
sw.fmuser.org -> swahili
sv.fmuser.org -> svensk
th.fmuser.org -> Thai
tr.fmuser.org -> tyrkisk
uk.fmuser.org -> ukrainsk
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamesisk
cy.fmuser.org -> walisisk
yi.fmuser.org -> Jiddisch
baggrund
MP4 er vores almindelige videoformat, og ofte når vi afspiller servervideoer, er det direkte den ønskede MP4-videokilde. Men faktisk er dette ikke godt. MP4-header-filen [ftyp+moov] er stor, og den indledende afspilning skal downloade den komplette header-fil og analysere den og derefter downloade en vis længde af afspilbart videoklip for at afspille. Derudover vil header-filen fortsætte med at vokse, efterhånden som størrelsen af videoen øges, og den indledende afspilningstid vil være længere. I lyset af denne situation er der behov for en metode, der kan fremskynde den indledende analyse af videoen. HLS er løsningen foreslået af Apple til at løse dette problem.
HLS
HLS er forkortelsen for HTTP Live Streaming. Det er en HTTP-baseret streaming-medienetværkstransmissionsprotokol foreslået af Apple. Det kan understøtte live og on-demand på samme tid, såvel som multi-definition, lyd og video dual-track, undertekster og andre funktioner. Dens princip er at opdele en hel video i flere små videoer, og den komplette afspilning dannes ved at splejse disse segmenter.
HLS er meget udbredt på mobile terminaler. De nuværende klienter, der understøtter HLS-protokollen inkluderer:
iOS 3.0 og nyere, AVPlayer understøtter naturligt HLS
Android 3.0 og over
Adobe Flash Player 11.0 og nyere
Dens generelle princip er dette:
1. Saml lyd og video
2. Indkode lyd og video på serveren
3. Efter kodning afleveres det til Stream Segmenter i form af MPEG-2 transport stream
4. Sliceren opretter en indeksfil og en ts-afspilningsliste, indeksfilen bruges til at angive placeringen af lyd og video, og ts er et rigtigt multimedieklip
5. Læg ressourcerne fra det forrige trin på HTTP-serveren
6. Klienten anmoder om indeksfilen til afspilning, og afspilningsindholdet kan findes gennem indeksfilen
M3U8
Et nøgletrin til at realisere HLS er det fjerde trin ovenfor, nemlig organiseringen af indeksfiler og ts-afspilningslister. M3U8-formatet bruges her. M3U8 er Unicode-versionen af M3U, 8 betyder UTF-8-kodning, og både M3U og M3U8 er filformater til multimedielister.
M3U8 format beskrivelse
Nogle gange kan vi være nødt til manuelt at ændre indholdet af M3U8-filen til test eller i nogle specielle tilfælde, så vi skal have en vis forståelse af dens format. Definitionen af dette format er skrevet i RFC 8216-dokumentet. Følgende er nogle bemærkninger:
M3U8-filer skal være kodet i UTF-8 og kan ikke bruge Byte Order Mark (BOM) byte-rækkefølge og må ikke indeholde utf-8 kontroltegn (U+0000 ~ U_001F og U+007F ~ u+009F)
Hver linje i M3U8-filindholdet er enten en tom linje, en URI eller en streng, der starter med #, og der kan ikke vises tomme tegn.
De indbyggede tags er alle strenge, der starter med #EXT og skelner mellem store og små bogstaver.
URI er indholdsstien, som kan være en relativ sti eller en absolut sti
Master M3U8 listefil
Hoved-M3U8-indeksfilen bruges generelt til at specificere flere indekskilder. Lad os først analysere indholdet af m3u8-hovedfilen hls_vod_mvp.m3u8, dens hoved er sådan her
Overskriftsformat
#EXTM3U
# EXT-X-VERSION: 7
#EXT-X-INDEPENDENT-SEGMENTSCopiér kode
#EXTM3U angiver, at filen er i M3U-format, og alle M3U-formatfiler skal placere indholdet på den første linje.
#EXT-X-VERSION angiver den kompatible version af afspilningslisten, som i øjeblikket er 7.
#EXT-X-INDEPENDENT-SEGMENTS Dette tag angiver, at alle medieeksempler i et mediesegment kan afkodes uafhængigt uden at være afhængig af andre mediesegmentoplysninger.
Undertekstformat
Indholdet nedenfor er nogle billedtekster, indholdet af billedtekster er ikke nødvendigt.
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="English",DEFAULT=YES,AUTOSELECT=YES,FORCED=NEJ,LANGUAGE="eng",URI="subtitles/eng/ prog_index.m3u8"
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subsC",NAME="English",DEFAULT=YES,AUTOSELECT=YES,FORCED=NEJ,LANGUAGE="eng",URI="subtitles/engc/ prog_index.m3u8"
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="Japanese",DEFAULT=YES,AUTOSELECT=YES,FORCED=NEJ,LANGUAGE="jpn",URI="subtitles/jpn/ prog_index.m3u8"
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subsC",NAME="Japanese",DEFAULT=YES,AUTOSELECT=YES,FORCED=NEJ,LANGUAGE="jpn",URI="subtitles/jpnc/ prog_index.m3u8"
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="kinesisk",DEFAULT=YES,AUTOSELECT=YES,FORCED=NEJ,LANGUAGE="zho",URI="subtitles/zho/ prog_index.m3u8"
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subsC",NAME="kinesisk",DEFAULT=YES,AUTOSELECT=JA,FORCED=NEJ,LANGUAGE="zho",URI="subtitles/zhoc/ prog_index.m3u8"Kopiér kode
#EXT-X-MEDIA bruges til at angive flersprogede medielisteressourcer med det samme indhold.
TYPE er ressourcetypen, og det valgfrie indhold er: LYD, VIDEO, UNDERTEKTER, LUKKET BILLEDTEKTER.
Ovenstående indhold indstiller TYPE=SUBTITLES, som er underteksttypen.
GROUP-ID er den gruppe, som den flersprogede oversættelse tilhører og er en påkrævet parameter
NAME er den læsbare beskrivelsesinformation for oversættelsesstrømmen, og denne værdi svarer til displayName for AVMediaSelectionOption.
DEFAULT, AUTOSELECT, FORCED er tre BOOL-værdier, der svarer til, om oversættelsesstrømmen er valgt som standard, hvis den nødvendige information mangler. Afspilningsstreamen afspilles, når brugeren ikke viser indstillingerne. FORCED er kun gyldig for underteksttypen og bruges til at markere det aktuelle automatiske valg af oversættelsesstrømmen. .
LANGUAGE bruges til at angive sprogtypen, som er indstillet i henhold til [ISO 639 sprogkoden] (https://www.w3.org/WAI/ER/WD-AERT/iso639.htm "ISO 639 sprogkode") standard. Når systemets standardafspiller vælger undertekster, indstilles navnet på den viste undertekstliste i overensstemmelse med denne værdi.
URI'en er placeringsinformationen for ressourcen, hvor den svarer til en undertekstet M3U8-fil. subtitles/eng/prog_index.m3u8 er en relativ sti,
Gennem ovenstående information kan vi analysere betydningen af ovenstående indhold som: Den aktuelle video understøtter tre undertekster: engelsk, japansk og kinesisk. Men hvert sprog har to EXT-X-MEDIA-meddelelser. Forskellen mellem dem er grupperingen, den ene er grupperet i subs og den anden er grupperet i subsC. Hvorfor er der to grupper? Jeg vil tale om dette senere.
Videoformat
Se ned igen for at se indekset over videoindholdet:
#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: Denne attribut angiver en sikkerhedskopikilde, det vil sige videoafspilningsstien og nogle videooplysninger. Følgende er konfigurationen af det tilsvarende indhold: BANDWIDTH er spidsbithastigheden, 827299 er 827299bit/s, hvilket er den højeste spidsbelastningstid Bruger 101KB trafik pr. sekund.
AVERAGE-BANDWIDTH er den gennemsnitlige bithastighed, 747464
CODECS er kodningsinformation, avc1.64001f, mp4a.40.2, avc repræsenterer h264-kodningsformatet, følgende 64001f er kodningsparameteren repræsenteret ved hexadecimal, henholdsvis 64, 00, 1f repræsenterer tre forskellige parameterværdier. mp4a er et lydkodningsformat, og følgende 40.2 repræsenterer lydkodningsparametre.
RESOLUTION er videoopløsningen. Den aktuelle videokildeopløsning er 640x360.
FRAME-RATE er den maksimale billedhastighed, 29.970 repræsenterer den maksimale billedhastighed for den aktuelle afspilning er 29.970 billeder pr. sekund.
AUDIO er lydgruppen, og program_audio er navnet på den tilsvarende lydgruppe.
UNDERTEKST angiver den tilsvarende undertekstgruppe, og undertekster er navnet på den tilsvarende undertekstgruppe. Ovenstående undertekstinformation har et GROUP-ID, og denne værdi svarer til det.
URI er indholdsstien, 0640/0640.m3u8 svarer til m3u8-filstien til videokilden. Dette kan ses i pakkeopsamlingsoplysningerne.
Under EXT-X-STREAM-INF er EXT-XI-FRAME-STREAM-INF, som repræsenterer I-rammen (nøglerammen) for multimedieressourcen indeholdt i afspilningslistefilen. Fordi I-rammen kun er et billede, indeholder den ikke lydindhold, og de resterende parametre stemmer overens med videoindholdsformatet.
Derefter er der videokilder svarende til forskellige opløsninger, 1920x1080, 1280x720, 960x540, 480x270. Fordi HLS automatisk skifter opløsning i henhold til netværkssituationen, er flere opløsninger generelt forberedt til valg. Ifølge analysen af de registrerede data er det første segment, der spilles, 640 opløsning, det andet til 8 segmenter efter det er 480 opløsning, og derefter skiftes det til 640 opløsning.
lydformat
Kigger ned er indekset for den tilsvarende lyd
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="program_audio",LANGUAGE="eng",NAME="Alternativ lyd",AUTOSELECT=YES,DEFAULT=YES,URI="audio1/audio1.m3u8"Kopiér kode
#EXT-X-MEDIA dukkede op ovenfor, men nævnte ikke listen for flere sprog.
TYPE=LYD, denne gang er typen lyd.
GROUP-ID er gruppe-id'et, der svarer til AUDIO-indholdet i EXT-X-STREAM-INF.
URI=audio1/audio1.m3u8 svarer til lydstien.
Alternative kilder til forskellige kodningsformater
I M3U8-hovedfilen kan vi også se en videokilde med 640 opløsning, hvilket ikke er det samme som ovenstående 640 opløsning. Dens indhold er som dette:
#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="Alternativ lyd",AUTOSELECT=YES,DEFAULT=YES,URI="audioc/prog_index.m3u8"Kopiér kode
CODECS-kodningsformatet er hvc1.2.4.H150.B0, mp4a.40.2, lydkodningsformatet er ikke ændret, men videokodningsformatet er ændret. hvc1 er et af HEVC (H265) kodningsformaterne. Det er en ny generation af videokodningsformat lanceret af Apple. På grund af kompatibilitetsproblemer kan mange klienter ikke parse dette format, så det er ikke særlig populært. Videokilder i dette format vises. Det skal være en sikkerhedskopi her. Ved at sammenligne to indhold af samme opløsning kan det konstateres, at bithastigheden for hvc1-formatet er højere end for avc1-formatet, hvilket viser, at indholdet af hvc1 er større, og komprimeringsforholdet for avc1 er højere under samme opløsning.
Svarende til videokilden i hvc1-formatet er dens undertekstindholdsgruppering og lydindholdsgruppering også ændret, hvorfor ovenstående undertekster har to kopier af samme sprog, og de svarer til videokilderne i avc1- og hvc1-formaterne.
Dette er hovedlisten over M3U8. Lyden og videoen af dette indhold behandles separat, men de kan også kombineres.
M3u8-fil, der indeholder medieoplysninger
Tag filen 0640.m3u8 som eksempel
#EXTM3U
# EXT-X-VERSION: 4
# EKSTRE-X-MÅLVARIGHED: 7
# EXT-X-MEDIA-SEKVENS: 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-ENDLISTKopiér kode
#EXTM3U og #EXT-X-VERSION er henholdsvis M3U-filheaderen og det kompatible versionsnummer. Dette format er en tidlig version, så versionsnummeret er lavere end hovedfilen.
EXT-X-MÅLVARIGHED repræsenterer den maksimale varighed af hvert afspilningssegment, 7 repræsenterer 7 sekunder, og segmenterne i denne mappe må ikke overstige 7 sek.
EXT-X-MEDIA-SEQUENCE repræsenterer sekvensnummeret for det første segment af afspilningslisten, og 1 repræsenterer, at afspilningssegmentet starter fra 1.
#EXTINF repræsenterer varigheden af segmentet, 6.006 betyder, at det aktuelle segment er 6.006s. Den samlede videovarighedsinformation opnås ved at akkumulere denne værdi.
0640_00001.ts er den relative sti til klippet. ts-filen repræsenterer et stykke video eller lyd, og den kan være i ts, mp4, aac og andre formater. Fordi det er angivet til at åbne fra 1
|
Indtast e-mail for at få en overraskelse
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> albansk
ar.fmuser.org -> arabisk
hy.fmuser.org -> Armensk
az.fmuser.org -> aserbajdsjansk
eu.fmuser.org -> baskisk
be.fmuser.org -> hviderussisk
bg.fmuser.org -> Bulgarian
ca.fmuser.org -> Catalansk
zh-CN.fmuser.org -> Kinesisk (forenklet)
zh-TW.fmuser.org -> Kinesisk (traditionelt)
hr.fmuser.org -> Kroatisk
cs.fmuser.org -> Tjekkisk
da.fmuser.org -> dansk
nl.fmuser.org -> Hollandsk
et.fmuser.org -> estisk
tl.fmuser.org -> filippinsk
fi.fmuser.org -> finsk
fr.fmuser.org -> Fransk
gl.fmuser.org -> galicisk
ka.fmuser.org -> Georgisk
de.fmuser.org -> tysk
el.fmuser.org -> Greek
ht.fmuser.org -> haitisk kreolsk
iw.fmuser.org -> hebraisk
hi.fmuser.org -> hindi
hu.fmuser.org -> Hungarian
is.fmuser.org -> islandsk
id.fmuser.org -> Indonesisk
ga.fmuser.org -> Irsk
it.fmuser.org -> Italiensk
ja.fmuser.org -> japansk
ko.fmuser.org -> koreansk
lv.fmuser.org -> lettisk
lt.fmuser.org -> Litauisk
mk.fmuser.org -> Makedonsk
ms.fmuser.org -> malaysisk
mt.fmuser.org -> maltesisk
no.fmuser.org -> Norwegian
fa.fmuser.org -> persisk
pl.fmuser.org -> polsk
pt.fmuser.org -> portugisisk
ro.fmuser.org -> Romanian
ru.fmuser.org -> russisk
sr.fmuser.org -> serbisk
sk.fmuser.org -> Slovakisk
sl.fmuser.org -> Slovensk
es.fmuser.org -> spansk
sw.fmuser.org -> swahili
sv.fmuser.org -> svensk
th.fmuser.org -> Thai
tr.fmuser.org -> tyrkisk
uk.fmuser.org -> ukrainsk
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamesisk
cy.fmuser.org -> walisisk
yi.fmuser.org -> Jiddisch
FMUSER Wirless Overfør video og lyd lettere.
Kontakt
Adresse:
No.305 Room HuiLan Building No.273 Huanpu Road Guangzhou Kina 510620
Kategorier
Nyhedsbrev