Réduire les coûts avec l’encodage vidéo à la demande
L’encodage vidéo prépare les fichiers vidéo à la lecture sur téléphone, ordinateur portable et téléviseur, mais il exige beaucoup de ressources de calcul et coûte cher. Le service d’encodage vidéo à la demande de Transloadit peut réduire les traitements inutiles en encodant les segments vidéo demandés plutôt qu’en préparant à l’avance chaque version d’une vidéothèque. Le délai de démarrage et les économies dépendent de la source, des paramètres d’encodage, du lecteur et de l’état du cache.
Présentation de l’encodage vidéo
Les vidéos brutes capturées par les caméras de téléphones ou les outils d’enregistrement d’écran sont optimisées pour la vitesse d’enregistrement, pas pour l’efficacité de diffusion. Elles utilisent souvent des codecs dépassés, leur conditionnement est peu adapté au streaming et leur taille dépasse largement le nécessaire. Convertir ces fichiers en formats de streaming adaptatif (par exemple HLS ou DASH) résout le problème, mais les flux de travail classiques qui consistent à tout encoder à l’avance présentent trois inconvénients majeurs :
- Temps de préparation – une chaîne de traitement préalable doit produire un résultat lisible avant de pouvoir le diffuser.
- Coût initial – encoder une vidéo que personne ne regarde gaspille des cycles de processeur et de l’argent.
- Manque de souplesse – changer un filigrane, passer à d’autres codecs ou ajouter la prise en charge d’une résolution supérieure nécessite de réencoder tout le catalogue existant.
Encodage vidéo à la demande
Le service d’encodage vidéo à la demande de Transloadit inverse le modèle traditionnel. Au lieu de prétraiter un fichier entier, il encode uniquement le segment demandé par un spectateur et diffuse le résultat en streaming. Le Smart CDN met le résultat en cache. Une requête servie depuis le cache évite de répéter l’encodage, mais cette diffusion reste comptabilisée dans la consommation. Les entrées expirées ou évincées du cache peuvent nécessiter un nouveau traitement.
Principaux avantages :
- Traiter les segments demandés – les segments qui ne sont jamais demandés n’ont pas besoin d’être encodés. Les lecteurs peuvent précharger des segments que le spectateur ne regardera finalement pas.
- Itérer rapidement – mettez à jour les filigranes, les sous-titres ou les codecs en modifiant un Template ; de nouvelles requêtes peuvent générer le résultat modifié sans réencodage préalable de toute la vidéothèque. Tenez compte des résultats en cache lors du déploiement des modifications.
- Commencer la lecture plus tôt – le lecteur n’a pas besoin d’attendre l’encodage de toute la vidéo. La première requête nécessite tout de même un travail d’importation et d’encodage.
Fonctionnement interne
/video/ondemand encode les vidéos en playlists HLS à la demande. Voici son fonctionnement avec notre Smart CDN :
- Le lecteur demande au Smart CDN la playlist multivariante HLS (playlist principale).
- Le Smart CDN transmet la requête à Transloadit si la playlist n’est pas encore en cache.
- Transloadit récupère le fichier source, génère la playlist multivariante HLS à la volée et la renvoie au lecteur.
- Lorsque le lecteur demande une playlist de variante de débit ou un segment
.ts(Transport Stream) précis, la même recherche dans le cache a lieu. Les playlists absentes sont générées ; les segments multimédias absents sont encodés et servis. La durée des segments est configurée dans les paramètres du Robot. - Le Smart CDN met en cache les playlists et les segments encodés, afin que les spectateurs suivants les reçoivent directement depuis les serveurs périphériques.
Les importations prenant en charge les plages d’octets permettent à Transloadit de récupérer les parties pertinentes du fichier source. L’exemple ci-dessous utilise un fichier stub S3 pour ce flux de travail. Le format source, la latence du stockage et les paramètres d’encodage influent toujours sur le délai de mise à disposition d’un segment demandé.
Démo
Choisissez un filigrane, appuyez sur Charger la vidéo, puis utilisez les commandes de lecture du lecteur. La démo ne demande aucune vidéo avant que vous ne validiez votre choix. Une nouvelle validation remplace le lecteur précédent ; si les paramètres restent identiques, l’URL reste la même afin que le CDN puisse réutiliser le résultat en cache. Les seuls temps mesurés dans le navigateur ne prouvent pas qu’une requête a été servie depuis le cache.
Aperçu de la vidéo avec filigrane
Cas d’utilisation
Voici les cas d’utilisation les plus courants de notre nouveau service d’encodage vidéo à la demande.
Archives volumineuses
Les vidéothèques de conférences, les images de vidéosurveillance ou les collections de cours filmés représentent souvent des milliers d’heures, dont seule une infime partie est revisionnée. L’encodage à la demande vous évite de traiter toute l’archive à l’avance. Le premier spectateur peut tout de même devoir attendre la préparation des segments demandés.
Plateformes de contenu généré par les utilisateurs
La plupart des fichiers téléversés sont peu regardés, voire jamais, tandis qu’un faible pourcentage d’entre eux devient viral. Reporter les calculs jusqu’à ce que le contenu soit demandé peut réduire l’encodage inutile. Comparez des charges de travail représentatives avant de choisir cette approche plutôt qu’une chaîne de traitement préalable.
Tests A/B de fonctionnalités vidéo
Vous devez comparer des codecs, des débits ou l’emplacement d’un filigrane ? Configurez des lecteurs distincts pour utiliser différents Templates, mesurez l’engagement et écartez la variante la moins performante. Aucun préencodage ni déploiement complexe n’est nécessaire.
Stratégie de diffusion flexible
Vous souhaitez modifier rapidement votre stratégie de diffusion ? Avec l’encodage à la demande, vous pouvez modifier vos paramètres d’encodage, ajouter ou supprimer des niveaux de qualité ou changer les filigranes sans planifier le réencodage préalable de toute votre vidéothèque. Prévoyez l’invalidation du cache ou des URL de diffusion versionnées lorsque vous modifiez un résultat déjà diffusé.
Calculateur d’économies
Le calculateur ci-dessous est un modèle illustratif de consommation, pas un devis ni une prévision
de votre facture. Il suppose trois versions encodées à l’avance, une version demandée pour
l’encodage à la demande et des tailles d’entrée et de sortie identiques. Ses multiplicateurs de
traitement fixes modélisent une chaîne de traitement particulière, pas les prix des forfaits
actuels : le facteur pour l’encodage préalable est de 12 fois la taille de la source, et celui pour
l’encodage à la demande est de 5 fois la taille de la source, multiplié par la rétention et le taux
de visionnage. Le facteur à la demande inclut un passage
/file/serve. Les visionnages répétés, le préchargement, les résultats absents du
cache, le stockage et la bande passante du CDN peuvent modifier la consommation réelle ; ils ne
sont pas mesurés ici. Consultez les tarifs actuels et testez vos
propres fichiers avant d’établir votre budget.
Paramètres pris en compte :
- Nombre de vidéos – la taille de votre vidéothèque.
- Taille moyenne des vidéos – la taille de la source en mébioctets (MiB).
- Rétention moyenne des spectateurs – la fraction de chaque vidéo qu’un utilisateur type regarde.
- Taux de visionnage – la part du catalogue qui reçoit au moins une vue.
Résultats
Exemple de Template
Les développeurs veulent généralement voir du JSON avant toute chose. Voici un Template minimal qui importe une vidéo depuis S3 et propose des variantes HLS 480p, 720p et 1080p à la demande :
{
"steps": {
"import": {
"robot": "/s3/import",
"path": "${fields.input}",
"credentials": "YOUR_AWS_CREDENTIALS",
"return_file_stubs": true
},
"vod": {
"robot": "/video/ondemand",
"use": "import",
"variants": {
"480p": {
"preset": "hls/480p"
},
"720p": {
"preset": "hls/720p"
},
"1080p": {
"preset": "hls/1080p"
}
}
},
"serve": {
"use": "vod",
"robot": "/file/serve"
}
}
}
Enregistrez cet extrait en tant que Template, puis,
lorsque vous ouvrez une URL telle que https://[workspace].tlcdn.com/[template]/[path], une
Assembly utilisant ces
Instructions est automatiquement créée pour
assurer l’importation des fichiers, l’encodage et la diffusion. Cet exemple illustre la structure
de l’URL, pas une requête autorisée complète. Configurez la
signature des URL du Smart CDN sur votre backend et autorisez la
source demandée et le Template avant de fournir une URL. Définissez
require_signature_auth sur 1 via
l’API des Templates pour rejeter les requêtes non signées ; ce
paramètre se place en dehors du JSON des Instructions. Ne placez pas les secrets de signature
dans le navigateur.
Commencer
Pour un guide complet sur 🤖 /video/ondemand, consultez la documentation du Robot.
Conclusion
L’encodage vidéo à la demande peut réduire le travail consacré aux contenus rarement regardés et faciliter les changements de diffusion. Comparez-le à l’encodage préalable avec vos fichiers réels, le comportement de votre lecteur et les conditions de cache pour choisir l’approche adaptée à votre application.
