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
fondo
O MP4 é o noso formato de vídeo común e, moitas veces, cando reproducimos vídeos do servidor, é directamente a fonte de vídeo MP4 solicitada. Pero, de feito, isto non é bo. O ficheiro de cabeceira MP4 [ftyp + moov] é grande e a reprodución inicial precisa descargar o ficheiro de cabeceira completo e analizalo e despois descargar unha certa duración do videoclip reproducible para reproducilo. Ademais, a medida que aumenta o tamaño do vídeo, o ficheiro de cabeceira seguirá crecendo e o tempo de reprodución inicial será maior. Á vista desta situación, é necesario un método que poida acelerar a análise inicial do vídeo. HLS é a solución proposta por Apple para solucionar este problema.
HLS
HLS é a abreviatura de transmisión en directo HTTP. É un protocolo de transmisión de rede multimedia baseado en HTTP proposto por Apple. Pode soportar en directo e baixo demanda ao mesmo tempo, así como multi-definición, audio e vídeo de dobre pista, subtítulos e outras funcións. O seu principio é dividir un vídeo enteiro en varios vídeos pequenos e a reprodución completa fórmase empalme estes segmentos.
HLS úsase moito nos terminais móbiles. Os clientes actuais que admiten o protocolo HLS inclúen:
iOS 3.0 e superior, AVPlayer soporta nativamente HLS
Android 3.0 e anteriores
Adobe Flash Player 11.0 e superior
O seu principio xeral é o seguinte:
1. Recolle audio e vídeo
2. Codificar audio e vídeo no servidor
3. Despois da codificación, entrégao ao segmentador de fluxos en forma de fluxo de transporte MPEG-2
4. A cortadora crea un ficheiro de índice e unha lista de reprodución de ts, o ficheiro de índice úsase para indicar a posición do audio e do vídeo e ts é un clip multimedia real
5. Poña os recursos do paso anterior no servidor HTTP
6. O cliente solicita o ficheiro de índice para a súa reprodución e o contido da reprodución pódese atopar a través do ficheiro de índice
M3U8
Un paso clave para realizar HLS é o cuarto paso anterior, é dicir, a organización de ficheiros de índice e listas de reprodución. Aquí úsase o formato M3U8. M3U8 é a versión Unicode de M3U, 8 significa que se usa a codificación UTF-8, e tanto M3U como M3U8 son formatos de ficheiro para listas multimedia.
Descrición do formato M3U8
Ás veces é posible que teñamos que modificar manualmente o contido do ficheiro M3U8 para probalo ou nalgúns casos especiais, polo que debemos ter unha certa comprensión do seu formato. A definición deste formato está escrita no documento RFC 8216. As seguintes son algunhas notas:
Os ficheiros M3U8 deben estar codificados en UTF-8 e non poden usar a orde de bytes da marca de orde de bytes (BOM) e non poden conter caracteres de control utf-8 (U + 0000 ~ U_001F e U + 007F ~ u + 009F)
Cada liña do contido do ficheiro M3U8 é unha liña en branco, un URI ou unha cadea que comeza con # e non pode aparecer ningún carácter en branco.
As etiquetas integradas son todas cadeas que comezan por # EXT e distinguen entre maiúsculas e minúsculas.
O URI é o camiño do contido, que pode ser un camiño relativo ou un camiño absoluto
Ficheiro de lista mestre M3U8
O ficheiro de índice principal M3U8 úsase xeralmente para especificar varias fontes de índice. Analicemos primeiro o contido do ficheiro m3u8 principal hls_vod_mvp.m3u8, a súa cabeza é así
Formato de cabeceira
#EXTM3U
# VERSIÓN EXT-X: 7
# EXT-X-INDEPENDENTE-SEGMENTO Copia o código
# EXTM3U indica que o ficheiro está en formato M3U e todos os ficheiros en formato M3U deben poñer o contido na primeira liña.
# EXT-X-VERSIOn indica a versión compatible da lista de reprodución, que actualmente é 7.
# EXT-X-INDEPENDENT-SEGMENTS Esta etiqueta indica que todas as mostras de medios nun segmento de medios pódense decodificar de xeito independente sen depender doutra información do segmento de medios.
Formato de subtítulos
O contido seguinte é algúns subtítulos, o contido dos subtítulos non é necesario.
# 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 "Copiar código
# EXT-X-MEDIA úsase para especificar recursos de lista de soportes multilingües do mesmo contido.
O TIPO é o tipo de recurso e os contidos opcionais son: AUDIO, VÍDEO, SUBTÍTULOS, PÉXIDOS PECHADOS.
O contido anterior define TYPE = SUBTITLES, que é o tipo de subtítulo.
GROUP-ID é o grupo ao que pertence a tradución multilingüe e é un parámetro obrigatorio
NAME é a información de descrición lexible do fluxo de tradución e este valor corresponde ao displayName de AVMediaSelectionOption.
DEFAULT, AUTOSELECT, FORZADO son tres valores BOOL correspondentes a se o fluxo de tradución está seleccionado por defecto se falta a información necesaria. O fluxo de reprodución reprodúcese cando o usuario non amosa a configuración. FORCED só é válido para o tipo de subtítulo e úsase para marcar a selección automática actual do fluxo de tradución. .
LANGUAGE úsase para especificar o tipo de idioma, que se define segundo o [código de idioma ISO 639] (https://www.w3.org/WAI/ER/WD-AERT/iso639.htm "Código de idioma ISO 639") estándar. Cando o reprodutor predeterminado do sistema selecciona subtítulos, o nome da lista de subtítulos que se mostra configúrase segundo este valor.
O URI é a información de localización do recurso, onde corresponde a un ficheiro M3U8 subtitulado. subtitles / eng / prog_index.m3u8 é un camiño relativo,
A través da información anterior, podemos analizar o significado do contido anterior como: O vídeo actual admite tres subtítulos: inglés, xaponés e chinés. Pero cada idioma ten dúas mensaxes EXT-X-MEDIA. A diferenza entre eles é o agrupamento, un agrupado en subs e o outro agrupado en subsC. Por que hai dous grupos? Falarei disto máis adiante.
Formato de vídeo
Mire de novo cara abaixo para ver o índice do contido do 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: este atributo especifica unha fonte de copia de seguridade, é dicir, a ruta de reprodución de vídeo e algunha información de vídeo. A seguinte é a configuración do contido correspondente: BANDWIDTH é a taxa de bits máxima, 827299 é 827299bit / s, que é o tempo máximo máis alto Consume 101 KB de tráfico por segundo.
A ANCHURA MEDIA DE BANDA é a taxa de bits media, 747464
CODECS é información de codificación, avc1.64001f, mp4a.40.2, avc representa o formato de codificación h264, o seguinte 64001f é o parámetro de codificación representado por hexadecimal, 64, 00, 1f, respectivamente, representan tres valores de parámetros diferentes. mp4a é un formato de codificación de audio e o seguinte 40.2 representa parámetros de codificación de audio.
RESOLUTION é a resolución de vídeo. A resolución actual da fonte de vídeo é de 640x360.
FRAME-RATE é a velocidade máxima de fotogramas, 29.970 representa a velocidade máxima de fotogramas da reprodución actual é de 29.970 fotogramas por segundo.
AUDIO é o grupo de audio e program_audio é o nome do grupo de audio correspondente.
SUBTÍTULOS indica o grupo de subtítulos correspondente e subs é o nome do grupo de subtítulos correspondente. A información de subtítulos anterior ten un ID de GRUPO e este valor correspóndelle.
O URI é a ruta do contido, 0640 / 0640.m3u8 corresponde á ruta do ficheiro m3u8 da fonte de vídeo. Isto pódese ver na información de captura de paquetes.
Debaixo de EXT-X-STREAM-INF hai EXT-XI-FRAME-STREAM-INF, que representa o marco I (marco clave) do recurso multimedia contido no ficheiro da lista de reprodución. Debido a que o marco I é só unha imaxe, non contén contido de audio e os parámetros restantes son consistentes co formato de contido de vídeo.
Despois diso, hai fontes de vídeo correspondentes a diferentes resolucións, 1920x1080, 1280x720, 960x540, 480x270. Debido a que HLS cambiará automaticamente a resolución segundo a situación da rede, xeralmente prepáranse varias resolucións para a selección. Segundo a análise dos datos capturados, o primeiro segmento reproducido é a resolución 640, o segundo a 8 segmentos despois é de resolución 480 e despois pásase á resolución 640.
formato de audio
Mirar cara abaixo é o índice do audio correspondente
# EXT-X-MEDIA: TYPE = AUDIO, GROUP-ID = "program_audio", LANGUAGE = "eng", NAME = "Audio alternativo", AUTOSELECT = YES, DEFAULT = YES, URI = "audio1 / audio1.m3u8" Copiar Código
# EXT-X-MEDIA apareceu arriba, pero non mencionou a lista para varios idiomas.
TIPO = AUDIO, esta vez o tipo é audio.
GROUP-ID é o ID do grupo, correspondente ao contido AUDIO en EXT-X-STREAM-INF.
URI = audio1 / audio1.m3u8 corresponde á ruta de audio.
Fontes alternativas de diferentes formatos de codificación
No ficheiro M3U8 principal, tamén podemos ver unha fonte de vídeo de resolución 640, que non é a mesma que a resolución 640 anterior. O seu contido é así:
#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 alternativo", AUTOSELECT = YES, DEFAULT = YES, URI = "audioc / prog_index.m3u8" Copiar Código
O formato de codificación CODECS é hvc1.2.4.H150.B0, mp4a.40.2, o formato de codificación de audio non cambiou, pero o formato de codificación de vídeo cambiou. hvc1 é un dos formatos de codificación HEVC (H265). É un formato de codificación de vídeo de nova xeración lanzado por Apple. Por problemas de compatibilidade, moitos clientes non poden analizar este formato, polo que non é moi popular. Aparecen fontes de vídeo deste formato Debería ser unha copia de seguridade aquí. Comparando dous contidos da mesma resolución, pódese atopar que a taxa de bits do formato hvc1 é maior que a do formato avc1, o que demostra que o contido de hvc1 é maior e a relación de compresión de avc1 é maior baixo a mesma resolución.
Correspondente á fonte de vídeo en formato hvc1, a súa agrupación de contido de subtítulos e agrupación de contido de audio tamén cambiaron, razón pola que os subtítulos anteriores teñen dúas copias do mesmo idioma e corresponden ás fontes de vídeo en formatos avc1 e hvc1.
Esta é a lista principal de M3U8. O audio e o vídeo deste contido procesanse por separado, pero tamén se poden combinar.
Ficheiro M3u8 que contén información multimedia
Tome o ficheiro 0640.m3u8 como exemplo
#EXTM3U
# VERSIÓN EXT-X: 4
# EXT-X-TURGETDURATION: 7
# EXT-X-MEDIA-SEQUENCE: 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-ENDLISTCopia o código
# EXTM3U e # EXT-X-VERSION son o encabezado do ficheiro M3U e o número de versión compatible respectivamente. Este formato é unha versión antiga polo que o número de versión é inferior ao ficheiro principal.
EXT-X-TARGETDURATION representa a duración máxima de cada segmento de reprodución, 7 representa 7 segundos e os segmentos deste directorio non poden superar os 7 segundos.
EXT-X-MEDIA-SEQUENCE representa o número de secuencia do primeiro segmento da lista de reprodución e 1 representa que o segmento de xogo comeza a partir de 1.
#EXTINF representa a duración do segmento, 6.006 significa que o segmento actual é 6.006 s. A información total sobre a duración do vídeo obtense acumulando este valor.
0640_00001.ts é a ruta relativa do clip. O ficheiro ts representa unha peza de vídeo ou audio e pode estar en formato ts, mp4, aac e outros. Porque se especificou para abrir desde o 1
|
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