Livrer la vidéo HLS

Dans cette rubrique, vous découvrirez HTTP Live Streaming (HLS), un protocole de streaming multimédia basé sur HTTPS implémenté par Apple.

Aperçu

Le protocole HLS décompose la vidéo en une séquence de petits téléchargements de fichiers, chaque téléchargement chargeant un court morceau de la vidéo en utilisant HTTP. Lors de la lecture du flux, le client peut choisir parmi un certain nombre de flux alternatifs différents contenant le même matériel encodé à une variété de débits de données, ce qui permet à la session de streaming de s'adapter au débit de données disponible. Au début de la session de streaming, il télécharge une liste de lecture étendue contenant les métadonnées des différents sous-flux disponibles.

Introduction

HLS est devenu une norme de facto pour la diffusion vidéo sur les appareils mobiles grâce à son support natif sur iOS et Android. La diffusion vidéo en utilisant HLS présente un certain nombre d'avantages :

  • Prise en charge de la sélection adaptative du débit binaire (pilotée par le client)
  • Livré sur des ports HTTP standard
  • Format manifeste simple et textuel
  • Aucun serveur de streaming propriétaire n'est requis

Création de HLS

Video Cloud prend en charge HLS comme option de codage vidéo, ainsi que H.264 (MP4) et H.263 (FLV). Les profils d'ingestion déterminent le nombre et le type de rendus créés lorsque les vidéos sont téléchargées à l'aide de Dynamic Ingest API ou Télécharger le module. Selon le profil d'ingest utilisé lors du téléchargement, les formats associés HLS peuvent être créés automatiquement dans le cadre de ce profil. Pour plus d'informations sur les profils d'acquisition et les types de rendus créés avec chaque profil, voir Profils d'ingestion standard.

Dynamic Ingest prend en charge les profils d'ingeste personnalisés, mais pour le moment, vous ne pouvez pas créer vos propres profils personnalisés. Si vous avez besoin d'un profil personnalisé, contactez votre ingénieur Brightcove Solutions ou votre responsable de compte.

Une fois que vous avez sélectionné ou créé un profil d'acquisition qui comprend un ou plusieurs rendus HLS, à chaque fois que vous téléchargez une vidéo, que vous utilisiez le Dynamic Ingest API ou le module de téléchargement, la vidéo inclura les rendus HLS ainsi que tous les autres rendus multi-débits spécifiés dans le cadre du profil.

Jouer à HLS

Le lecteur Brightcove inclut par défaut un moteur de lecture HLS. Si la vidéo que vous fournissez au lecteur inclut des formats associés HLS, il les lira avant d'essayer MP4 car l'ordre de lecture par défaut est HLS, HTML5, puis Flash. Si le navigateur prend en charge HLS nativement, il utilisera cette fonctionnalité (par exemple Safari sur le bureau ou iOS). Si le navigateur ne prend pas en charge HLS, mais que Flash est installé sur le navigateur, il charge le secours Flash. Vous pouvez modifier ce comportement en changeant l'ordre technique du joueur. Pour plus d'informations, consultez le Guide des technologies de lecture.

Video Cloud offre un chiffrement HLS qui vous permet d'envoyer des vidéos chiffrées via HTTP pour la lecture sur les appareils iOS. Voir Protection des vidéos avec le cryptage HLS pour plus de détails.

Le lecteur Brightcove essaie de garantir une expérience de visionnage de la plus haute qualité possible, compte tenu de la bande passante et des encodages disponibles. Cela ne signifie pas toujours que l'on utilise le rendu le plus élevé disponible. Si le lecteur est 300px par 150px, ce serait un gaspillage de bande passante pour télécharger un flux 4K. Par défaut, le joueur tente de charger la variante de débit le plus élevé qui est inférieure à la bande passante du segment la plus récente, avec une condition : s'il existe plusieurs variantes dont les dimensions sont supérieures à la taille actuelle du lecteur, il ne changera qu'une taille supérieure à la taille actuelle du lecteur.