FMUSER Wirless Overfør video og lyd enklere!
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 -> hviterussisk
bg.fmuser.org -> Bulgarian
ca.fmuser.org -> katalansk
zh-CN.fmuser.org -> Kinesisk (forenklet)
zh-TW.fmuser.org -> Kinesisk (tradisjonell)
hr.fmuser.org -> Kroatisk
cs.fmuser.org -> tsjekkisk
da.fmuser.org -> dansk
nl.fmuser.org -> Nederlandsk
et.fmuser.org -> estisk
tl.fmuser.org -> filippinsk
fi.fmuser.org -> finsk
fr.fmuser.org -> French
gl.fmuser.org -> galisisk
ka.fmuser.org -> Georgisk
de.fmuser.org -> tysk
el.fmuser.org -> gresk
ht.fmuser.org -> haitisk kreolsk
iw.fmuser.org -> hebraisk
hi.fmuser.org -> hindi
hu.fmuser.org -> Ungarsk
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 -> norsk
fa.fmuser.org -> persisk
pl.fmuser.org -> polsk
pt.fmuser.org -> portugisisk
ro.fmuser.org -> rumensk
ru.fmuser.org -> russisk
sr.fmuser.org -> serbisk
sk.fmuser.org -> Slovakisk
sl.fmuser.org -> Slovenian
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 -> Yiddish
bakgrunn
MP4 er vårt vanlige videoformat, og ofte når vi spiller servervideoer, er det direkte den forespurte MP4-videokilden. Men faktisk er dette ikke bra. MP4-headerfilen [ftyp + moov] er stor, og den første avspillingen må laste ned hele headerfilen og analysere den, og deretter laste ned en viss lengde på spillbart videoklipp for å spille. I tillegg, når størrelsen på videoen øker, fortsetter toppteksten å vokse, og den første avspillingstiden vil være lengre. I lys av denne situasjonen er det nødvendig med en metode som kan øke den første analysen av videoen. HLS er løsningen foreslått av Apple for å løse dette problemet.
HLS
HLS er forkortelse av HTTP Live Streaming. Det er en HTTP-basert overføringsprotokoll for strømmemedienettverk foreslått av Apple. Den kan støtte live og on-demand samtidig, i tillegg til multidefinisjon, lyd og video dual-track, undertekster og andre funksjoner. Prinsippet er å dele en hel video i flere små videoer, og fullstendig avspilling dannes ved å spleise disse segmentene.
HLS er mye brukt på mobile terminaler. De nåværende klientene som støtter HLS-protokollen inkluderer:
iOS 3.0 og nyere støtter AVPlayer naturlig HLS
Android 3.0 og over
Adobe Flash Player 11.0 og nyere
Det generelle prinsippet er dette:
1. Samle lyd og video
2. Kod lyd og video på serveren
3. Etter koding, overlever du den til Stream Segmenter i form av MPEG-2 transportstrøm
4. Slicer skaper en indeksfil og en ts-spilleliste, indeksfilen brukes til å indikere lyd- og videoposisjonen, og ts er et ekte multimedieklipp
5. Legg ressursene til forrige trinn på HTTP-serveren
6. Klienten ber om indeksfilen for avspilling, og avspillingsinnholdet kan bli funnet gjennom indeksfilen
M3U8
Et viktig skritt for å realisere HLS er det fjerde trinnet ovenfor, nemlig organisering av indeksfiler og ts-spillelister. M3U8-formatet brukes her. M3U8 er Unicode-versjonen av M3U, 8 betyr at UTF-8-koding brukes, og både M3U og M3U8 er filformater for multimedielister.
M3U8 formatbeskrivelse
Noen ganger kan det hende vi må endre innholdet i M3U8-filen manuelt for testing eller i noen spesielle tilfeller, så vi må ha en viss forståelse av formatet. Definisjonen av dette formatet er skrevet i RFC 8216-dokumentet. Følgende er noen notater:
M3U8-filer må være kodet i UTF-8, og kan ikke bruke Byte Order Mark (BOM) byte-rekkefølge, og kan ikke inneholde utf-8 kontrolltegn (U + 0000 ~ U_001F og U + 007F ~ u + 009F)
Hver linje i M3U8-filinnholdet er enten en tom linje, en URI eller en streng som begynner med #, og ingen tomme tegn kan vises.
De innebygde kodene er alle strenger som begynner med #EXT og er store og små bokstaver.
URI er innholdsstien, som kan være en relativ sti eller en absolutt sti
Master M3U8-listefil
Hoved M3U8-indeksfilen brukes vanligvis til å spesifisere flere indekskilder. La oss først analysere innholdet i hovedm3u8-filen hls_vod_mvp.m3u8, hodet er slik
Topptekstformat
#EXTM3U
# EXT-X-VERSJON: 7
# EXT-X-INDEPENDENT-SEGMENTS Kopier kode
# EXTM3U indikerer at filen er i M3U-format, og alle M3U-formatfiler skal sette innholdet på første linje.
# EXT-X-VERSIOn indikerer den kompatible versjonen av spillelisten, som for øyeblikket er 7.
# EXT-X-Uavhengig-SEGMENTER Denne taggen indikerer at alle medieprøver i et mediasegment kan dekodes uavhengig uten å stole på annen mediasegmentinformasjon.
Tekstformat
Innholdet nedenfor er noen bildetekster, innholdet i bildeteksten er ikke nødvendig.
# EXT-X-MEDIA: TYPE = UNDERtekster, GROUP-ID = "subs", NAVN = "engelsk", STANDARD = JA, AUTOSELECT = JA, Tvinges = NEI, SPRÅK = "eng", URI = "undertekster / eng / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = UNDERtekster, GROUP-ID = "subsC", NAVN = "engelsk", STANDARD = JA, AUTOSELECT = JA, Tvingt = NEI, SPRÅK = "eng", URI = "undertekster / engc / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = UNDERtekster, GROUP-ID = "subs", NAME = "Japanese", STANDARD = JA, AUTOSELECT = YES, FORCED = NO, LANGUAGE = "jpn", URI = "subtitles / jpn / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = UNDERtekster, GROUP-ID = "subsC", NAME = "Japanese", STANDARD = JA, AUTOSELECT = YES, FORCED = NO, LANGUAGE = "jpn", URI = "subtitles / jpnc / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = UNDERtekster, GROUP-ID = "subs", NAVN = "kinesisk", STANDARD = JA, AUTOSELECT = JA, Tvingt = NEI, SPRÅK = "zho", URI = "undertekster / zho / prog_index.m3u8 "
# EXT-X-MEDIA: TYPE = UNDERtekster, GROUP-ID = "subsC", NAVN = "kinesisk", STANDARD = JA, AUTOSELECT = JA, Tvingt = NEI, SPRÅK = "zho", URI = "undertekster / zhoc / prog_index.m3u8 "Kopier kode
# EXT-X-MEDIA brukes til å spesifisere flerspråklige ressurser for medieliste med samme innhold.
TYPE er ressurstypen, og det valgfrie innholdet er: LYD, VIDEO, UNDERtekster, LUKKET-TEKST.
Ovennevnte innhold setter TYPE = undertekster, som er underteksttypen.
GROUP-ID er gruppen som den flerspråklige oversettelsen tilhører, og er en nødvendig parameter
NAME er den lesbare beskrivelsesinformasjonen for oversettelsesstrømmen, og denne verdien tilsvarer displaynavnet til AVMediaSelectionOption.
STANDARD, AUTOSELECT, FORCED er tre BOOL-verdier som tilsvarer om oversettelsesstrømmen er valgt som standard hvis nødvendig informasjon mangler. Avspillingsstrømmen spilles av når brukeren ikke viser innstillingene. FORCED er bare gyldig for underteksttypen og brukes til å markere det nåværende automatiske valget av oversettelsesstrømmen. .
SPRÅK brukes til å spesifisere språktypen, som er angitt i henhold til [ISO 639-språkkoden] (https://www.w3.org/WAI/ER/WD-AERT/iso639.htm "ISO 639 språkkode") standard. Når systemets standardspiller velger undertekster, blir navnet på undertekstlisten vist angitt i henhold til denne verdien.
URI er lokaliseringsinformasjonen til ressursen, der den tilsvarer en tekstet M3U8-fil. undertekster / eng / prog_index.m3u8 er en relativ bane,
Gjennom informasjonen ovenfor kan vi analysere betydningen av innholdet ovenfor som: Den nåværende videoen støtter tre undertekster: engelsk, japansk og kinesisk. Men hvert språk har to EXT-X-MEDIA-meldinger. Forskjellen mellom dem er grupperingen, den ene er gruppert i subs og den andre er gruppert i subsC. Hvorfor er det to grupper? Jeg snakker om dette senere.
Videoformat
Se ned igjen for indeksen til videoinnholdet:
#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 attributtet spesifiserer en sikkerhetskopikilde, det vil si videoavspillingsstien og litt videoinformasjon. Følgende er konfigurasjonen av det tilsvarende innholdet: BANDBREIDEN er toppbithastigheten, 827299 er 827299bit / s, som er den høyeste topptiden Forbruker 101 KB trafikk per sekund.
Gjennomsnittlig båndbredde er den gjennomsnittlige bithastigheten, 747464
CODECS koder informasjon, avc1.64001f, mp4a.40.2, avc representerer h264-kodingsformatet, følgende 64001f er kodingsparameteren representert med heksadesimal, henholdsvis 64, 00, 1f representerer tre forskjellige parameterverdier. mp4a er et lydkodeformat, og følgende 40.2 representerer lydkodingsparametere.
RESOLUTION er videooppløsningen. Gjeldende videokildeoppløsning er 640x360.
FRAME-RATE er maksimal bildefrekvens, 29.970 representerer maksimal bildefrekvens for gjeldende avspilling er 29.970 bilder per sekund.
AUDIO er lydgruppen, og program_audio er navnet på den tilsvarende lydgruppen.
Undertekster angir den tilsvarende undertekstgruppen, og under er navnet på den tilsvarende undertekstgruppen. Ovenstående undertekstinformasjon har en GROUP-ID, og denne verdien tilsvarer den.
URI er innholdsstien, 0640 / 0640.m3u8 tilsvarer m3u8-filbanen til videokilden. Dette kan sees i informasjonen om pakking.
Under EXT-X-STREAM-INF er EXT-XI-FRAME-STREAM-INF, som representerer I-rammen (nøkkelrammen) til multimedieressursen som finnes i spillelistefilen. Fordi I-rammen bare er et bilde, inneholder den ikke lydinnhold, og de gjenværende parametrene er i samsvar med videoinnholdsformatet.
Etter det er det videokilder som tilsvarer forskjellige oppløsninger, 1920x1080, 1280x720, 960x540, 480x270. Fordi HLS automatisk vil bytte oppløsningen i henhold til nettverkssituasjonen, er flere oppløsninger generelt forberedt for valg. I følge analysen av de fangede dataene er det første segmentet som spilles, 640 oppløsning, det andre til åtte segment etter det er 8 oppløsninger, og deretter byttes det til 480 oppløsning.
lydformat
Ser ned er indeksen for den tilsvarende lyden
# EXT-X-MEDIA: TYPE = AUDIO, GROUP-ID = "program_audio", LANGUAGE = "eng", NAME = "Alternativ lyd", AUTOSELECT = YES, DEFAULT = YES, URI = "audio1 / audio1.m3u8" Kopi Kode
# EXT-X-MEDIA dukket opp ovenfor, men nevnte ikke listen for flere språk.
TYPE = AUDIO, denne gangen er lyden.
GROUP-ID er gruppe-ID, som tilsvarer AUDIO-innholdet i EXT-X-STREAM-INF.
URI = audio1 / audio1.m3u8 tilsvarer lydbanen.
Alternative kilder til forskjellige kodingsformater
I hoved-M3U8-filen kan vi også se en videokilde med 640 oppløsninger, som ikke er den samme som ovennevnte 640-oppløsning. Innholdet er slik:
#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 Kode
CODECS-kodingsformatet er hvc1.2.4.H150.B0, mp4a.40.2, lydkodingsformatet har ikke endret seg, men videokodingsformatet har endret seg. hvc1 er et av HEVC (H265) kodingsformatene. Det er en ny generasjon videokodingsformat lansert av Apple. På grunn av kompatibilitetsproblemer kan mange klienter ikke analysere dette formatet, så det er ikke veldig populært. Videokilder i dette formatet vises. Det burde være en sikkerhetskopi her. Når man sammenligner to innhold med samme oppløsning, kan det bli funnet at bithastigheten til hvc1-format er høyere enn avc1-formatet, noe som viser at innholdet av hvc1 er større og kompresjonsforholdet til avc1 er høyere under samme oppløsning.
I samsvar med videokilden til hvc1-format har gruppering av undertekstinnhold og gruppering av lydinnhold også endret seg, og derfor har undertekstene ovenfor to eksemplarer av samme språk, og de tilsvarer videokildene i avc1- og hvc1-format.
Dette er hovedlisten til M3U8. Lyden og videoen til dette innholdet behandles separat, men de kan også kombineres.
M3u8-fil som inneholder medieinformasjon
Ta filen 0640.m3u8 som et eksempel
#EXTM3U
# EXT-X-VERSJON: 4
# EXT-X-MÅLSTILLING: 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-ENDLISTCopier koden
# EXTM3U og # EXT-X-VERSION er henholdsvis M3U-filoverskrift og kompatibelt versjonsnummer. Dette formatet er en tidlig versjon, så versjonsnummeret er lavere enn hovedfilen.
EXT-X-MÅLDYRING representerer maksimal varighet for hvert avspillingssegment, 7 representerer 7 sekunder, og segmentene i denne katalogen kan ikke overstige 7 sek.
EXT-X-MEDIA-SEQUENCE representerer sekvensnummeret til det første segmentet i spillelisten, og 1 representerer at play-segmentet starter fra 1.
#EXTINF representerer segmentets varighet, 6.006 betyr at det nåværende segmentet er 6.006s. Den totale videovarigheten får du ved å samle denne verdien.
0640_00001.ts er den relative banen til klippet. Ts-filen representerer et stykke video eller lyd, og den kan være i ts, mp4, aac og andre formater. Fordi det er spesifisert å åpne fra 1
|
Skriv inn e-post for å 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 -> hviterussisk
bg.fmuser.org -> Bulgarian
ca.fmuser.org -> katalansk
zh-CN.fmuser.org -> Kinesisk (forenklet)
zh-TW.fmuser.org -> Kinesisk (tradisjonell)
hr.fmuser.org -> Kroatisk
cs.fmuser.org -> tsjekkisk
da.fmuser.org -> dansk
nl.fmuser.org -> Nederlandsk
et.fmuser.org -> estisk
tl.fmuser.org -> filippinsk
fi.fmuser.org -> finsk
fr.fmuser.org -> French
gl.fmuser.org -> galisisk
ka.fmuser.org -> Georgisk
de.fmuser.org -> tysk
el.fmuser.org -> gresk
ht.fmuser.org -> haitisk kreolsk
iw.fmuser.org -> hebraisk
hi.fmuser.org -> hindi
hu.fmuser.org -> Ungarsk
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 -> norsk
fa.fmuser.org -> persisk
pl.fmuser.org -> polsk
pt.fmuser.org -> portugisisk
ro.fmuser.org -> rumensk
ru.fmuser.org -> russisk
sr.fmuser.org -> serbisk
sk.fmuser.org -> Slovakisk
sl.fmuser.org -> Slovenian
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 -> Yiddish
FMUSER Wirless Overfør video og lyd enklere!
Kontakt
Adresse:
No.305 Room HuiLan Building No.273 Huanpu Road Guangzhou Kina 510620
Type kategori
Nyhetsbrev