Réduction de la latence pour les flux en direct
Introduction
La latence est le délai entre le moment où quelque chose est enregistré dans la vie réelle et le moment où il est vu dans un lecteur vidéo. Il faut bien sûr du temps réel pour transmettre un signal de la source via Internet à un lecteur de téléspectateurs. La latence est aggravée par le fait que la vidéo en ligne est transmise en morceaux discrets, appelés segments.
La latence peut être réduite en raccourcissant la longueur des segments vidéo, et les sections suivantes détailleront comment vous pouvez le faire.
Sachez toutefois qu'il existe un compromis : pour assurer une lecture ininterrompue, le lecteur télécharge quelques segments vidéo avant la position de lecture actuelle (c'est ce qu'on appelle la mise en mémoire tampon), afin qu'ils soient prêts en cas de besoin.
Si vous réduisez la longueur des segments, gardez à l'esprit les points suivants :
- Le lecteur prélèvera moins de données vidéo et les risques d'interruption de la lecture pendant que le lecteur met en mémoire tampon des segments supplémentaires seront accrus
- Le CDN du client verra le nombre de requêtes augmenter
Exigences
Les versions suivantes du lecteur prennent en charge le HLS à faible latence avec les flux en direct :
- Lecteur Brightcove (web) version 6.62.0 et plus récente
- SDK natif pour iOS version 6.10.3 et plus récente
- SDK natif pour Android version 7.0.1 et plus récente
Création d'un profil en direct à latence réduite
Pour réduire la latence, vous devrez créer un profil Live personnalisé. Suivez les étapes ci-dessous :
- Se connecter à Studio.
- Ouvrez le module Admin .
- Dans la navigation de gauche, cliquez sur Profils d'ingestion.
- Sélectionnez l'un des profils d'acquisition en direct avec un maximum de 4 rendus.
- Cliquez sur le lien pour ouvrir le profil.
- Cliquez sur pour créer un nouveau profil basé sur le profil sélectionné.
- Dans le nouveau profil, remplacez le par « Profil
name
à faible latence » (ou un autre nom significatif). - Pour chacun des
renditions
, modifiez lesegment_seconds
2
pour réduire la durée des segments à 2 secondes. - Le profil devrait ressembler à ceci :
{ "model_version": 1, "name": "Low Latency Profile", "description": "Deliver high-quality renditions to maximize quality for desktop and OTT.", "account_id": "57838016001", "renditions": [ { "media_type": "video", "format": "ts", "segment_seconds": 2, "label": "hls1080p", "live_stream": true, "video_codec": "h264", "video_bitrate": 4000, "keyframe_interval": 60, "width": 1920, "height": 1080, "h264_profile": "high" }, { "media_type": "video", "format": "ts", "segment_seconds": 2, "label": "hls720p", "live_stream": true, "video_codec": "h264", "video_bitrate": 2400, "keyframe_interval": 60, "width": 1280, "height": 720, "h264_profile": "high" }, { "media_type": "video", "format": "ts", "segment_seconds": 2, "label": "hls540p", "live_stream": true, "video_codec": "h264", "video_bitrate": 1700, "keyframe_interval": 60, "width": 960, "height": 540, "h264_profile": "main" }, { "media_type": "video", "format": "ts", "segment_seconds": 2, "label": "hls360p", "live_stream": true, "video_codec": "h264", "video_bitrate": 900, "keyframe_interval": 60, "width": 640, "height": 360, "h264_profile": "main" } ], "packages": [] }
- Pour utiliser le profil, sélectionnez-le lors de la création d'un nouvel événement en direct dans le module Live.
Utilisation de l'API en direct
Si vous souhaitez une latence réduite et que vous utilisez l'API Live pour créer vos tâches en direct, créez simplement la tâche comme vous le faites normalement, mais incluez pas plus de 4 interprétations , Et mettre segment_seconds
pour chaque interprétation à 2
. Veillez à respecter les limitations indiquées pour cette fonction.
Contraintes
Les limitations suivantes ne sont PAS prises en charge avec les diffusions en direct utilisant une latence réduite :
- SSAI
- GDN
- Pistes audio multilingues
- Redondance
- Trames B sur l'entrée
Les limitations supplémentaires sont les suivantes :
- La fenêtre du DVR doit être inférieure à 5 minutes
- Pas plus que 4 rendus
- Faible latence Le direct n'offre que 30 images par seconde