Determinar qué interpretación se reproducirá

Este tema contiene información sobre cómo Brightcove Player determina qué versión reproducir.

¿HLS o MP4?

Cuando utilice el nuevo Brightcove Player, le recomendamos que elija o cree un perfil de ingesta que tenga versiones HLS y MP4 para llegar a la mayor cantidad de dispositivos y navegadores. Esta tabla muestra cómo el jugador determina, en tiempo de ejecución, qué interpretación se reproducirá en un navegador en particular.

Tipo de navegador Tecnología de reproducción utilizada por defecto
Desktop Chrome 34+, Desktop Firefox 42+, Edge y Chrome 34+ en Android 5.0+ HLS basado en HTML (mediante MSE)
Escritorio (macOS) Safari, Móvil (iOS) Safari HLS nativo (implementado por navegador)
Firefox y Chrome más antiguos HLS basado en Flash; requiere Flash 10.3+ (volverá a MP4 si Flash está desactivado)
IE 11 en Windows 8.1+ HLS basado en HTML (mediante MSE)

Selección de reproducción HLS y DASH

HLS y PIZCA el video se divide en segmentos. Por lo general, duran unos 10 segundos, pero pueden ser más largos o más cortos. Si se conocen el ancho de banda y la resolución, el reproductor elegirá la interpretación en función de estos criterios. Si se desconoce la resolución o el ancho de banda (por ejemplo, al crear un reproductor con display:none), el reproductor comenzará con la interpretación más cercana a .5 MB / s (equivalente a 4000 kbs). En los límites del segmento, cambiará a una interpretación más alta o más baja que se describe en el texto y las imágenes a continuación.

Tanto HLS como DASH intentan garantizar la experiencia de visualización de la más alta calidad posible, dado el ancho de banda y las codificaciones disponibles, y al mismo tiempo considerando el tamaño del reproductor. Esto no siempre significa utilizar la copia de velocidad de bits más alta disponible. Por ejemplo, si el reproductor mide 300 px por 150 px, sería una pérdida de ancho de banda descargar una transmisión de 4k.

De forma predeterminada, el reproductor intenta cargar la variante de velocidad de bits más alta que es inferior al ancho de banda de segmento detectado más recientemente, con una condición: si hay varias variantes con dimensiones superiores al tamaño del reproductor actual, solo cambiará un tamaño mayor que el tamaño del reproductor actual.

Durante la reproducción, el reproductor cambiará a una interpretación más alta o más baja según el siguiente algoritmo. Las entradas de este algoritmo son:

  • Ancho de banda disponible
  • Dimensiones del jugador

Descripción general del algoritmo de alto nivel

  1. Elimine todas las representaciones que tengan una tasa de bits superior al ancho de banda medido.
  2. Ordene las representaciones restantes por resolución (recuento de líneas horizontales) de mayor a menor.
  3. Señale el que esté más cerca de las dimensiones del jugador.
  4. Elija el que sea más alto que ese.

El proceso se ilustra a continuación:

  1. Cada vez que se descarga un nuevo segmento, la tasa de bits de descarga se calcula en función del tamaño del segmento y el tiempo que tardó en descargarse:
    Reproducción HLS1
  2. Todas las representaciones que tienen una tasa de bits más alta que la nueva medición se filtran:
    Reproducción HLS2
  3. Se filtran todas las representaciones que son más grandes que las dimensiones del reproductor actual:
    Reproducción HLS3
  4. No se desea una caída significativa de la calidad solo porque su reproductor es un píxel más pequeño, por lo que agregamos la siguiente resolución más alta. La interpretación de tasa de bits más alta que queda es la que se usa:
    Reproducción HLS4

Si resulta que ninguna reproducción es aceptable según el filtrado descrito anteriormente, se utilizará la primera codificación enumerada en la lista de reproducción maestra.

Si desea que su reproductor use un conjunto diferente de prioridades, es posible reemplazar completamente la lógica de selección de la interpretación. Por ejemplo, siempre puede elegir la interpretación más apropiada por resolución, aunque esto podría significar más paradas durante la reproducción. Ver la documentación en player.hls.selectPlaylist para más detalles.

Selección de copias MP4

Si se ejecuta en un dispositivo móvil y se reproduce un MP4 (según las reglas enumeradas anteriormente), el jugador elegirá el MP4 que tenga una tasa de bits más cercana a .5 MB / s. Si está en un dispositivo de escritorio o portátil, elegirá uno que esté más cerca de 3 MB / s.

Selección de pista de audio

El manifiesto determina qué pista de audio cargar según la pista de video que se elija.

Ejemplo

playlist-1.m3u8

#EXTM3U

  #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="stereo",LANGUAGE="en",NAME="English",DEFAULT=YES,AUTOSELECT=YES,URI="audio/stereo/en/128kbit.m3u8"
  #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="stereo",LANGUAGE="dubbing",NAME="Dubbing",DEFAULT=NO,AUTOSELECT=YES,URI="audio/stereo/none/128kbit.m3u8"
  
  #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="surround",LANGUAGE="en",NAME="English",DEFAULT=YES,AUTOSELECT=YES,URI="audio/surround/en/320kbit.m3u8"
  #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="surround",LANGUAGE="dubbing",NAME="Dubbing",DEFAULT=NO,AUTOSELECT=YES,URI="audio/stereo/none/128kbit.m3u8"
  
  #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="Deutsch",DEFAULT=NO,AUTOSELECT=YES,FORCED=NO,LANGUAGE="de",URI="subtitles_de.m3u8"
  #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="English",DEFAULT=YES,AUTOSELECT=YES,FORCED=NO,LANGUAGE="en",URI="subtitles_en.m3u8"
  #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="Espanol",DEFAULT=NO,AUTOSELECT=YES,FORCED=NO,LANGUAGE="es",URI="subtitles_es.m3u8"
  #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="Français",DEFAULT=NO,AUTOSELECT=YES,FORCED=NO,LANGUAGE="fr",URI="subtitles_fr.m3u8"
  
  #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=258157,CODECS="avc1.4d400d,mp4a.40.2",AUDIO="stereo",RESOLUTION=422x180,SUBTITLES="subs"
  video/250kbit.m3u8
  #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=520929,CODECS="avc1.4d4015,mp4a.40.2",AUDIO="stereo",RESOLUTION=638x272,SUBTITLES="subs"
  video/500kbit.m3u8
  #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=831270,CODECS="avc1.4d4015,mp4a.40.2",AUDIO="stereo",RESOLUTION=638x272,SUBTITLES="subs"
  video/800kbit.m3u8
  #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1144430,CODECS="avc1.4d401f,mp4a.40.2",AUDIO="surround",RESOLUTION=958x408,SUBTITLES="subs"
  video/1100kbit.m3u8
  #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1558322,CODECS="avc1.4d401f,mp4a.40.2",AUDIO="surround",RESOLUTION=1277x554,SUBTITLES="subs"
  video/1500kbit.m3u8
  #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=4149264,CODECS="avc1.4d4028,mp4a.40.2",AUDIO="surround",RESOLUTION=1921x818,SUBTITLES="subs"
  video/4000kbit.m3u8
  #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=6214307,CODECS="avc1.4d4028,mp4a.40.2",AUDIO="surround",RESOLUTION=1921x818,SUBTITLES="subs"
  video/6000kbit.m3u8
  #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=10285391,CODECS="avc1.4d4033,mp4a.40.2",AUDIO="surround",RESOLUTION=4096x1744,SUBTITLES="subs"
  video/10000kbit.m3u8

En el ejemplo anterior, hay dos grupos de audio, estéreo y rodear. También hay 6 resoluciones de video en 8 velocidades de bits:

  • Las 3 tasas de bits más bajas utilizan estéreo grupo de audio
  • Las 5 velocidades de bits más altas utilizan rodear grupo de audio

Los dos grupos de audio tienen dos transmisiones con diferentes idiomas y nombres. Cuando está presente, se muestra como una pista de audio alternativa en un menú del reproductor.

Notas

  • HLS no permite adaptar transmisiones de audio en un escenario de audio demuxed. Por lo tanto, si tiene diferentes grupos de audio o audio alternativo como en el ejemplo anterior, no es posible especificar múltiples interpretaciones de calidad de las pistas estéreo o envolventes.

    Sin embargo, si la lista de reproducción es solo de audio, es posible hacerlo si el audio se proporciona a través del EXT-X-STREAM-INF etiqueta.

  • Para DASH, puede tener audio adaptable, pero actualmente no admitimos adaptarlo, a menos que sea un manifiesto de solo audio. Elegimos una única interpretación asociada con la reproducción de video. Esta es la primera reproducción de audio que encontramos.