FMUSER Wirless Transmet vídeo i àudio més fàcil!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikaans
sq.fmuser.org -> Albanès
ar.fmuser.org -> Àrab
hy.fmuser.org -> Armeni
az.fmuser.org -> Azerbaidjanès
eu.fmuser.org -> basc
be.fmuser.org -> bielorús
bg.fmuser.org -> Bulgària
ca.fmuser.org -> català
zh-CN.fmuser.org -> Xinès (simplificat)
zh-TW.fmuser.org -> Xinès (tradicional)
hr.fmuser.org -> croata
cs.fmuser.org -> txec
da.fmuser.org -> Danès
nl.fmuser.org -> Holandès
et.fmuser.org -> estonià
tl.fmuser.org -> filipí
fi.fmuser.org -> finès
fr.fmuser.org -> Francès
gl.fmuser.org -> gallec
ka.fmuser.org -> georgià
de.fmuser.org -> alemany
el.fmuser.org -> Grec
ht.fmuser.org -> crioll haitià
iw.fmuser.org -> Hebreu
hi.fmuser.org -> Hindi
hu.fmuser.org -> Hungarian
is.fmuser.org -> islandès
id.fmuser.org -> indonesi
ga.fmuser.org -> irlandès
it.fmuser.org -> Italià
ja.fmuser.org -> japonès
ko.fmuser.org -> coreà
lv.fmuser.org -> Letó
lt.fmuser.org -> Lituània
mk.fmuser.org -> macedoni
ms.fmuser.org -> Malai
mt.fmuser.org -> maltès
no.fmuser.org -> Noruega
fa.fmuser.org -> persa
pl.fmuser.org -> Polonès
pt.fmuser.org -> Portuguès
ro.fmuser.org -> Romanès
ru.fmuser.org -> rus
sr.fmuser.org -> serbi
sk.fmuser.org -> Eslovac
sl.fmuser.org -> Eslovènia
es.fmuser.org -> Castellà
sw.fmuser.org -> Suahili
sv.fmuser.org -> Suec
th.fmuser.org -> Tai
tr.fmuser.org -> turc
uk.fmuser.org -> ucraïnès
ur.fmuser.org -> urdú
vi.fmuser.org -> Vietnamita
cy.fmuser.org -> gal·lès
yi.fmuser.org -> Yiddish
fons
MP4 és el nostre format de vídeo habitual i, sovint, quan reproduïm vídeos de servidor, és directament la font de vídeo MP4 sol·licitada. Però, de fet, això no és bo. El fitxer de capçalera MP4 [ftyp + moov] és gran i la reproducció inicial ha de descarregar el fitxer de capçalera complet i analitzar-lo i, a continuació, descarregar una certa durada del videoclip que es pot reproduir per reproduir-lo. A més, a mesura que augmenta la mida del vídeo, el fitxer de capçalera continuarà creixent i el temps de reproducció inicial serà més llarg. En vista d'aquesta situació, es necessita un mètode que pugui agilitzar l'anàlisi inicial del vídeo. HLS és la solució proposada per Apple per solucionar aquest problema.
HLS
HLS és l'abreviatura de la transmissió en directe HTTP. És un protocol de transmissió de xarxes multimèdia basat en HTTP proposat per Apple. Pot donar suport en directe i a la vegada al mateix temps, així com multidefinició, àudio i vídeo de doble pista, subtítols i altres funcions. El seu principi és dividir un vídeo sencer en diversos vídeos petits i la reproducció completa es forma combinant aquests segments.
HLS s’utilitza àmpliament en terminals mòbils. Els clients actuals que admeten el protocol HLS inclouen:
iOS 3.0 i versions posteriors, AVPlayer admet nativament HLS
Android 3.0 i superiors
Adobe Flash Player 11.0 i versions posteriors
El seu principi general és aquest:
1. Recolliu àudio i vídeo
2. Codifiqueu àudio i vídeo al servidor
3. Després de codificar-lo, entregueu-lo al segmentador de flux en forma de flux de transport MPEG-2
4. El tallador crea un fitxer d'índex i una llista de reproducció ts, el fitxer d'índex s'utilitza per indicar la posició de l'àudio i el vídeo i ts és un clip multimèdia real.
5. Introduïu els recursos del pas anterior al servidor HTTP
6. El client sol·licita la reproducció del fitxer d'índex i es pot trobar el contingut de la reproducció a través del fitxer d'índex
M3U8
Un pas clau per aconseguir HLS és el quart pas anterior, és a dir, l’organització de fitxers d’índex i llistes de reproducció ts. Aquí s’utilitza el format M3U8. M3U8 és la versió Unicode de M3U, 8 significa que s’utilitza la codificació UTF-8, i tant M3U com M3U8 són formats de fitxer per a llistes multimèdia.
Descripció del format M3U8
De vegades és possible que hàgim de modificar manualment el contingut del fitxer M3U8 per provar-lo o en alguns casos especials, de manera que hem de tenir una certa comprensió del seu format. La definició d’aquest format s’escriu al document RFC 8216. A continuació es detallen algunes notes:
Els fitxers M3U8 s’han de codificar en UTF-8 i no poden utilitzar l’ordre de bytes de la marca d’ordre de bytes (BOM) i no poden contenir caràcters de control utf-8 (U + 0000 ~ U_001F i U + 007F ~ u + 009F)
Cada línia del contingut del fitxer M3U8 és una línia en blanc, un URI o una cadena que comença per # i no pot aparèixer cap caràcter en blanc.
Les etiquetes integrades són totes cadenes que comencen per #EXT i distingeixen entre majúscules i minúscules.
L'URI és el camí del contingut, que pot ser un camí relatiu o un camí absolut
Fitxer de llista mestre M3U8
El fitxer d'índex principal M3U8 s'utilitza generalment per especificar diverses fonts d'índex. Analitzem primer el contingut del fitxer m3u8 principal hls_vod_mvp.m3u8, el seu cap és així
Format de capçalera
#EXTM3U
# VERSIÓ EXT-X: 7
# EXT-X-INDEPENDENT-SEGMENTSCopia el codi
# EXTM3U indica que el fitxer està en format M3U i que tots els fitxers en format M3U haurien de posar el contingut a la primera línia.
# EXT-X-VERSIOn indica la versió compatible de la llista de reproducció, que actualment és 7.
# EXT-X-INDEPENDENT-SEGMENTS Aquesta etiqueta indica que totes les mostres de suports d'un segment de suports es poden descodificar de forma independent sense confiar en informació d'altres segments de suports.
Format de subtítols
El contingut següent és alguns subtítols, no és necessari el contingut dels subtítols.
# 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 = "subtitles / 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 "Copia el codi
# EXT-X-MEDIA s'utilitza per especificar recursos de llista multimèdia del mateix contingut.
TYPE és el tipus de recurs i els continguts opcionals són: ÀUDIO, VÍDEO, SUBTÍTOLS, TITULACIÓ TANCADA.
El contingut anterior es defineix TYPE = SUBTITLES, que és el tipus de subtítol.
GROUP-ID és el grup al qual pertany la traducció multilingüe i és un paràmetre obligatori
NAME és la informació de descripció llegible del flux de traducció, i aquest valor correspon al displayName de AVMediaSelectionOption.
DEFAULT, AUTOSELECT, FORCED són tres valors BOOL corresponents a si el flux de traducció està seleccionat per defecte si falta informació necessària. El flux de reproducció es reprodueix quan l'usuari no mostra la configuració. FORCED només és vàlid per al tipus de subtítol i s'utilitza per marcar la selecció automàtica actual del flux de traducció. .
IDIOMA s'utilitza per especificar el tipus d'idioma, que s'estableix d'acord amb el [codi d'idioma ISO 639] (https://www.w3.org/WAI/ER/WD-AERT/iso639.htm Estàndard "codi d'idioma ISO 639"). Quan el reproductor per defecte del sistema selecciona els subtítols, el nom de la llista de subtítols que es mostra s'estableix d'acord amb aquest valor.
L'URI és la informació d'ubicació del recurs, on correspon a un fitxer M3U8 subtitulat. subtitles / eng / prog_index.m3u8 és un camí relatiu,
Mitjançant la informació anterior, podem analitzar el significat del contingut anterior com a: El vídeo actual admet tres subtítols: anglès, japonès i xinès. Però cada idioma té dos missatges EXT-X-MEDIA. La diferència entre ells és l’agrupació, un s’agrupa en subs i l’altre s’agrupa en subsC. Per què hi ha dos grups? En parlaré més endavant.
Format de vídeo
Torneu a mirar cap avall per veure l'índex del contingut del vídeo:
#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: aquest atribut especifica una font de còpia de seguretat, és a dir, el camí de reproducció de vídeo i alguna informació de vídeo. A continuació es mostra la configuració del contingut corresponent: AMPLADA DE BANDA és la velocitat de bits màxima, 827299 és 827299bit / s, que és el temps màxim més alt Consumeix 101 KB de trànsit per segon.
AMPLIA DE BANDA MITJANA és la taxa de bits mitjana, 747464
CODECS és informació de codificació, avc1.64001f, mp4a.40.2, avc representa el format de codificació h264, el següent 64001f és el paràmetre de codificació representat per hexadecimal, 64, 00, 1f, respectivament, representen tres valors de paràmetre diferents. mp4a és un format de codificació d'àudio i el següent 40.2 representa paràmetres de codificació d'àudio.
RESOLUTION és la resolució de vídeo. La resolució actual de la font de vídeo és de 640x360.
FRAME-RATE és la velocitat de fotogrames màxima, 29.970 representa la velocitat de fotogrames màxima de la reproducció actual és de 29.970 fotogrames per segon.
AUDIO és el grup d'àudio i program_audio és el nom del grup d'àudio corresponent.
SUBTITLES indica el grup de subtítols corresponent i subs és el nom del grup de subtítols corresponent. La informació de subtítols anterior té un identificador de grup, i aquest valor li correspon.
L'URI és el camí del contingut, 0640 / 0640.m3u8 correspon al camí del fitxer m3u8 de la font de vídeo. Això es pot veure a la informació de captura de paquets.
A sota d’EXT-X-STREAM-INF hi ha EXT-XI-FRAME-STREAM-INF, que representa el fotograma I (marc clau) del recurs multimèdia contingut al fitxer de llista de reproducció. Com que el marc I només és una imatge, no conté contingut d'àudio i la resta de paràmetres són coherents amb el format de contingut de vídeo.
Després, hi ha fonts de vídeo corresponents a diferents resolucions, 1920x1080, 1280x720, 960x540, 480x270. Com que HLS canviarà automàticament la resolució segons la situació de la xarxa, generalment es preparen diverses resolucions per a la selecció. Segons l'anàlisi de les dades capturades, el primer segment reproduït és de resolució 640, el segon a 8 segments després és de resolució 480 i, a continuació, es canvia a resolució 640.
format d’àudio
Mirar cap avall és l’índex de l’àudio corresponent
# EXT-X-MEDIA: TYPE = AUDIO, GROUP-ID = "program_audio", LANGUAGE = "eng", NAME = "Audio alternatiu", AUTOSELECT = YES, DEFAULT = YES, URI = "audio1 / audio1.m3u8" Copy Codi
# EXT-X-MEDIA va aparèixer a sobre, però no va esmentar la llista per a diversos idiomes.
TYPE = AUDIO, aquesta vegada el tipus és d'àudio.
GROUP-ID és l'identificador de grup, corresponent al contingut AUDIO a EXT-X-STREAM-INF.
URI = audio1 / audio1.m3u8 correspon al camí d’àudio.
Fonts alternatives de diferents formats de codificació
Al fitxer principal M3U8, també podem veure una font de vídeo de resolució 640, que no és la mateixa que la resolució 640 anterior. El seu contingut és així:
#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 = "Audio alternatiu", AUTOSELECT = YES, DEFAULT = YES, URI = "audioc / prog_index.m3u8" Copy Codi
El format de codificació CODECS és hvc1.2.4.H150.B0, mp4a.40.2, el format de codificació d’àudio no ha canviat, però sí el format de codificació de vídeo. hvc1 és un dels formats de codificació HEVC (H265). És un format de codificació de vídeo de nova generació llançat per Apple. A causa de problemes de compatibilitat, molts clients no poden analitzar aquest format, de manera que no és molt popular. Apareixen les fonts de vídeo d’aquest format Hauria de ser una còpia de seguretat aquí. En comparar dos continguts de la mateixa resolució, es pot trobar que la velocitat de bits del format hvc1 és superior a la del format avc1, la qual cosa demostra que el contingut d’hvc1 és més gran i que la proporció de compressió d’avc1 és més alta amb la mateixa resolució.
Corresponent a la font de vídeo en format hvc1, també han canviat l’agrupació de contingut de subtítols i l’agrupació de contingut d’àudio, motiu pel qual els subtítols anteriors tenen dues còpies del mateix idioma i corresponen a les fonts de vídeo en formats avc1 i hvc1.
Aquesta és la llista principal de M3U8. L’àudio i el vídeo d’aquest contingut es processen per separat, però també es poden combinar.
Fitxer M3u8 que conté informació sobre suports
Agafeu el fitxer 0640.m3u8 com a exemple
#EXTM3U
# VERSIÓ EXT-X: 4
# EXT-X-TARGETDURATION: 7
# SEQUÈNCIA 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 Còpia del codi
# EXTM3U i # EXT-X-VERSION són la capçalera del fitxer M3U i el número de versió compatible respectivament. Aquest format és una versió anterior, de manera que el número de versió és inferior al fitxer principal.
EXT-X-TARGETDURATION representa la durada màxima de cada segment de reproducció, 7 representa 7 segons i els segments d’aquest directori no poden superar els 7 segons.
EXT-X-MEDIA-SEQUENCE representa el número de seqüència del primer segment de la llista de reproducció i 1 representa que el segment de reproducció comença a partir d’1.
#EXTINF representa la durada del segment, 6.006 significa que el segment actual és 6.006 s. La informació total sobre la durada del vídeo s’obté acumulant aquest valor.
0640_00001.ts és la ruta relativa del clip. El fitxer ts representa una peça de vídeo o àudio i pot estar en formats ts, mp4, aac i altres. Perquè s’ha especificat que s’obrirà des de l’1
|
Introduïu el correu electrònic per obtenir una sorpresa
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikaans
sq.fmuser.org -> Albanès
ar.fmuser.org -> Àrab
hy.fmuser.org -> Armeni
az.fmuser.org -> Azerbaidjanès
eu.fmuser.org -> basc
be.fmuser.org -> bielorús
bg.fmuser.org -> Bulgària
ca.fmuser.org -> català
zh-CN.fmuser.org -> Xinès (simplificat)
zh-TW.fmuser.org -> Xinès (tradicional)
hr.fmuser.org -> croata
cs.fmuser.org -> txec
da.fmuser.org -> Danès
nl.fmuser.org -> Holandès
et.fmuser.org -> estonià
tl.fmuser.org -> filipí
fi.fmuser.org -> finès
fr.fmuser.org -> Francès
gl.fmuser.org -> gallec
ka.fmuser.org -> georgià
de.fmuser.org -> alemany
el.fmuser.org -> Grec
ht.fmuser.org -> crioll haitià
iw.fmuser.org -> Hebreu
hi.fmuser.org -> Hindi
hu.fmuser.org -> Hungarian
is.fmuser.org -> islandès
id.fmuser.org -> indonesi
ga.fmuser.org -> irlandès
it.fmuser.org -> Italià
ja.fmuser.org -> japonès
ko.fmuser.org -> coreà
lv.fmuser.org -> Letó
lt.fmuser.org -> Lituània
mk.fmuser.org -> macedoni
ms.fmuser.org -> Malai
mt.fmuser.org -> maltès
no.fmuser.org -> Noruega
fa.fmuser.org -> persa
pl.fmuser.org -> Polonès
pt.fmuser.org -> Portuguès
ro.fmuser.org -> Romanès
ru.fmuser.org -> rus
sr.fmuser.org -> serbi
sk.fmuser.org -> Eslovac
sl.fmuser.org -> Eslovènia
es.fmuser.org -> Castellà
sw.fmuser.org -> Suahili
sv.fmuser.org -> Suec
th.fmuser.org -> Tai
tr.fmuser.org -> turc
uk.fmuser.org -> ucraïnès
ur.fmuser.org -> urdú
vi.fmuser.org -> Vietnamita
cy.fmuser.org -> gal·lès
yi.fmuser.org -> Yiddish
FMUSER Wirless Transmet vídeo i àudio més fàcil!
Contacte
Adreça:
No.305 Room HuiLan Building No.273 Huanpu Road Guangzhou Xina 510620
Categories
Newsletter