Tous les produits
Search
Centre de documentation

ApsaraVideo VOD:FAQ sur le téléchargement des ressources multimédias

Dernière mise à jour :Sep 12, 2026

Cette rubrique décrit les problèmes courants liés au téléchargement des ressources multimédias et propose des solutions.

Puis-je écraser ou remplacer une vidéo existante en téléchargeant une nouvelle vidéo ?

Non. ApsaraVideo VOD ne permet pas d'écraser ou de remplacer une vidéo existante par le téléchargement d'une nouvelle. Pour mettre à jour une vidéo, vous devez télécharger la nouvelle version en tant que fichier distinct, ce qui génère un nouveau VideoId. Vous devez ensuite remplacer manuellement l'adresse de référence utilisée dans votre système métier par ce nouveau VideoId.

Pourquoi mon fichier reste-t-il bloqué sur le statut « Uploading » ?

Plusieurs raisons peuvent expliquer ce problème :

  • Cause 1 : Le téléchargement groupé basé sur l'URL est asynchrone.

    Si vous utilisez l'opération API UploadMediaByURL, le téléchargement s'effectue de manière asynchrone. Il n'est pas terminé en temps réel et peut prendre plusieurs heures, voire plusieurs jours. Cette opération est prise en charge uniquement dans les régions China (Shanghai), China (Beijing), China (Shenzhen), Singapore et U.S. (Silicon Valley). Nous vous recommandons d'intégrer le SDK de téléchargement côté serveur d'ApsaraVideo VOD pour vos téléchargements.

  • Cause 2 : Seul l'identifiant de téléchargement a été généré, mais aucun fichier n'a été envoyé. Ce scénario se présente souvent ainsi : « L'opération API CreateUploadVideo renvoie une réponse de succès, mais la console affiche toujours la vidéo comme étant en cours de téléchargement ('Uploading') ».

    L'appel à l'opération API CreateUploadVideo permet uniquement d'obtenir un identifiant de téléchargement et de créer les informations de base de la ressource multimédia. Cette opération ne télécharge pas le fichier. Un appel réussi ne signifie pas que le téléchargement du fichier est terminé. Vous devez utiliser les valeurs UploadAuth et UploadAddress renvoyées pour appeler le SDK ou une opération API afin de transférer le fichier vers Object Storage Service (OSS). Pour la procédure complète, reportez-vous à la section Téléchargement de fichiers multimédias via l'API ApsaraVideo VOD. Nous vous conseillons d'ajouter des journaux ou des points d'arrêt dans votre code pour confirmer l'exécution effective de l'étape de téléchargement et vérifier son résultat.

  • Cause 3 : La taille importante du fichier entraîne un temps de téléchargement long.

    Vérifiez si la taille du fichier et la durée passée dans le statut « Uploading » sont cohérentes. Lorsque vous téléchargez des fichiers via la console, le SDK de téléchargement ou des outils clients, le téléchargement multipartie est utilisé par défaut. Il prend en charge des fichiers uniques jusqu'à 48,8 To. Le SDK de téléchargement propose également une fonctionnalité de téléchargement simple, limitée aux fichiers uniques de 5 Go maximum.

  • Cause 4 : Problèmes réseau.

    Vérifiez si la bande passante de votre réseau répond aux exigences.

    ApsaraVideo VOD n'impose aucune limite de vitesse de téléchargement. La vitesse réelle dépend de votre bande passante locale et des conditions réseau. Pour les fichiers volumineux (par exemple, ceux dépassant 700 Mo), il est normal que le téléchargement et le transcodage ultérieur prennent beaucoup de temps. Vérifiez votre connexion réseau ou les performances de votre outil de téléchargement.

    Les téléchargements interrégionaux (par exemple, depuis les États-Unis vers Singapour) subissent fortement les effets de la latence réseau. Aucun délai estimé fixe ne peut être fourni pour ces scénarios.

    Si une vidéo reste dans le statut « Uploading » pendant une période prolongée sans que le transcodage ne commence, c'est généralement parce que le fichier n'a pas encore fini d'être téléchargé. Le système déclenche automatiquement le transcodage uniquement après la fin du téléchargement. Vérifiez la progression spécifique du téléchargement dans la console ou l'outil de téléchargement, et maintenez la page de téléchargement active jusqu'à la fin du processus.

    Si la console affiche un indicateur de chargement continu ou si le téléchargement est bloqué, utilisez l'une des méthodes suivantes pour diagnostiquer le problème :

    • Appuyez sur F12 pour ouvrir les outils de développement du navigateur, puis consultez l'onglet Network pour identifier les requêtes ayant échoué ou les réponses d'erreur.

    • Utilisez des outils de capture de paquets tels que Wireshark pour analyser les requêtes réseau du client et identifier les problèmes de connexion.

Pourquoi la console affiche-t-elle toujours « Uploading » après que le SDK VOD a déclenché le rappel onUploadSucceed ?

Ce problème survient généralement lorsque le fichier n'a pas été entièrement téléchargé vers Object Storage Service (OSS). Vérifiez si le paramètre content-length-range dans votre PostPolicy est trop restrictif ; nous vous recommandons de le définir sur 5368709120 (5 Go). Confirmez également que votre réseau local fonctionne normalement et que le fichier a effectivement fini d'être téléchargé. Si le problème persiste, réessayez le téléchargement.

Quelle est la différence entre setUploadAuthAndAddress et resumeUploadWithAuth dans le SDK JavaScript ?

Ces deux méthodes répondent à des scénarios de téléchargement différents :

Dépannage en cas d'absence de réponse ou d'erreurs :

  1. Vérifiez si uploadInfo.videoId possède une valeur :

    • Si une valeur est présente, le serveur doit appeler RefreshUploadVideo pour actualiser l'identifiant.

    • Si la valeur est vide, appelez CreateUploadVideo sur le serveur pour obtenir un nouvel identifiant.

  2. Vérifiez la logique d'appel frontend :

    • Après avoir obtenu un nouvel identifiant, vous devez appeler setUploadAuthAndAddress.

    • Après avoir actualisé un identifiant existant, vous devez appeler resumeUploadWithAuth.

  3. Vérifiez la validité des autorisations et des paramètres de l'identifiant renvoyés par le serveur.

Que faire si le téléchargement échoue avec une erreur de violation de mot sensible ou de nom de fichier ?

Cause : Lors de l'appel à l'opération API CreateUploadVideo, si le nom de fichier vidéo contient des mots sensibles, le téléchargement est bloqué ou la vérification des autorisations échoue.

Solution : Renommez le fichier vidéo en supprimant les mots sensibles, puis appelez à nouveau l'opération API CreateUploadVideo pour obtenir un nouvel identifiant de téléchargement.

Comment gérer les exceptions de téléchargement concurrent ou les problèmes de fin de maintenance avec les SDK de téléchargement Android/iOS ?

Pour les SDK en fin de maintenance : Évitez de créer plusieurs instances d'uploader simultanément. Assurez-vous que la tâche de téléchargement précédente est terminée avant de démarrer la suivante.

Exception de pointeur nul du SDK Android : Le SDK Android peut lever une exception de pointeur nul et planter lors d'appels multiples sous une seule instance ou de téléchargements concurrents avec plusieurs images. Ce problème connu résulte de conflits dans les processus internes de libération et d'annulation. Nous vous recommandons d'utiliser des téléchargements séquentiels pour éviter ce risque.

Pourquoi le téléchargement d'un fichier non vidéo affiche-t-il un succès ou renvoie-t-il une erreur 500 dans le rappel ?

Succès du téléchargement pour les fichiers non vidéo : Les images et les fichiers audio sont des types de médias pris en charge et peuvent être téléchargés normalement. Si un type de fichier totalement unrelated affiche un téléchargement réussi, cela peut être dû à une identification erronée de l'extension de fichier, à une logique de téléchargement personnalisée contournant la vérification, ou au fait que le téléchargement via API n'active pas la vérification stricte du format. Vérifiez la liste des extensions de fichier prises en charge.

Le rappel renvoie une erreur 500 : ApsaraVideo VOD ne prend pas en charge le téléchargement de documents texte tels que les fichiers .docx. La tentative de téléchargement de tels fichiers non multimédias et le déclenchement d'un rappel entraînent une erreur 500. Nous vous recommandons de télécharger uniquement des types de médias pris en charge (audio et vidéo) ou de désactiver les configurations de rappel inutiles dans la console.

Un grand nombre de tâches de téléchargement en cours affecte-t-il les téléchargements des autres utilisateurs ? Comment nettoyer les tâches invalides ?

Indépendance des tâches : Les tâches de téléchargement sont indépendantes. Un grand nombre de tâches en cours en arrière-plan n'affecte généralement pas les téléchargements normaux des autres utilisateurs.

Nettoyage des tâches invalides :

  • Si vous avez uniquement appelé l'API de création d'identifiant sans télécharger le fichier réel, la tâche restera indéfiniment dans le statut « Uploading » et ne sera pas automatiquement fermée.

  • Les tâches qui échouent en raison d'une interruption de téléchargement ne sont pas automatiquement supprimées.

Dans les deux cas, vous devez annuler ou supprimer manuellement les tâches dans la console.

Que faire si un téléchargement échoue sur le SDK de téléchargement iOS avec l'erreur Error Domain=NSCocoaErrorDomain ?

Un échec de téléchargement avec le code d'erreur 207 et le message d'erreur « Error Domain=NSCocoaErrorDomain » est généralement causé par une erreur de lecture de fichier due à un manque d'autorisations. Pour résoudre ce problème, utilisez l'une des méthodes suivantes :

  • Méthode 1 : Accordez au SDK de téléchargement pour iOS l'autorisation de lire les ressources locales.

  • Méthode 2 : Stockez les ressources locales dans le chemin du sandbox avant de les télécharger.

Que faire si l'erreur « The service is not open in current region » se produit lors d'un téléchargement groupé basé sur l'URL ?

Le message d'erreur The service is not open in current region indique que le téléchargement groupé basé sur l'URL n'est pas pris en charge dans la région actuelle. Cette fonctionnalité est actuellement disponible uniquement dans les régions China (Shanghai) et Singapore.

Si vous vous trouvez dans une autre région, téléchargez les fichiers audio ou vidéo sur votre ordinateur local, puis utilisez le SDK de téléchargement pour les transférer. Pour plus d'informations, reportez-vous à la section Présentation du SDK.

Pourquoi ne puis-je pas afficher une image téléchargée dans la console ?

Lorsque vous téléchargez une ressource multimédia de type image, si vous définissez son type sur cover (miniature vidéo), le fichier n'est pas affiché dans la console. Vous pouvez interroger l'image uniquement en appelant une opération API. Pour plus d'informations, reportez-vous à la section CreateUploadImage - Obtention d'une URL et d'un identifiant de téléchargement d'image.

Que faire si une vidéo téléchargée au format MOV ne peut pas être lue et que je ne peux pas obtenir son URL par VideoId ?

Ce problème est généralement causé par une prise en charge limitée du format MOV. Nous vous recommandons de transcoder la vidéo MOV vers un format courant tel que MP4 avant de la télécharger. Si vous devez obtenir l'URL de lecture du fichier source, appelez l'opération GetMezzanineInfo pour obtenir la valeur FileURL. Vérifiez également si vous utilisez la dernière version du SDK (par exemple, la version 3.6.4 de vod20170321) et effectuez une mise à niveau si nécessaire. Reportez-vous à la démo officielle pour les tests et la vérification.

Problèmes de compatibilité avec les téléchargements du SDK JS dans WeChat

Ce problème survient en raison d'un problème de compatibilité avec HTML5 dans le navigateur WeChat. Pour le résoudre, supprimez le paramètre multiple="" de <input type="file" name="file" id="files" multiple=""> afin d'assurer un téléchargement réussi.

Que faire si onUploadProgress ne se déclenche pas et qu'aucune erreur n'est signalée lors du téléchargement avec le SDK Web ?

Procédez au dépannage dans l'ordre suivant :

  1. Vérifiez votre environnement de navigateur : Désactivez les extensions de blocage de publicités (telles que AdBlock ou uBlock Origin), ou ajoutez le domaine Alibaba Cloud à la liste d'autorisation de ces extensions. Si vous utilisez Microsoft Edge, désactivez temporairement la Tracking prevention ou le Enhanced security mode pour tester si le problème persiste.

  2. Vérifiez la logique du code SDK : Confirmez si uploader.setUploadAuthAndAddress(uploadInfo, uploadAuth, uploadAddress, videoId) est appelé de manière synchrone dans le rappel onUploadStarted.

  3. Vérifiez le format et la validité des paramètres : Contrôlez si uploadAuth et uploadAddress sont des chaînes encodées en Base64 valides, si leur structure correspond à celle de la démo officielle, et si l'identifiant est toujours dans sa période de validité de 30 minutes.

  4. Affichez les valeurs réelles des paramètres passés à setUploadAuthAndAddress, et vérifiez si une valeur est vide ou possède un format inattendu.

Que faire si le téléchargement reprenable échoue avec AccessDenied, ou un message indiquant que le rôle AliyunVodSaasStsRole est manquant ?

Vous n'avez pas besoin de créer manuellement le rôle AliyunVodSaasStsRole. Les erreurs AccessDenied sont généralement causées par l'une des raisons suivantes :

  1. Après l'actualisation de l'identifiant, le nouveau UploadAuth n'est pas transmis à la méthode resumeUploadWithAuth.

  2. Lorsque vous utilisez le SDK OSS natif, UploadAuth et UploadAddress ne sont pas décodés en Base64.

  3. Le jeton STS a expiré ou ne dispose pas d'autorisations suffisantes.

  4. Le chemin du fichier de téléchargement ne correspond pas au chemin autorisé dans la politique STS (par exemple, le dossier sv au lieu du dossier customerTrans).

L'autorisation requise est oss:PutObject. Pour résoudre ce problème :

  • Assurez-vous que le chemin de téléchargement correspond au chemin autorisé dans la politique RAM ou STS, ou mettez à jour la politique pour inclure le répertoire de téléchargement réel.

  • Vérifiez la logique de transmission et de décodage de l'identifiant dans votre code.

  • Confirmez que le jeton est toujours dans sa période de validité.

Étirement de la page d'aperçu à des résolutions spécifiques avec le SDK Push

Lorsque vous sélectionnez une résolution de 480p dans le SDK Push, la page d'aperçu apparaît étirée, mais l'ingestion de flux réelle est normale. Cela se produit parce que 480p correspond à une résolution de 480 × 640. Le rapport d'aspect n'est pas pris en charge par la plupart des écrans de téléphone mobile, ce qui provoque l'étirement.

Solution : Modifiez le rapport d'aspect du SurfaceView sur la page d'aperçu. Modifiez le contenu du fichier activity_push.xml comme suit.


public void initView() {
    mPreviewView = (SurfaceView) findViewById(R.id.preview_view);
    mPreviewView.getHolder().addCallback(mCallback);
}

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <SurfaceView
            android:id="@+id/preview_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>

    <!--FrameLayout-->
        <!--android:id="@+id/publisher_fragment"-->
        <!--android:layout_width="match_parent"-->
        <!--android:layout_height="match_parent"-->
        <!--android:visibility="gone"/>-->

    <android.support.v4.view.ViewPager
            android:id="@+id/tv_pager"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            >
    </android.support.v4.view.ViewPager>
</RelativeLayout>

Comment afficher et importer les données du package AAR dans Android Studio

Pour afficher les données du package AAR, changez l'extension de fichier de .aar en .zip et décompressez le fichier. Vous pouvez ensuite afficher le contenu, tel que les fichiers .class, les fichiers .xml, les fichiers .jar, les images et le texte.

Pour importer les données du package AAR :

  1. Copiez le fichier .aar dans le dossier de votre projet, généralement dans le chemin projectName/libs/, puis rechargez le projet. Copiez les fichiers de bibliothèque, tels que AlivcPlayer.aar, aliyun-vod-upload-android-sdk-1.1.1.jar, aliyun-vod-croe-android-sdk-1.2.1.jar, gson-2.8.0.jar et jsr305-3.0.0.jar, dans le répertoire app > libs de votre projet, puis rechargez le projet.

  2. Dans le fichier build.gradle, ajoutez le chemin du dépôt local sous la balise racine et ajoutez la dépendance de compilation dans le bloc dependencies.

    Le nom du répertoire libs dépend du dossier dans lequel le package est importé dans votre projet. Dans le paramètre compile, name spécifie le nom du fichier AAR, et ext spécifie l'extension de fichier.

    
    repositories{
        flatDir{
            dirs 'libs'
        }
    }
    
    dependencies {
        compile fileTree(include: ['*.jar'], dir: 'libs')
        testCompile 'junit:junit:4.12'
        compile 'com.android.support:appcompat-v7:26+'
        compile 'com.android.support:design:26+'
        compile (name:'AlivcPlayer',ext:'aar')
        // The upload SDK depends on the OSS upload SDK
        compile 'com.aliyun.dpa:oss-android-sdk:2.4.5'
    }
    
  3. Sélectionnez Build > Rebuild pour reconstruire le projet.

    Une fois la construction terminée, le package AAR importé apparaît dans la section External Libraries du projet.

    
    External Libraries
    ├── Android API 26 Platform
    ├── JRE 1.8
    ├── AlivcPlayer:@aar
    │   ├── classes.jar (library root)
    │   │   └── com
    │   │       ├── alivc.player
    │   │       └── aliyun.aliyunplayer
    │   └── res (library root)
    │       ├── values
    │       └── values-zh-rCN
    ├── com.aliyun.dpa:oss-android-sdk-2.4.5
    ├── com.android.support:animated-vector-drawable:26.0.0-alpha1
    ├── com.android.support:appcompat-v7:26.0.0-alpha1
    ├── com.android.support:design:26.0.0-alpha1
    ├── com.android.support:recyclerview-v7:26.0.0-alpha1
    ├── com.android.support:support-annotations:26.0.0-alpha1
    └── com.android.support:support-compat:26.0.0-alpha1
    

Est-il normal qu'un téléchargement groupé basé sur l'URL prenne beaucoup de temps pour se terminer ?

Le téléchargement groupé basé sur l'URL est une tâche asynchrone. Le système doit d'abord télécharger le fichier depuis l'URL source, puis le transférer vers ApsaraVideo VOD. Pour les fichiers volumineux, ou lorsque la bande passante du serveur source est limitée, ce processus peut prendre plusieurs heures. Il s'agit d'un comportement attendu. Nous vous recommandons d'effectuer les actions suivantes :

  • Confirmez que l'URL source est accessible via Internet et que la vitesse de téléchargement est normale.

  • Pour les fichiers volumineux qui doivent être disponibles rapidement, utilisez plutôt le SDK de téléchargement côté serveur ou le SDK de téléchargement côté client.

Pourquoi aucun VideoId n'est-il généré après un téléchargement côté serveur, ou pourquoi l'hôte est-il résolu en localhost ?

Ces deux symptômes sont généralement causés par une configuration incorrecte de la région lors de l'initialisation du client de téléchargement. Lorsque vous initialisez vodClient, définissez explicitement le regionId correct, tel que cn-beijing, et utilisez le endpoint public de cette région. Cela empêche la résolution incorrecte du nom de domaine.

Que faire si une erreur réseau est signalée lors d'un téléchargement via la console ou une page web ?

Une erreur réseau est généralement liée au navigateur ou à l'environnement réseau local. Essayez les opérations suivantes :

  • Changez de navigateur ou de réseau et réessayez le téléchargement.

  • Confirmez que votre réseau local peut résoudre le domaine de téléchargement OSS. Vous pouvez utiliser la commande ping pour le vérifier.

  • Si le problème persiste, utilisez le SDK de téléchargement côté serveur pour télécharger le fichier à la place.

Quelles politiques réseau dois-je autoriser si la connexion au domaine OSS expire lors du téléchargement vidéo ?

En plus d'autoriser le port 443 sur vod.cn-shanghai.aliyuncs.com, vous devez également autoriser le port 443 sur le domaine OSS de destination réel pour le téléchargement (par exemple, outin-*.oss-cn-shanghai.aliyuncs.com). Nous vous recommandons également d'autoriser le port 443 sur vod-upload.cn-shanghai.aliyuncs.com (le endpoint de téléchargement) et sts.cn-shanghai.aliyuncs.com (utilisé pour obtenir des identifiants temporaires). Si votre serveur est déployé au sein d'un VPC, vous devez configurer une passerelle NAT ou une EIP pour accéder à ces domaines publics.

ApsaraVideo VOD fournit-il la valeur de hachage MD5 ou CRC-64 d'une vidéo téléchargée ?

Non. ApsaraVideo VOD ne propose pas de fonctionnalité permettant d'interroger les valeurs de hachage MD5, CRC-64 ou autres d'une vidéo téléchargée. Si votre activité nécessite une vérification de l'intégrité des fichiers, nous vous recommandons de calculer et d'enregistrer la valeur de hachage côté client ou serveur avant de télécharger le fichier.

Liens connexes

Pour plus d'informations sur le flux de téléchargement et les instructions, consultez les documents suivants :

  • Pour plus d'informations sur le téléchargement de fichiers à l'aide de la console ApsaraVideo VOD ou des outils de téléchargement PC, reportez-vous à la section Téléchargement à l'aide d'outils.

  • Pour plus d'informations sur le téléchargement de fichiers à l'aide du SDK de téléchargement ApsaraVideo VOD, du SDK OSS natif, du téléchargement groupé basé sur l'URL ou des opérations API OSS, reportez-vous à la section Téléchargement basé sur le développement.

Que faire si Content-Type s'affiche comme application/octet-stream après un téléchargement groupé basé sur l'URL ?

Le paramètre FileExtension dans l'opération API UploadMediaByURL spécifie le format du fichier source afin qu'ApsaraVideo VOD puisse transcoder et lire correctement le média. Il ne modifie pas les métadonnées Content-Type de l'objet Object Storage Service (OSS). Par conséquent, Content-Type peut s'afficher comme application/octet-stream après un téléchargement groupé basé sur l'URL.

Pour modifier Content-Type en une valeur telle que video/mp4, utilisez la commande set-meta dans ossutil après le téléchargement pour modifier en masse les métadonnées du fichier dans OSS. Vous pouvez également déclencher un transcodage pour générer un nouveau fichier. Le transcodage engendre des frais.

Comment vérifier le statut d'une tâche de téléchargement groupé basé sur l'URL et résoudre un échec de téléchargement ?

Si un téléchargement groupé basé sur l'URL échoue ou si vous devez confirmer la progression d'une tâche de téléchargement, appelez l'opération API GetURLUploadInfos pour interroger le statut de la tâche. Utilisez les informations renvoyées pour diagnostiquer l'échec du téléchargement. Si l'échec est causé par une incohérence entre l'interface de stockage OSS et votre configuration, utilisez ces informations pour identifier la divergence. Vérifiez que l'interface de stockage OSS et la configuration sont cohérentes.