FMUSER Wirless Transmit Video and Audio Máis 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 -> árabe
hy.fmuser.org -> Armenian
az.fmuser.org -> azerí
eu.fmuser.org -> éuscaro
be.fmuser.org -> bielorruso
bg.fmuser.org -> Búlgaro
ca.fmuser.org -> catalán
zh-CN.fmuser.org -> chinés (simplificado)
zh-TW.fmuser.org -> Chinés (tradicional)
hr.fmuser.org -> croata
cs.fmuser.org -> Checo
da.fmuser.org -> danés
nl.fmuser.org -> Holandés
et.fmuser.org -> estoniano
tl.fmuser.org -> filipino
fi.fmuser.org -> finés
fr.fmuser.org -> Francés
gl.fmuser.org -> galego
ka.fmuser.org -> xeorxiano
de.fmuser.org -> alemán
el.fmuser.org -> Grego
ht.fmuser.org -> crioulo haitiano
iw.fmuser.org -> Hebreo
hi.fmuser.org -> hindi
hu.fmuser.org -> Hungarian
is.fmuser.org -> islandés
id.fmuser.org -> indonesio
ga.fmuser.org -> irlandés
it.fmuser.org -> Italiano
ja.fmuser.org -> xaponés
ko.fmuser.org -> coreano
lv.fmuser.org -> letón
lt.fmuser.org -> Lituano
mk.fmuser.org -> macedonio
ms.fmuser.org -> malaio
mt.fmuser.org -> maltés
no.fmuser.org -> Norwegian
fa.fmuser.org -> persa
pl.fmuser.org -> polaco
pt.fmuser.org -> Portugués
ro.fmuser.org -> Romanés
ru.fmuser.org -> ruso
sr.fmuser.org -> serbio
sk.fmuser.org -> Eslovaco
sl.fmuser.org -> Esloveno
es.fmuser.org -> castelán
sw.fmuser.org -> Suahili
sv.fmuser.org -> Sueco
th.fmuser.org -> Thai
tr.fmuser.org -> turco
uk.fmuser.org -> ucraíno
ur.fmuser.org -> urdú
vi.fmuser.org -> Vietnamita
cy.fmuser.org -> galés
yi.fmuser.org -> Yiddish
HLS e Http Live Streaming son protocolos para transmisión en tempo real definidos por Apple. HLS está implementado baseado no protocolo HTTP. O contido da transmisión inclúe dúas partes, unha é o ficheiro de descrición M3U8 e a outra é o ficheiro multimedia TS.
1. Arquivo M3U8
O ficheiro multimedia descríbese nun texto, que está composto por unha serie de etiquetas.
#EXTM3U
# EXT-X-TURGETDURATION: 5
#EXTINF: 5,
./0.ts
#EXTINF: 5,
./1.ts
# EXTM3U: a primeira liña de cada ficheiro M3U8 debe ser esta etiqueta.
# EXT-X-TARGETDURATION: especifica a duración máxima do segmento de medios (segundos). A duración do tempo especificada en #EXTINF debe ser inferior ou igual a este valor máximo. Este valor só pode aparecer unha vez.
#EXTINF: Describe a lonxitude dun único ficheiro multimedia. Seguen ficheiros multimedia, como ./0.ts
Pódese distribuír por HTTP en dispositivos iOS e mac. O estándar da lista de reprodución é o ficheiro m3u8 ampliado por m3u e o ficheiro multimedia é MPEG2-TS ou ficheiro AAC (só audio).
Hai dous escenarios de aplicación para ficheiros m3u8:
Fluxo de adaptación multi-taxa,
#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
Fluxo de adaptación de taxa única
#EXTM3U
# EXT-X-TURGETDURATION: 5220
#EXTINF: 5220,
http://media.example.com/entire.ts
# EXT-X-ENDLIST
A Organización Internacional de Normas define este documento rfc:
http://tools.ietf.org/html/draft-pantos-http-live-streaming-06
O ficheiro m3u8 é unha extensión do ficheiro m3u. As palabras clave estendidas defínense no rfc:
entre eles:
# EXT-X-TARGETDURATION
Define a duración máxima de cada TS.
# EXT-X-MEDIA-SECUENCIA
Defina o número de serie do primeiro ficheiro no ficheiro m3u8 actual. Cada ficheiro ts ten un número de serie único e fixo no ficheiro m3u8. O número de serie úsase para cambiar a taxa de código para o aliñamento durante o MBR.
# EXT-X-KEY
Defina o método de cifrado e a url do ficheiro de claves, que se usa para obter o ficheiro de clave de 16 bytes para decodificar o ficheiro ts.
Atributos:
MÉTODO
URL
# EXT-X-PROGRAMA-DATA-HORA
Tempo absoluto do primeiro ficheiro
# EXT-X-ALLOW-CACHE
Se se permite a caché.
# EXT-X-ENDLIST
Indica o final do ficheiro m3u8. Live m3u8 non ten esta etiqueta.
# EXT-X-STREAM-INF
Atributos:
BANDWIDTH especifica a taxa de bits
ID único de PROGRAMA-ID
CODECS especifica o tipo de codificación do fluxo
# EXT-X-DESCONTINUIDADE
Cando se atopa a etiqueta, cambiaron os seguintes atributos:
formato de arquivo
número e tipo de pistas
parámetros de codificación
secuencia de codificación
secuencia de marca de tempo
# EXT-X-VERSION Este atributo pode usarse ou non, non pode ter ningún
M3U8 divídese en M3U8 de primeiro nivel e M3U8 de segundo nivel. O M3U8 de nivel superior úsase principalmente para a adaptación de varias tarifas. O M3U8 de segundo nivel é o ficheiro real.
Por defecto, o cliente primeiro seleccionará a solicitude coa taxa de bits máis alta. Se descubre que non se pode alcanzar a taxa de bits, solicitará unha transmisión cunha taxa de bits baixa
Un ficheiro M3U8 de nivel superior en uso real é o seguinte:
#EXTM3U
# EXT-X-STREAM-INF: PROGRAM-ID = 201273221265, BANDWIDTH = 358400
11.m3u8
# EXT-X-STREAM-INF: PROGRAM-ID = 201273221265, BANDWIDTH = 972800
22.m3u8
O ficheiro M3U8 de nivel superior anterior define dous ficheiros de segundo nivel, 11.m3u8 e 22.m3u8, e o cliente seleccionará un deles para obter o seu contido.
O contido do ficheiro M3U8 secundario é o seguinte:
#EXTM3U
# VERSIÓN EXT-X: 1
# EXT-X-TURGETDURATION: 10
# EXT-X-MEDIA-SEQUENCE: 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
Despois de que o cliente obteña o ficheiro M3U8 secundario anterior, seguirá solicitando o ficheiro dentro e logo pódese reproducir.
O anterior refírese á situación de demanda e á emisión en directo, haberá atributos no ficheiro M3U8 para indicar que está en directo e o cliente solicitará periódicamente novos ficheiros M3U8.
// Cando HLS realiza a transmisión baixo demanda e en directo, a diferenza do ficheiro M3U8
1. Descrición do problema
Recentemente fixen unha proba de reprodución de porción transcodificada, usando HLS (HTTP Live Streaming) para facer a transmisión en directo. Cada tempo de segmentación de TS é de 10 segundos e os seguintes ficheiros m3u8 en directo xéranse segundo os ficheiros de segmentación de TS
Copia o código
#EXTM3U
# EXT-X-MEDIA-SEQUENCE: 1
# EXT-X-TURGETDURATION: 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
Copia o código
Garda o ficheiro m3u8 anterior como live.m3u8, colócao no directorio do documento Apache e reproduce o seguinte URL con VLC:
http://localhost/live.m3u8
A proba descubriu que o primeiro ficheiro que comezou a reproducirse non era 1.ts. Despois de varias probas, comprobouse que:
Mentres haxa máis de tres ficheiros na lista, sempre se reproducen os tres últimos ficheiros da lista
2. Resolución de problemas
É moi triste que despois de buscar en Internet non atopei información eficaz. Un amigo atopou a mesma situación, ¿compartiu a súa experiencia despois de resolvela?
Despois de consultar cun compañeiro, o compañeiro dixo que é posible porque a lista de ficheiros m3u8 en directo ten que actualizarse en tempo real. Se facemos unha proba, primeiro podemos engadir # EXT-X-ENDLIST ao final. Este método probouse Funciona, pero este xa non é o modo m3u8 en directo
Despois de buscar de novo en Internet, confirmei que finalmente atopei unha descrición m3u8 en directo
Lista de reprodución en directo (xanela deslizante)
Para as sesións en directo, o ficheiro de índice actualízase eliminando os URI de medios do ficheiro a medida que se crean e se poñen a disposición novos ficheiros multimedia.
Importante: a etiqueta EXT-X-ENDLIST non está presente na lista de reprodución en directo, o que indica que se engadirán novos ficheiros multimedia ao ficheiro de índice a medida que estean dispoñibles.
Vexa o Listado 3 para ver un exemplo de lista de reprodución en directo tal e como aparecería ao comezo dunha sesión.
Listado de 3 listas de reprodución en directo ao comezo dunha sesión.
Copia o código
#EXTM3U
# EXT-X-TURGETDURATION: 10
# VERSIÓN EXT-X: 3
# EXT-X-MEDIA-SEQUENCE: 1
#EXTINF: 10,
fileSequence1.ts
#EXTINF: 10,
fileSequence2.ts
#EXTINF: 10,
fileSequence3.ts
#EXTINF: 10,
fileSequence4.ts
#EXTINF: 10,
fileSequence5.ts
Copia o código
O valor da etiqueta EXT-X-MEDIA-SEQUENCE DEBE incrementarse en 1 por cada URI de medios que se elimine do ficheiro da lista de reprodución. O URI multimedia debe eliminarse do ficheiro da lista de reprodución na orde na que aparecen na lista de reprodución. O ficheiro de índice actualizado presenta unha xanela móbil nun fluxo continuo. Este tipo de sesión é adecuado para emisións continuas.
Aquí está a mesma lista de reprodución despois de que se actualizou cos novos URI multimedia:
Listado de 4 listas de reprodución en directo despois de actualizar os URI multimedia.
Copia o código
#EXTM3U
# EXT-X-TURGETDURATION: 10
# VERSIÓN EXT-X: 3
# EXT-X-MEDIA-SEQUENCE: 2
#EXTINF: 10,
fileSequence2.ts
#EXTINF: 10,
fileSequence3.ts
#EXTINF: 10,
fileSequence4.ts
#EXTINF: 10,
fileSequence5.ts
#EXTINF: 10,
fileSequence6.ts
Copia o código
3. regras de actualización m3u8 en directo
A lista de ficheiros m3u8 en directo debe actualizarse continuamente, actualiza as regras:
Elimina o ficheiro superior (pensa reproducido) dunha lista de reprodución de ficheiros
Actualice continuamente a etiqueta EXT-X-MEDIA-SEQUENCE, incremento en 1
4. Experimento
Escribe un pequeno programa para xerar m3u8 en directo para probalo
Emprego:
m3u8_gen.exe start_num list_count duración nome do ficheiro.m3u8 [prefixo]
Exemplo de uso:
m3u8_gen.exe 1 3 10 live.m3u8 hls /
Xera un ficheiro live.m3u8 como
Copia o código
#EXTM3U
# EXT-X-MEDIA-SEQUENCE: 1
# EXT-X-TURGETDURATION: 10
#EXTINF: 10
hls / 1.ts
#EXTINF: 10
hls / 2.ts
#EXTINF: 10
hls / 3.ts
Copia o código
Escribe un script BAT para actualizar o ficheiro live.m3u8 cada 10 s
Copia o código
@echo apagado
f
|
Introduce o correo electrónico para obter unha 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 -> árabe
hy.fmuser.org -> Armenian
az.fmuser.org -> azerí
eu.fmuser.org -> éuscaro
be.fmuser.org -> bielorruso
bg.fmuser.org -> Búlgaro
ca.fmuser.org -> catalán
zh-CN.fmuser.org -> chinés (simplificado)
zh-TW.fmuser.org -> Chinés (tradicional)
hr.fmuser.org -> croata
cs.fmuser.org -> Checo
da.fmuser.org -> danés
nl.fmuser.org -> Holandés
et.fmuser.org -> estoniano
tl.fmuser.org -> filipino
fi.fmuser.org -> finés
fr.fmuser.org -> Francés
gl.fmuser.org -> galego
ka.fmuser.org -> xeorxiano
de.fmuser.org -> alemán
el.fmuser.org -> Grego
ht.fmuser.org -> crioulo haitiano
iw.fmuser.org -> Hebreo
hi.fmuser.org -> hindi
hu.fmuser.org -> Hungarian
is.fmuser.org -> islandés
id.fmuser.org -> indonesio
ga.fmuser.org -> irlandés
it.fmuser.org -> Italiano
ja.fmuser.org -> xaponés
ko.fmuser.org -> coreano
lv.fmuser.org -> letón
lt.fmuser.org -> Lituano
mk.fmuser.org -> macedonio
ms.fmuser.org -> malaio
mt.fmuser.org -> maltés
no.fmuser.org -> Norwegian
fa.fmuser.org -> persa
pl.fmuser.org -> polaco
pt.fmuser.org -> Portugués
ro.fmuser.org -> Romanés
ru.fmuser.org -> ruso
sr.fmuser.org -> serbio
sk.fmuser.org -> Eslovaco
sl.fmuser.org -> Esloveno
es.fmuser.org -> castelán
sw.fmuser.org -> Suahili
sv.fmuser.org -> Sueco
th.fmuser.org -> Thai
tr.fmuser.org -> turco
uk.fmuser.org -> ucraíno
ur.fmuser.org -> urdú
vi.fmuser.org -> Vietnamita
cy.fmuser.org -> galés
yi.fmuser.org -> Yiddish
FMUSER Wirless Transmit Video and Audio Máis fácil!
contacto
dirección:
No.305 Sala HuiLan Building No.273 Huanpu Road Guangzhou China 510620
categorías
boletín informativo