Ce document explique comment utiliser l'API de transcodage multimédia d'Intelligent Media Management (IMM) pour capturer des images vidéo et les enregistrer en tant qu'images statiques.
Présentation
La capture d'images extrait des images spécifiques d'une vidéo et les enregistre sous forme d'images statiques.

Cas d'utilisation
Instantané : Enregistrez un moment précis d'une vidéo sous forme d'image statique pour créer une affiche.
Analyse : Extrayez des images clés à des fins d'analyse, telles que la reconnaissance faciale et la détection d'objets.
Création de vignettes : Créez des vignettes ou des images de couverture pour les vidéos.
Résumé de lecture : Sélectionnez plusieurs moments clés d'une vidéo pour générer un résumé ou un aperçu concis.
Partage et enregistrement de captures d'écran : Capturez et enregistrez ou partagez une image spécifique pendant la lecture d'une vidéo.
Formats audio et vidéo pris en charge
|
Catégorie |
Format |
|
Audio |
Tous les formats grand public, tels que AAC, MP3, WAV, FLAC, WMA, AC3 et OPUS. |
|
Vidéo |
Tous les formats grand public, tels que MP4, MPEG-TS, MKV, MOV, AVI, FLV, M3U8, WebM, WMV, RM et VOB. |
Utilisation
Prérequis
Créez une AccessKey. Pour plus d'informations, consultez la rubrique Créer une AccessKey.
Activez Object Storage Service (OSS) et créez un bucket. Pour plus d'informations, consultez la rubrique Créer un bucket.
Activez Intelligent Media Management (IMM). Pour plus d'informations, consultez la rubrique Activer IMM.
-
Créez un projet dans la console IMM. Pour plus d'informations, consultez la rubrique Créer un projet.
RemarqueVous pouvez également appeler une opération d'API pour créer un projet. Pour plus d'informations, consultez la rubrique Créer un projet.
Appelez l'opération ListProjects pour répertorier tous les projets créés dans une région spécifiée.
Étape 1 : Télécharger un fichier
Dans la console OSS, téléchargez un fichier multimédia vers un bucket situé dans la même région que votre projet IMM.
Sur la page File Management du bucket, cliquez sur Upload File. Ensuite, cliquez sur Scan File pour sélectionner le fichier multimédia que vous souhaitez télécharger. Assurez-vous que la liste de contrôle d'accès (ACL) du fichier est définie sur Inherit from Bucket et cliquez sur Upload File. La taille d'un fichier unique ne peut pas dépasser 5 Go.
Étape 2 : Effectuer une capture d'images
Appelez l'opération CreateMediaConvertTask pour créer une tâche de capture d'images.
Paramètres
L'exemple suivant utilise le projet IMM test-project pour effectuer une capture d'images sur le fichier vidéo oss://test-bucket/video-demo/brewing.mov. Pour plus d'informations sur les fonctionnalités de traitement multimédia, consultez la rubrique Transcodage multimédia.
Vous pouvez utiliser l'API de transcodage multimédia dans OpenAPI Explorer pour traiter des fichiers vidéo. Pour plus d'informations, consultez l'exemple de code SDK.
Pour la capture d'images, ne définissez pas les paramètres
Target.URIetTarget.Container.Nous vous recommandons de définir le nom de fichier URI dans
Targetsau formatsnapshot-{index}.{autoext}à l'aide de variables. Une fois les instantanés enregistrés, des noms de fichier tels quesnapshot-1.pngetsnapshot-2.pngsont générés. Pour plus d'informations sur les variables associées, consultez la rubrique Modèle TargetURI.
Capturer une image pour une vignette vidéo
Capturez une seule image à utiliser comme vignette vidéo. Cela garantit que la résolution de l'image est identique à celle de la vidéo.

Format de sortie : jpg
Heure de début : 5 secondes
Nombre d'images : 1
Chemin de sortie : oss://test-bucket/video-demo/cover.jpg
Notification de fin : Envoyer un message au topic MNS nommé « test-mns-topic ».
Consultez OpenAPI Explorer pour obtenir un exemple de SDK prérempli. Vous pouvez modifier les paramètres selon vos besoins pour le débogage.
Exemple de paramètres de requête :
{
"ProjectName": "test-project",
"Notification": {
"MNS": {
"TopicName": "test-mns-topic"
}
},
"Sources": [
{
"URI": "oss://test-bucket/video-demo/Winemaking.mov"
}
],
"Targets": [
{
"Image": {
"Snapshots": [
{
"Format": "jpg",
"StartTime": 5,
"Number": 1,
"URI": "oss://test-bucket/video-demo/cover.jpg"
}
]
}
}
]
}
Capturer des images pour l'entraînement et l'inférence IA
Une image est capturée toutes les 10 secondes pour l'entraînement ou l'inférence de modèles IA. La résolution de l'image de sortie est limitée à 512x512.

Format de sortie : jpg
Intervalle : 10 secondes
Méthode de redimensionnement :
crop. Pour plus d'informations, consultez la section Méthodes de redimensionnement.Largeur de sortie : 512 px
Hauteur de sortie : 512 px
Chemin de sortie :
oss://test-bucket/video-demo/snapshot-{index}.{autoext}Notification de fin : Envoyer un message au topic MNS nommé « test-mns-topic ».
Consultez OpenAPI Explorer pour obtenir un exemple de SDK prérempli. Vous pouvez modifier les paramètres selon vos besoins pour le débogage.
Exemple de paramètres de requête :
{
"ProjectName": "test-project",
"Notification": {
"MNS": {
"TopicName": "test-mns-topic"
}
},
"Sources": [
{
"URI": "oss://test-bucket/video-demo/Winemaking.mov"
}
],
"Targets": [
{
"Image": {
"Snapshots": [
{
"Format": "jpg",
"Interval": 10,
"ScaleType": "crop",
"URI": "oss://test-bucket/video-demo/snapshot-{index}.{autoext}",
"Width": 512,
"Height": 512
}
]
}
}
]
}
Capturer des images pour analyser un segment vidéo
À partir de la marque des 11 secondes, capturez cinq images à des intervalles de 4 secondes pour analyser un segment vidéo. La largeur et la hauteur des images de sortie correspondent à la moitié de la résolution vidéo. Les images sont enregistrées au format PNG.

Format de sortie : png
Heure de début : 11 secondes
Intervalle : 4 secondes
Nombre d'images : 5
Méthode de redimensionnement :
crop. Pour plus d'informations, consultez la section Méthodes de redimensionnement.Largeur de sortie : Moitié de la largeur vidéo d'origine.
Hauteur de sortie : Moitié de la hauteur vidéo d'origine.
Chemin de sortie :
oss://test-bucket/video-demo/snapshot-{index}.{autoext}Notification de fin : Envoyer un message au topic MNS nommé « test-mns-topic ».
Consultez OpenAPI Explorer pour obtenir un exemple de SDK prérempli. Vous pouvez modifier les paramètres selon vos besoins pour le débogage.
Exemple de paramètres de requête :
{
"ProjectName": "test-project",
"Notification": {
"MNS": {
"TopicName": "test-mns-topic"
}
},
"Sources": [
{
"URI": "oss://test-bucket/video-demo/Winemaking.mov"
}
],
"Targets": [
{
"Image": {
"Snapshots": [
{
"Format": "png",
"StartTime": 11,
"Interval": 4,
"Number": 5,
"ScaleType": "crop",
"URI": "oss://test-bucket/video-demo/snapshot-{index}.{autoext}",
"Width": 0.5,
"Height": 0.5
}
]
}
}
]
}
Capturer des images clés d'événements à partir d'une vidéo
Cette méthode utilise l'algorithme dhash pour analyser la similarité du contenu entre les images vidéo. Sur la base d'un seuil, elle extrait les images présentant des changements significatifs pour servir d'images clés d'événements.
Il se peut que vous deviez ajuster le seuil en fonction de vos exigences métier.
Format de sortie : jpg
Intervalle : 1 seconde
Mode de capture :
dhashSeuil : 15
Chemin de sortie :
oss://test-bucket/video-demo/snapshot-{index}.{autoext}Notification de fin : Envoyer un message au topic MNS nommé « test-mns-topic ».
Consultez OpenAPI Explorer pour obtenir un exemple de SDK prérempli. Vous pouvez modifier les paramètres selon vos besoins pour le débogage.
Exemple de paramètres de requête :
{
"ProjectName": "test-project",
"Notification": {
"MNS": {
"TopicName": "test-mns-topic"
}
},
"Sources": [
{
"URI": "oss://test-bucket/video-demo/Winemaking.mov"
}
],
"Targets": [
{
"Image": {
"Snapshots": [
{
"Format": "jpg",
"Interval": 1,
"Mode": "dhash",
"Threshold": 15,
"URI": "oss://test-bucket/video-demo/snapshot-{index}.{autoext}"
}
]
}
}
]
}
Capturer des images clés représentatives pour l'inférence
Utilisez l'algorithme dhash pour analyser la similarité du contenu des images vidéo et capturer les cinq images présentant les changements les plus significatifs.
Format de sortie : jpg
Intervalle d'images clés : 1 seconde
Mode de capture :
dhashNombre d'images : 5
Chemin de sortie :
oss://test-bucket/video-demo/snapshot-{index}.{autoext}Notification de fin : Envoyer un message au topic MNS nommé « test-mns-topic ».
Consultez OpenAPI Explorer pour obtenir un exemple de SDK prérempli. Vous pouvez modifier les paramètres selon vos besoins pour le débogage.
Exemple de paramètres de requête :
{
"ProjectName": "test-project",
"Notification": {
"MNS": {
"TopicName": "test-mns-topic"
}
},
"Sources": [
{
"URI": "oss://test-bucket/video-demo/Winemaking.mov"
}
],
"Targets": [
{
"Image": {
"Snapshots": [
{
"Format": "jpg",
"Interval": 1,
"Mode": "dhash",
"Number": 5,
"URI": "oss://test-bucket/video-demo/snapshot-{index}.{autoext}"
}
]
}
}
]
}
Capturer toutes les images IDR
Format de sortie : jpg
Mode de capture :
keyframeChemin de sortie :
oss://test-bucket/video-demo/snapshot-{index}.{autoext}Notification de fin : Envoyer un message au topic MNS nommé « test-mns-topic ».
Consultez OpenAPI Explorer pour obtenir un exemple de SDK prérempli. Vous pouvez modifier les paramètres selon vos besoins pour le débogage.
Exemple de paramètres de requête :
{
"ProjectName": "test-project",
"Notification": {
"MNS": {
"TopicName": "test-mns-topic"
}
},
"Sources": [
{
"URI": "oss://test-bucket/video-demo/Winemaking.mov"
}
],
"Targets": [
{
"Image": {
"Snapshots": [
{
"Format": "jpg",
"Mode": "keyframe",
"URI": "oss://test-bucket/video-demo/snapshot-{index}.{autoext}"
}
]
}
}
]
}
Capturer 10 images à intervalles réguliers
Format de sortie : jpg
Mode de capture :
averageNombre d'images : 10
Chemin de sortie :
oss://test-bucket/video-demo/snapshot-{index}.{autoext}Notification de fin : Envoyer un message au topic MNS nommé « test-mns-topic ».
Consultez OpenAPI Explorer pour obtenir un exemple de SDK prérempli. Vous pouvez modifier les paramètres selon vos besoins pour le débogage.
Exemple de paramètres de requête :
{
"ProjectName": "test-project",
"Notification": {
"MNS": {
"TopicName": "test-mns-topic"
}
},
"Sources": [
{
"URI": "oss://test-bucket/video-demo/Winemaking.mov"
}
],
"Targets": [
{
"Image": {
"Snapshots": [
{
"Format": "jpg",
"Mode": "average",
"Number": 10,
"URI": "oss://test-bucket/video-demo/snapshot-{index}.{autoext}"
}
]
}
}
]
}
Capturer une pochette audio
Format de sortie : jpg
Nombre d'images : 1
Chemin de sortie : oss://test-bucket/video-demo/cover.jpg
Notification de fin : Envoyer un message au topic MNS nommé « test-mns-topic ».
Consultez OpenAPI Explorer pour obtenir un exemple de SDK prérempli. Vous pouvez modifier les paramètres selon vos besoins pour le débogage.
Exemple de paramètres de requête :
{
"ProjectName": "test-project",
"Notification": {
"MNS": {
"TopicName": "test-mns-topic"
}
},
"Sources": [
{
"URI": "oss://test-bucket/video-demo/test.mp3"
}
],
"Targets": [
{
"Image": {
"Snapshots": [
{
"Format": "jpg",
"Number": 1,
"URI": "oss://test-bucket/video-demo/cover.jpg"
}
]
}
}
]
}
Facturation
La capture d'images génère les éléments facturables suivants pour OSS et IMM :
-
OSS : Pour plus d'informations sur les tarifs, consultez Tarification OSS.
API
Élément facturable
Description
GetObject
Requêtes GET
Vous êtes facturé en fonction du nombre de requêtes abouties.
Récupération de données Infrequent Access
La récupération de données Infrequent Access entraîne des frais de récupération de données.
Récupération de données Archive-direct
Si vous lisez un objet archivé à partir d'un bucket pour lequel l'option archive-direct est activée, des frais de récupération de données vous sont facturés.
Accélération du transfert
Si vous activez l'accélération du transfert et utilisez un endpoint d'accélération pour accéder à votre bucket, des frais d'accélération du transfert vous sont facturés en fonction du volume de données.
PutObject
Requêtes PUT
Vous êtes facturé en fonction du nombre de requêtes abouties.
Frais de stockage
Des frais de stockage vous sont facturés en fonction de la classe de stockage, de la taille et de la durée de stockage d'un objet.
HeadObject
Requêtes GET
Vous êtes facturé en fonction du nombre de requêtes abouties.
-
IMM : Pour plus d'informations sur les tarifs, consultez la rubrique Éléments facturables IMM.
ImportantÀ compter du 28 juillet 2025 à 11 h 00 (UTC+8), les tarifs du service de capture d'images IMM seront ajustés. Pour plus d'informations, consultez l'avis d'ajustement de la facturation IMM.
API
Élément facturable
Description
CreateMediaConvertTask
VideoFraming
La capture d'images vidéo vous est facturée en fonction du nombre d'images capturées avec succès.
Méthodes de redimensionnement
|
Méthode de redimensionnement |
Effet de redimensionnement |
|
stretch Étire l'image pour remplir les dimensions cibles. Un rapport d'aspect différent déformera l'image de sortie. |
|
|
crop Redimensionne et recadre l'image. L'image est redimensionnée proportionnellement pour couvrir les dimensions cibles, puis recadrée à la largeur et à la hauteur cibles. |
|
|
fill Redimensionne l'image et ajoute des bordures noires. L'image est redimensionnée proportionnellement pour tenir dans les dimensions cibles, l'espace restant étant rempli par des bordures noires. |
|
|
fit Redimensionne l'image sans ajouter de bordures noires. L'image est redimensionnée proportionnellement pour tenir dans les dimensions cibles. Si le rapport d'aspect de l'image de sortie diffère de celui de l'image d'origine, la largeur et la hauteur de l'image de sortie ne correspondront pas aux dimensions spécifiées. |
|



