La recherche vidéo permet aux spectateurs d'accéder directement à n'importe quel point d'un fichier vidéo ou audio à la demande sans télécharger l'intégralité du fichier au préalable. Cette rubrique explique comment activer la recherche vidéo dans la console Alibaba Cloud CDN.
L'activation de la recherche vidéo augmente le temps jusqu'au premier octet (TTFB) d'environ 30 ms.
Fonctionnement
Lorsqu'un spectateur fait glisser la barre de lecture vers une nouvelle position, le lecteur envoie une requête URL avec un paramètre start au CDN. Le CDN identifie l'image clé précédente la plus proche située à cette position ou avant celle-ci, puis diffuse le clip vidéo à partir de cet endroit pour offrir une expérience de lecture fluide.
Lorsque la valeur du paramètre start ne correspond pas exactement à une image clé, le CDN revient à la dernière image clé précédant cette position. La lecture réelle commence donc légèrement avant l'horodatage demandé. Si votre application nécessite une recherche précise au niveau de l'image, tenez compte de ce décalage côté client.
Prérequis
Avant de commencer, assurez-vous que :
Le serveur d'origine prend en charge les requêtes HTTP Range
La fonctionnalité Ignore parameters est désactivée pour le nom de domaine accéléré
La recherche vidéo utilise les paramètres de requêtestartetendpour identifier le segment de lecture. Si l'option Ignore parameters est activée, le CDN supprime ces paramètres avant de transférer les requêtes au serveur d'origine, ce qui empêche le bon fonctionnement de la recherche.
Formats de fichiers pris en charge
La recherche vidéo prend en charge les fichiers MP4 et FLV. Chaque format impose des exigences différentes en matière de métadonnées et d'unités de paramètre.
MP4
Les fichiers MP4 stockent les métadonnées dans une structure appelée « moov atom », qui contient les informations d'indexation de l'ensemble du fichier. Le lecteur doit lire ces métadonnées avant de pouvoir accéder à n'importe quelle position.
L'atome moov doit se trouver dans l'en-tête du fichier. S'il est situé à la fin du fichier, le serveur d'origine doit transmettre l'intégralité du fichier avant que le lecteur ne puisse commencer la recherche, ce qui rend la fonction de recherche vidéo inutile.
| Attribut | Détails |
|---|---|
| Metadata location | En-tête du fichier (et non fin du fichier) |
| `start` parameter unit | Secondes, avec jusqu'à trois décimales (par exemple, start=1.01) |
| Example URL | domain/video.mp4?start=10 — lecture à partir de la 10e seconde |
FLV
Pour les fichiers FLV, la vidéo doit contenir des métadonnées. Par défaut, le paramètre start spécifie un décalage en octets. Activez l'option Time-based FLV Seeking pour utiliser des secondes à la place.
| Attribut | Détails |
|---|---|
| Metadata requirement | Le fichier doit contenir des métadonnées |
| Default `start` unit | Octets (les décimales sont arrondies à l'entier positif inférieur le plus proche) |
| `start` unit with Time-based FLV Seeking | Secondes |
| Example URL (bytes) | domain/video.flv?start=10 — lecture à partir de l'image clé précédant l'octet 10 |
Choix d'un mode de recherche pour les fichiers FLV :
Byte-based seeking — adapté au traitement précis des données ou aux workflows vidéo bruts
Time-based seeking — adapté à la lecture par les utilisateurs finaux ; accède directement à la seconde demandée
Activer la recherche vidéo
Connectez-vous à la console Alibaba Cloud CDN.
Dans le volet de navigation de gauche, cliquez sur Domain Names.
Repérez le nom de domaine accéléré à configurer, puis cliquez sur Manage dans la colonne Actions.
Dans l'arborescence de navigation de gauche, cliquez sur Video.
Dans la section Video Seeking, activez l'interrupteur Video Seeking.
(Facultatif) Pour utiliser la recherche basée sur le temps pour les fichiers FLV, activez l'option Time-based FLV Seeking.
(Facultatif) Modifiez les Custom Parameters si nécessaire.
Logique de traitement des paramètres
Les tableaux suivants illustrent la manière dont le CDN traite différentes combinaisons de valeurs start et end. Ces exemples utilisent la recherche basée sur le temps avec les paramètres par défaut start et end.
MP4
| Condition | Exemple | Résultat |
|---|---|---|
Les paramètres start et end sont tous deux invalides |
start=foo&end=bar |
Renvoie la vidéo complète |
Le paramètre start est valide ; le paramètre end est invalide |
start=10 |
Recherche à partir de la 10e seconde jusqu'à la fin |
Le paramètre start est invalide ; le paramètre end est valide |
end=10 |
Recherche de 0 à la 10e seconde |
Les paramètres start et end sont tous deux valides |
start=0&end=10 |
Recherche de 0 à la 10e seconde |
Les paramètres start et end valent tous deux 0 |
start=0&end=0 |
Renvoie la vidéo complète |
start > end |
start=10&end=0 |
Recherche à partir de la 10e seconde jusqu'à la fin |
start = end |
start=10&end=10 |
Recherche à partir de la 10e seconde jusqu'à la fin |
La valeur start dépasse la durée de la vidéo |
— | Renvoie une erreur HTTP 400 |
FLV
| Condition | Exemple | Résultat |
|---|---|---|
Les paramètres start et end sont tous deux invalides |
start=foo&end=bar |
Renvoie la vidéo complète |
Le paramètre start est valide ; le paramètre end est invalide |
start=10 |
Recherche à partir de la position 10 jusqu'à la fin |
Le paramètre start est invalide ; le paramètre end est valide |
end=10 |
Recherche de 0 à la position 10 |
Les paramètres start et end sont tous deux valides |
start=0&end=10 |
Recherche de 0 à la position 10 |
Les paramètres start et end valent tous deux 0 |
start=0&end=0 |
Renvoie la vidéo complète |
start > end |
start=10&end=0 |
Recherche à partir de la position 10 jusqu'à la fin |
start = end |
start=10&end=10 |
Recherche à partir de la position 10 jusqu'à la fin |
La valeur start dépasse la durée de la vidéo |
— | Renvoie la vidéo complète |
Lorsque la valeur du paramètre start dépasse la durée de la vidéo, le format MP4 renvoie une erreur HTTP 400, tandis que le format FLV renvoie la vidéo complète.
Étapes suivantes
Pour configurer la recherche vidéo via l'API, appelez l'opération BatchSetCdnDomainConfig. Pour obtenir la liste complète des paramètres configurables, consultez la page Feature settings for domain names.