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
HLS i Http Live Streaming són protocols per a la transmissió en temps real definits per Apple. HLS s’implementa basant-se en el protocol HTTP. El contingut de la transmissió inclou dues parts, una és el fitxer de descripció M3U8 i l’altra és el fitxer multimèdia TS.
1. Fitxer M3U8
El fitxer multimèdia es descriu en text, que es compon d'una sèrie d'etiquetes.
#EXTM3U
# EXT-X-TARGETDURATION: 5
#EXTINF: 5,
./0.ts
#EXTINF: 5,
./1.ts
# EXTM3U: la primera línia de cada fitxer M3U8 ha de ser aquesta etiqueta.
# EXT-X-TARGETDURATION: especifiqueu la durada màxima del segment de suports (segons). La durada especificada a #EXTINF ha de ser inferior o igual a aquest valor màxim. Aquest valor només pot aparèixer una vegada.
#EXTINF: descriviu la longitud d'un sol fitxer multimèdia. Segueixen fitxers multimèdia, com ara ./0.ts
Es pot distribuir per HTTP al dispositiu iOS i al mac. L'estàndard de la llista de reproducció és el fitxer m3u8 ampliat per m3u i el fitxer multimèdia és MPEG2-TS o fitxer AAC (només àudio).
Hi ha dos escenaris d'aplicació per als fitxers m3u8:
Corrent d’adaptació a diverses taxes,
#EXTM3U
# EXT-X-STREAM-INF: PROGRAM-ID = 1, BANDWIDTH = 1280000
# EXT-X-STREAM-INF: PROGRAM-ID = 1, BANDWIDTH = 2560000
# EXT-X-STREAM-INF: PROGRAM-ID = 1, BANDWIDTH = 7680000
# EXT-X-STREAM-INF: PROGRAM-ID = 1, BANDWIDTH = 65000, CODECS = "mp4a.40.5"
http://example.com/audio-only.m3u8
Corrent d'adaptació de tarifa única
#EXTM3U
# EXT-X-TARGETDURATION: 5220
#EXTINF: 5220,
http://media.example.com/entire.ts
# EXT-X-ENDLIST
L'Organització Internacional de Normes defineix aquest document de RFC:
http://tools.ietf.org/html/draft-pantos-http-live-streaming-06
El fitxer m3u8 és una extensió del fitxer m3u. Les paraules clau ampliades es defineixen al rfc:
entre ells:
# EXT-X-TARGETDURATION
Definiu la durada màxima de cada TS.
# SEQUÈNCIA EXT-X-MEDIA
Definiu el número de sèrie del primer fitxer del fitxer m3u8 actual. Cada fitxer ts té un número de sèrie únic i fix al fitxer m3u8. El número de sèrie s’utilitza per canviar la velocitat del codi per a l’alineació durant l’MBR.
# EXT-X-KEY
Definiu el mètode de xifratge i l'URL del fitxer de claus, que s'utilitza per obtenir el fitxer de clau de 16 bytes per descodificar el fitxer ts.
Atributs:
MÈTODE
URL
# EXT-X-PROGRAM-DATE-TIME
Temps absolut del primer fitxer
# EXT-X-ALLOW-CACHE
Si es permet la memòria cau.
# EXT-X-ENDLIST
Indica el final del fitxer m3u8. Live m3u8 no té aquesta etiqueta.
# EXT-X-STREAM-INF
Atributs:
BANDWIDTH especifica la velocitat de bits
ID únic de PROGRAM-ID
CODECS especifica el tipus de codificació del flux
# EXT-X-DISCONTINUITY
Quan es troba l'etiqueta, han canviat els atributs següents:
format d'arxiu
nombre i tipus de pistes
paràmetres de codificació
seqüència de codificació
seqüència de marca de temps
# EXT-X-VERSION Aquest atribut es pot utilitzar o no, no en podeu tenir cap
M3U8 es divideix en M3U8 de nivell superior i M3U8 de segon nivell. El M3U8 de nivell superior s’utilitza principalment per a l’adaptació de diverses taxes. El M3U8 de segon nivell és el fitxer de segmentació real.
Per defecte, el client primer seleccionarà la sol·licitud amb la taxa de bits més alta. Si detecta que no es pot assolir la taxa de bits, sol·licitarà un flux amb una taxa de bits baixa
Un fitxer M3U8 de nivell superior en ús real és el següent:
#EXTM3U
# EXT-X-STREAM-INF: PROGRAM-ID = 201273221265, BANDWIDTH = 358400
11.m3u8
# EXT-X-STREAM-INF: PROGRAM-ID = 201273221265, BANDWIDTH = 972800
22.m3u8
El fitxer M3U8 de nivell superior anterior defineix dos fitxers de segon nivell, 11.m3u8 i 22.m3u8, i el client en seleccionarà un per obtenir-ne el contingut.
El contingut del fitxer M3U8 secundari és el següent:
#EXTM3U
# VERSIÓ EXT-X: 1
# EXT-X-TARGETDURATION: 10
# SEQUÈNCIA EXT-X-MEDIA: 0
#EXTINF: 3,
1-4.ts
#EXTINF: 8,
1-6.ts
#EXTINF: 8,
1-8.ts
#EXTINF: 8,
1-10.ts
#EXTINF: 8,
1-12.ts
#EXTINF: 8,
1-14.ts
#EXTINF: 8,
1-16.ts
#EXTINF: 9,
1-18.ts
#EXTINF: 6,
1-20.ts
#EXTINF: 8,
1-22.ts
#EXTINF: 9,
1-24.ts
#EXTINF: 3,
1-26.ts
# EXT-X-ENDLIST
Després que el client obtingui el fitxer M3U8 secundari anterior, continuarà demanant el fitxer dins i es podrà reproduir.
L’anterior es refereix a la situació de demanda i de la retransmissió en directe, hi haurà atributs al fitxer M3U8 per dir que està en directe i el client sol·licitarà periòdicament nous fitxers M3U8.
// Quan HLS realitza la transmissió a demanda i en directe, la diferència del fitxer M3U8
1. Descripció del problema
Recentment he fet una prova de reproducció de talls transcodificats, amb HLS (HTTP Live Streaming) per fer la transmissió en directe. Cada temps de segmentació de TS és de 10 segons i es generen els següents fitxers m3u8 en viu segons els fitxers de segmentació de TS
Còpia de codi
#EXTM3U
# SEQUÈNCIA EXT-X-MEDIA: 1
# EXT-X-TARGETDURATION: 10
#EXTINF: 10
hls / 1.ts
#EXTINF: 10
hls / 2.ts
#EXTINF: 10
hls / 3.ts
#EXTINF: 10
hls / 4.ts
#EXTINF: 10
hls / 5.ts
#EXTINF: 10
hls / 6.ts
#EXTINF: 10
hls / 7.ts
#EXTINF: 10
hls / 8.ts
#EXTINF: 10
hls / 9.ts
#EXTINF: 10
hls / 10.ts
Còpia de codi
Deseu el fitxer m3u8 anterior com a live.m3u8, poseu-lo al directori del document Apache i reproduïu l'URL següent amb VLC:
http://localhost/live.m3u8
La prova va comprovar que el primer fitxer que va començar a reproduir-se no era 1.ts. Després de diverses proves, es va comprovar que:
Sempre que hi hagi més de tres fitxers a la llista, sempre es reproduiran els tres darrers fitxers de la llista
2. Resolució de problemes
És molt trist que després de buscar a Internet no hagi trobat cap informació efectiva. Un amic es va trobar amb la mateixa situació, va compartir la seva experiència després de resoldre-la?
Després de consultar amb un company, el company va dir que és possible perquè la llista de fitxers m3u8 en directe s’ha d’actualitzar en temps real. Si fem una prova, primer podem afegir # EXT-X-ENDLIST al final. Aquest mètode s'ha provat Funciona, però ja no és el mode m3u8 en directe
Després de cercar de nou a Internet, vaig confirmar que finalment vaig trobar una descripció m3u8 en directe
Llista de reproducció en directe (finestra lliscant)
Per a les sessions en directe, el fitxer d'índex s'actualitza eliminant els URI del fitxer a mesura que es creen i es posen a disposició nous fitxers multimèdia.
Important: l'etiqueta EXT-X-ENDLIST no es troba a la llista de reproducció en directe, cosa que indica que s'afegiran fitxers multimèdia nous al fitxer d'índex a mesura que estiguin disponibles.
Consulteu el llistat 3 per obtenir un exemple de llista de reproducció en directe tal i com apareixeria al començament d’una sessió.
Llistat de 3 llistes de reproducció en directe al començament d'una sessió.
Còpia de codi
#EXTM3U
# EXT-X-TARGETDURATION: 10
# VERSIÓ EXT-X: 3
# SEQUÈNCIA EXT-X-MEDIA: 1
#EXTINF: 10,
fileSequence1.ts
#EXTINF: 10,
fileSequence2.ts
#EXTINF: 10,
fileSequence3.ts
#EXTINF: 10,
fileSequence4.ts
#EXTINF: 10,
fileSequence5.ts
Còpia de codi
El valor de l’etiqueta EXT-X-MEDIA-SEQUENCE S’ha d’incrementar 1 per cada URI de suports que s’elimini del fitxer de llista de reproducció. L’URI de suports s’ha d’eliminar del fitxer de la llista de reproducció en l’ordre en què apareixen a la llista de reproducció. El fitxer d'índex actualitzat presenta una finestra en moviment en un flux continu. Aquest tipus de sessió és adequat per a transmissions contínues.
Aquí teniu la mateixa llista de reproducció després d'haver-se actualitzat amb els nous URI de suports:
Llistat de 4 llistes de reproducció en directe després d'actualitzar els URI dels suports.
Còpia de codi
#EXTM3U
# EXT-X-TARGETDURATION: 10
# VERSIÓ EXT-X: 3
# SEQUÈNCIA EXT-X-MEDIA: 2
#EXTINF: 10,
fileSequence2.ts
#EXTINF: 10,
fileSequence3.ts
#EXTINF: 10,
fileSequence4.ts
#EXTINF: 10,
fileSequence5.ts
#EXTINF: 10,
fileSequence6.ts
Còpia de codi
3. Viu les regles d’actualització del m3u8
La llista de fitxers m3u8 en directe s’ha d’actualitzar contínuament, actualitzant les regles:
Traieu el fitxer superior (penseu reproduït) de la llista de reproducció de fitxers
Actualitzeu contínuament l’etiqueta EXT-X-MEDIA-SEQUENCE, incrementant-la en 1
4. Experimentar
Escriviu un petit programa per generar m3u8 en viu per provar-lo
Ús:
m3u8_gen.exe start_num llista_count durada nom del fitxer.m3u8 [prefix]
Exemple d'ús:
m3u8_gen.exe 1 3 10 live.m3u8 hls /
Genereu el fitxer live.m3u8 com a
Còpia de codi
#EXTM3U
# SEQUÈNCIA EXT-X-MEDIA: 1
# EXT-X-TARGETDURATION: 10
#EXTINF: 10
hls / 1.ts
#EXTINF: 10
hls / 2.ts
#EXTINF: 10
hls / 3.ts
Còpia de codi
Escriviu un script BAT per actualitzar el fitxer live.m3u8 cada 10 segons
Còpia de codi
@ Echo off
f
|
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