SaaS · APIs · Cybersecurity
API de concaténation vidéo pour développeurs : fusionner MP4, MOV, AVI en REST
API de concaténation vidéo pour développeurs : fusionner MP4, MOV, AVI en REST
Les pipelines vidéo reçoivent rarement tous leurs médias de la même source. Une application mobile peut envoyer du MP4, une caméra du MOV et une archive encore contenir de l’AVI ou du MPEG. Si le système suivant attend un seul fichier prévisible, chaque équipe finit par reconstruire le même traitement : inspecter les entrées, les normaliser, les concaténer et rendre le résultat téléchargeable. VideoConcat fournit cette capacité comme une API de concaténation vidéo asynchrone accessible en REST.
Le endpoint et le modèle de requête
Un client authentifié envoie une requête multipart vers POST /api/files/start-process. Il indique actionName=VideoConcat, transmet de 2 à 15 fichiers sous les noms file0 à file14, puis ajoute parameters=[] et async=true, conformément aux exemples publics. L’API accepte aussi des URL publiques dans fileUrl, séparées par |. Les fichiers importés et les URL peuvent être combinés. Les exemples complets et le contrat de réponse sont disponibles dans la documentation de l’API VideoConcat.
La réponse initiale décrit un processus, pas encore le fichier final. Conservez son id et son trackingUrl, puis interrogez /api/actions/get-action-infos/{id} avec le même JWT Bearer jusqu’à la fin. Ce modèle évite de maintenir une requête HTTP ouverte pendant la normalisation et l’encodage des vidéos.
Pourquoi le traitement asynchrone est utile
La durée d’une concaténation varie selon le nombre de clips, leur taille, leur durée et leur résolution. Un petit lot peut finir rapidement, tandis qu’un ensemble important demande davantage de calcul. Une API de fusion vidéo asynchrone permet à votre application d’accuser réception, de mémoriser l’identifiant du processus et de mettre à jour son propre état en consultant le endpoint de suivi. Un worker peut terminer le traitement indépendamment de la requête web qui l’a lancé.
Dans une intégration, considérez l’identifiant comme une référence de suivi, jamais comme une preuve d’autorisation. Conservez le contexte de l’utilisateur authentifié lors des appels de statut et de téléchargement, et utilisez les références de résultat fournies par le serveur. Il ne faut pas donner accès à un fichier simplement parce qu’un appelant connaît un entier.
Une sortie prévisible pour les systèmes suivants
VideoConcat normalise chaque source avant l’assemblage. Les formats courants acceptés comprennent 3GP, AVI, FLV, M4V, MKV, MOV, MP4, MPEG, MPG, OGV, TS, WebM et WMV, et plusieurs extensions peuvent être mélangées. La sortie vise une résolution commune jusqu’à 1920×1080, 30 images par seconde, une vidéo H.264 et un audio AAC. Le letterboxing préserve le cadrage lorsque les proportions diffèrent. Une piste silencieuse est ajoutée lorsqu’une entrée ne contient pas d’audio.
En cas de réussite, la réponse expose un seul MP4 téléchargeable. Le passage vers une file de transcodage, un gestionnaire de médias, un outil de publication ou un portail client est donc plus simple. Votre application doit néanmoins conserver sa validation éditoriale et métier. L’API traite la concaténation et la normalisation ; elle ne remplace pas la décision de publier.
Validation et frontières de propriété
La validation serveur contrôle le nombre d’entrées, leur contenu vidéo réel, les informations MIME, la propriété et les limites. Chaque vidéo est limitée à 100 Mo et 10 minutes. L’ensemble ne peut dépasser 1 Go et 30 minutes, et doit comporter de 2 à 15 vidéos. Ces règles ne dépendent pas de l’extension annoncée, du JavaScript ou du type déclaré par le navigateur.
Cette distinction est importante dans un système automatisé. Le nom clip.mp4 ne prouve pas que les octets contiennent un MP4 valide, pas plus qu’un sélecteur de fichiers ne constitue une frontière d’autorisation. Envoyez des fichiers appartenant au compte authentifié, protégez le JWT et traitez les erreurs de validation stables comme des erreurs d’entrée, sans les relancer indéfiniment. Les URL publiques doivent correspondre aux sources que votre application est autorisée à traiter.
Prix à l’usage et gestion des retries
Un traitement VideoConcat réussi coûte 15 tokens. Une validation refusée n’est pas facturée : une intégration peut donc corriger un problème de cardinalité ou de taille sans payer une opération réussie. Dans votre système de jobs, séparez une requête rejetée, un processus en cours, un échec de traitement et une réussite. Ne créez pas automatiquement un second processus parce qu’un appel de polling a expiré ; récupérez d’abord l’état du processus existant.
Conservez l’identifiant, utilisez un polling borné et appliquez un intervalle adapté à votre produit. Lorsque le processus réussit, mémorisez la référence reçue et téléchargez-la par le flux authentifié. Si votre propre file reçoit une notification en double, rendez aussi ce consommateur idempotent.
Quand intégrer cette API ?
Les cas d’usage comprennent l’assemblage de clips envoyés par un client, la création d’une copie de relecture depuis plusieurs caméras, la préparation d’un fichier unique pour un CMS ou l’archivage de segments de formation. Votre service peut accepter un MP4 et un MOV provenant de parcours différents sans imposer à l’utilisateur de connaître FFmpeg ou un logiciel de montage.
Pour les exemples multipart, les réponses de suivi et les détails des téléchargements, consultez la documentation REST de VideoConcat. Quand votre intégration doit fusionner des sources MP4, MOV, AVI ou d’autres formats acceptés en un MP4 normalisé, ce contrat asynchrone reste simple à suivre et à intégrer.