iOS: Selección de fuente

En este tema, aprenderá cómo Brightcove Native Player SDK para iOS utiliza un proceso de selección de fuente (representación) predeterminado al reproducir un video.

Proceso de selección predeterminado

Cuando recupera videos del catálogo de Brightcove o construye un BCOVVídeo objeto con múltiples BCOVSource elementos, el jugador tiene que decidir qué BCOVSource (interpretación) para reproducir.

Apple introdujo App Transport Security en iOS 9 y recomienda encarecidamente el uso de HTTPS en lugar de HTTP para todo el tráfico web. Por lo tanto, la política de selección de fuente predeterminada de Brightcove es: [BCOVBasicSourceSelectionPolicy sourceSelectionHLSWithScheme: NSURLProtectionSpaceHTTPS].

Brightcove proporciona una implementación predeterminada de la siguiente manera:

  1. Busca la primera fuente que tenga un deliveryType de HLS utilizando el esquema HTTPS.
  2. Si no se encuentra tal fuente, la primera HLS con un esquema HTTP.
  3. Si no HLS fuentes están presentes, recurrirá a la primera fuente con un deliveryType de MP4.
  4. Si no se encuentra ninguno de los anteriores, se devuelve la primera fuente reproducible de cualquier tipo.
  5. La URL de origen se proporciona al AVPlayer para la reproducción.
  6. Cuando comienza la reproducción, el AVPlayer es responsable de seleccionar la velocidad de bits y la resolución que se utilizarán.
  7. La AVPlayer comenzará en el primer elemento del índice y se ajustará en consecuencia.

Cuando se utiliza la configuración de transcodificación predeterminada, la primera fuente de HLS debe ser la lista de reproducción maestra m3u8 que apunta a todas sus interpretaciones individuales.

Políticas de selección de fuentes alternativas

Puede anular fácilmente la política de selección de fuente predeterminada si esto no le funciona. Para obtener más detalles, consulte la Selección de fuente sección de la SDK de Brightcove Player para iOS documento de referencia.

Fuente primordial

Si desea anular cuál BCOVSource se proporciona a la AVPlayer , puede implementar el sourceSelectionPolicy propiedad de bloque en el BCOVBasicSessionProviderOptions clase.