Problèmes courants et solutions pour les jobs de snapshot MPS, notamment les erreurs de délai d'expiration, la configuration des paramètres et les résultats inattendus.
Erreurs courantes des jobs de snapshot
Les jobs de snapshot peuvent renvoyer les codes d'erreur suivants : SnapshotTimeOut, InvalidParameter.ResourceNotFound ou InvalidParameter.ResourceContentBad. En cas d'échec d'un job de snapshot, appelez QuerySnapshotJobList pour identifier la cause de l'échec.
SnapshotTimeOut
Ce code est renvoyé lorsqu'un job de snapshot synchrone atteint son délai d'expiration (5 secondes). Les fichiers d'entrée volumineux peuvent dépasser cette limite. En cas de délais d'expiration fréquents, soumettez le job en mode asynchrone.
InvalidParameter.ResourceNotFound
Ce code est renvoyé lorsque le fichier d'entrée est introuvable. Vérifiez les causes suivantes :
|**Cause**
|
**Solution**
| | --- | --- | |
Le fichier d'entrée n'a pas été téléchargé ou a été supprimé avant la soumission du job.
|
Téléchargez le fichier d'entrée avant de soumettre le job de snapshot.
| |
Le chemin OSS du fichier d'entrée est incorrect.
|
Vérifiez l'orthographe du chemin.
| |
Le chemin OSS du fichier d'entrée n'est pas encodé en URL.
|
Appliquez l'encodage URL au chemin. [Encodage URL](t2204685.xdita#).
| |
Le bucket OSS ne se trouve pas dans la même région que MPS.
|
Modifiez la région.
| |
Le fichier d'entrée utilise le stockage **Cold Archive** ou **Deep Cold Archive**.
|
Restaurez les données avant d'y accéder.
| |
Le fichier d'entrée utilise le stockage **Archive** et l'accès en temps réel est désactivé ou le fichier n'est pas restauré.
|
Activez l'accès en temps réel pour les données Archive, ou restaurez le fichier avant d'y accéder.
| |
La protection contre le hotlinking basée sur le Referer est activée pour le bucket OSS.
|
Pour les jobs déclenchés par workflow, configurez un referer pour le bucket OSS. Pour les jobs soumis manuellement, ajoutez le paramètre Referer au paramètre Input.
|
InvalidParameter.ResourceContentBad
Ce code est renvoyé en cas de conflit de paramètres ou si le fichier d'entrée est endommagé. Procédez au dépannage comme suit :
Vérifiez que le fichier d'entrée n'est pas corrompu.
Vérifiez les paramètres du job de snapshot, en particulier Time, FrameType et OutputFile.
Si l'erreur persiste, contactez le support technique Alibaba Cloud en indiquant votre ID de région et votre ID de requête.
Échec du snapshot synchrone pour les fichiers M3U8
Pour les jobs de snapshot synchrones sur des fichiers M3U8, les fichiers TS référencés dans l'index M3U8 doivent se trouver dans le même répertoire que le fichier M3U8. Le mode asynchrone n'est pas soumis à cette restriction.
Échec du snapshot : l'heure spécifiée dépasse la durée de la vidéo
Code d'erreur : InvalidParameter.ResourceContentBad
Message d'erreur : The resource operated InputFile is bad
|**Cause**
|
**Solution**
| | --- | --- | |
Le paramètre `time` dépasse la durée de la vidéo pour un job de snapshot à frame unique régulière.
|
Définissez Time sur une valeur inférieure à la durée de la vidéo. Vous pouvez également utiliser le mode keyframe : si Time dépasse la durée de la vidéo, la keyframe la plus proche est capturée au lieu de provoquer un échec.
|
Échec du job : paramètre Object OutputFile invalide
Code d'erreur : InvalidParameter.ResourceContentBad
Message d'erreur : The format of parameter "SnapshotConfig:OutputFile:Object" is invalid
|**Cause**
|
**Solution**
| | --- | --- | |
Le paramètre Object dans OutputFile ne contient pas l'espace réservé {count} pour un job multi-snapshot.
|
Ajoutez {Count} au paramètre Object dans OutputFile pour éviter que les snapshots ne s'écrasent mutuellement.
| |
Le format est défini sur vtt pour les snapshots WebVTT, mais le paramètre Object dans OutputFile n'utilise pas l'extension .vtt.
|
Modifiez l'extension de fichier dans le paramètre Object en .vtt.
|
Échec du job : paramètre Object TileOutputFile invalide
Code d'erreur : InvalidParameter.ResourceContentBad
Message d'erreur : The format of parameter "SnapshotConfig:TileOutputFile:Object" is invalid
|**Cause**
|
**Solution**
| | --- | --- | |
Le paramètre Object dans TileOutputFile ne contient pas l'espace réservé {TileCount} pour un job de génération de sprite.
|
Ajoutez {TileCount} au paramètre Object dans TileOutputFile pour éviter que les sprites ne s'écrasent mutuellement.
|
FAQ sur les paramètres de snapshot
Comment distinguer les modes de snapshot synchrone et asynchrone ?
Si le paramètre Interval ou Num est spécifié dans SnapshotConfig, le job s'exécute en mode asynchrone, que PipelineId soit spécifié ou non.
Que se passe-t-il si l'heure du snapshot dépasse la durée de la vidéo ?
-
Snapshot unique où Time dépasse la durée :
Frame régulière : le job échoue avec le code d'erreur « InvalidParameter.ResourceContentBad » et le message « The resource operated InputFile is bad ».
Keyframe : le job réussit. La keyframe la plus proche de l'heure spécifiée est capturée.
Snapshots multiples : si Time + Interval × Num dépasse la durée de la vidéo, le job réussit néanmoins. Les snapshots sont capturés uniquement aux points situés dans la durée de la vidéo. Le nombre total de snapshots capturés est renvoyé.
Résultats de snapshot inattendus
Le nombre de snapshots ne correspond pas aux paramètres
Vérifiez les causes suivantes :
|
Cause |
Solution |
|
Le chemin de sortie du sprite et le chemin de sortie des images individuelles sont identiques, ce qui entraîne l'écrasement des fichiers. |
Utilisez des buckets ou des chemins différents pour OutputFile et TileOutputFile. |
|
Interval et Num sont tous deux spécifiés (mode échantillonnage). Si la vidéo est trop courte, moins de snapshots peuvent être capturés que spécifié par Num. |
Il s'agit d'un comportement attendu. |
|
La détection des frames noires est activée pour un job de snapshot unique. Aucun snapshot n'est capturé si la frame est filtrée comme étant noire. |
Ajustez les paramètres BlackLevel et PixelBlackThreshold pour réduire le filtrage des frames noires. |
|
La capture de keyframes est activée (
|
Pour capturer des snapshots à des heures précises, définissez FrameType sur normal. |
Le timing du snapshot ne correspond pas aux paramètres
|**Cause**
|
**Solution**
| | --- | --- | |
FrameType est défini sur intra (mode keyframe). Les keyframes apparaissent à intervalles dans la vidéo, donc les heures de capture ne sont pas précises — la keyframe la plus proche de l'heure spécifiée est capturée à la place.
|
Pour capturer des snapshots à des heures précises, définissez FrameType sur normal.
|
Snapshots flous
|**Cause**
|
**Solution**
| | --- | --- | |
FrameType est défini sur normal. Les frames régulières sont moins nettes que les keyframes.
|
Définissez FrameType sur intra pour des snapshots plus nets.
|
Distorsion du snapshot ou inadéquation du ratio d'aspect
Vérifiez les causes suivantes :
|**Cause**
|
**Solution**
| | --- | --- | |
La largeur et la hauteur sont toutes deux spécifiées, mais le ratio d'aspect diffère de celui de la vidéo d'entrée.
|
Spécifiez uniquement la largeur ou la hauteur. L'autre dimension s'adapte automatiquement pour préserver le ratio d'aspect d'origine.
| |
Les valeurs `Cellwidth` et `Cellheight` ne correspondent pas au ratio d'aspect source, ce qui distord les images individuelles dans le sprite.
|
Définissez une seule dimension (largeur ou hauteur). L'autre s'ajuste automatiquement pour maintenir le ratio d'aspect.
| |
La vidéo d'entrée possède des attributs DAR/SAR incompatibles.
|
Contactez le support technique Alibaba Cloud en indiquant votre ID de région et l'ID du job de snapshot.
|
Une vidéo portrait produit des snapshots paysage
Les vidéos MP4 en mode portrait contiennent un identifiant de rotation (courant dans les vidéos capturées sur mobile), donc les snapshots apparaissent en orientation paysage.
Pour vérifier la présence d'un identifiant de rotation :
Appelez SubmitMediaInfoJob et vérifiez le paramètre Rotate. Une valeur de -90 ou 90 indique que la vidéo est pivotée, ce qui fait que l'orientation d'affichage diffère de l'entrée.
Le snapshot synchrone ne génère pas de sprites ni de fichiers VTT
Le mode synchrone capture un seul snapshot et ne prend pas en charge la génération de sprites ni la sortie WebVTT. Pour générer des sprites ou des snapshots WebVTT, soumettez le job en mode asynchrone.