Soumet une tâche de montage et de composition de médias. Lorsque vous devez effectuer du montage, de la composition ou d'autres formes de post-production sur des éléments vidéo ou audio, vous pouvez appeler cette opération d'API pour automatiser le traitement.
Description de l'opération
-
Facturation : le montage de clips vidéo est facturé en fonction de la durée de la vidéo produite. Pour plus de détails, consultez Montage de clips vidéo. Aucun frais n'est facturé pour les tâches ayant échoué.
-
Capacités de montage variées : lorsque vous devez organiser et concevoir des éléments en fonction de vos idées créatives, appelez cette opération. Cette opération prend en charge des configurations de timeline flexibles pour répondre aux exigences complexes de montage de clips vidéo.
-
Règles de référence des éléments : les éléments référencés dans la timeline de montage cloud peuvent être des ressources médiatiques de la médiathèque ou des fichiers OSS. Les URL externes ou les URL CDN ne sont pas prises en charge. Lorsque l'élément est un fichier OSS, MediaUrl prend uniquement en charge le format d'URL OSS, tel que https://your-bucket.oss-region-name.aliyuncs.com/your-object.ext.
-
Exécution asynchrone des tâches : cette opération est une tâche asynchrone. Après avoir soumis une tâche, un identifiant de tâche est renvoyé (la tâche n'est pas encore terminée et intègre une file d'attente en arrière-plan pour une exécution asynchrone). Le résultat final est envoyé via une notification de rappel. Vous pouvez également interroger de manière proactive l'état de la tâche en appelant GetMediaProducingJob.
-
Interrogation de l'état de la tâche :
-
Appelez GetMediaProducingJob et transmettez le JobId pour interroger l'état et le résultat de la tâche.
-
Lors de la soumission d'une tâche de production de médias, vous pouvez définir UserData dans les paramètres de la requête pour inclure une URL de rappel. Lorsque la tâche de montage est terminée ou échoue, le système envoie une notification à l'URL de rappel. Vous pouvez traiter les données de rappel pour obtenir l'état de la tâche.
-
-
Enregistrement et analyse des ressources médiatiques : une fois la composition vidéo terminée, la ressource médiatique est automatiquement enregistrée. À ce stade, la ressource médiatique est toujours en cours d'analyse. Une fois l'analyse terminée, vous pouvez obtenir la durée et la résolution de la vidéo produite en fonction du MediaId.
Limites
-
La limite de débit de cette opération est de 30 QPS (requêtes par seconde pour la soumission de tâches). Les tâches soumises intègrent une file d'attente en arrière-plan et sont traitées de manière asynchrone.
RemarqueSi cette limite est dépassée, vous pouvez rencontrer une erreur « Throttling.User ». Pour plus d'informations, consultez Erreur Throttling.User lors de la soumission d'une tâche de montage.
-
Lorsque vous soumettez un grand nombre de tâches (par exemple 1 000 ou 10 000), le système effectue une mise à l'échelle dynamique, mais un temps d'attente dans la file peut s'appliquer.
-
Le nombre maximal de pistes pour les pistes vidéo, les pistes d'images et les pistes de sous-titres est de 100 pour chacune.
-
Il n'y a pas de limite sur le nombre d'éléments, mais la taille totale des fichiers de tous les éléments ne peut pas dépasser 1 To.
-
La région du compartiment OSS d'entrée ou de sortie doit être la même que la région où IMS est utilisé.
-
Lorsque la sortie est une vidéo, les limites de résolution suivantes s'appliquent à la vidéo produite :
La largeur et la hauteur doivent être d'au moins 128 px.
La largeur et la hauteur ne peuvent pas dépasser 4 096 px.
Le côté court ne peut pas dépasser 2 160 px.
Testez maintenant
Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale. Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale.
Test
Autorisation RAM
|
ice:SubmitMediaProducingJob |
*All Resource
|
Aucune | Aucune |
Paramètres de requête
|
Paramètre |
Type |
Requis |
Description |
Exemple |
| ProjectId |
string |
Non |
L'identifiant du projet de montage. Vous pouvez appeler l'opération CreateEditingProject pour créer un projet de montage et obtenir le ProjectId afin de soumettre une tâche de montage. Important Vous devez spécifier l'un des trois paramètres suivants : ProjectId, Timeline ou TemplateId. Laissez les deux autres paramètres vides. |
xxxxxfb2101cb318xxxxx |
| Timeline |
string |
Non |
La timeline de la tâche de montage cloud. Lorsque vous devez organiser des éléments et concevoir des effets en fonction de vos idées créatives vidéo, vous pouvez construire manuellement le paramètre Timeline.
Important Vous devez spécifier l'un des trois paramètres suivants : ProjectId, Timeline ou TemplateId. Laissez les deux autres paramètres vides. |
{"VideoTracks":[{"VideoTrackClips":[{"MediaId":"****4d7cf14dc7b83b0e801c****"},{"MediaId":"****4d7cf14dc7b83b0e801c****"}]}]} |
| TemplateId |
string |
Non |
L'identifiant du modèle, utilisé pour créer rapidement une timeline avec un effort minimal. Le montage de clips vidéo basé sur des modèles standard et des modèles avancés est pris en charge.
Important Vous devez spécifier l'un des trois paramètres suivants : ProjectId, Timeline ou TemplateId. Laissez les deux autres paramètres vides.
|
****96e8864746a0b6f3**** |
| ClipsParam |
string |
Non |
Les paramètres des éléments correspondant au modèle, au format JSON. Lorsque TemplateId n'est pas vide, ClipsParam ne peut pas être vide. Pour le format spécifique, consultez Créer et utiliser un modèle standard et Créer et utiliser un modèle avancé. |
Consultez le guide d'utilisation des modèles |
| ProjectMetadata |
string |
Non |
Les métadonnées du projet de montage, au format JSON. Pour la définition spécifique de la structure, consultez ProjectMetadata. |
{"Description":"Video editing description","Title":"Editing title test"} |
| OutputMediaTarget |
string |
Non |
Le type de cible du média de sortie. Valeurs valides :
|
oss-object |
| OutputMediaConfig |
string |
Oui |
La configuration cible du média de sortie, au format JSON. Vous pouvez définir l'URL OSS ou l'emplacement de stockage dans un compartiment VOD pour le média de sortie.
|
{"MediaURL":"https://example-bucket.oss-cn-shanghai.aliyuncs.com/example.mp4"} |
| UserData |
string |
Non |
Paramètres personnalisés, au format JSON, avec une longueur maximale de 512 octets. Prend en charge la configuration du rappel de fin de tâche. Les champs incluent :
|
{"NotifyAddress":"https://xx.com/xx","RegisterMediaNotifyAddress":"https://xxx.com/xx"} |
| ClientToken |
string |
Non |
Le jeton client utilisé pour garantir l'idempotence de la requête. Vous pouvez utiliser le client pour générer le jeton, mais vous devez vous assurer que le jeton est unique parmi les différentes requêtes. Le jeton ne peut contenir que des caractères ASCII et ne peut pas dépasser 64 caractères. |
****12e8864746a0a398**** |
| Source |
string |
Non |
La source de la requête de montage et de composition. Valeurs valides :
|
OPENAPI |
| EditingProduceConfig |
string |
Non |
La configuration de montage et de composition. Pour plus d'informations, consultez Détails du paramètre EditingProduceConfig. Remarque
Si aucune image de couverture n'est configurée dans EditingProduceConfig, la première image de la vidéo est utilisée comme couverture par défaut.
|
{ "AutoRegisterInputVodMedia": "true", "OutputWebmTransparentChannel": "true" } |
| MediaMetadata |
string |
Non |
Les métadonnées de la vidéo produite, au format JSON. Pour la définition spécifique de la structure, consultez MediaMetadata. |
{ "Title":"test-title", "Tags":"test-tags1,tags2" } |
Exemples de paramètres OutputMediaConfig
Exemple : Sortie vers OSS
{
"MediaURL":"https://my-test-bucket.oss-ap-southeast-1.aliyuncs.com/test/xxxxxtest001xxxxx.mp4",
"Bitrate": 2000,
"Width": 800,
"Height": 680
}
Lors de la sortie vers OSS, MediaURL est requis. La valeur par défaut du paramètre OutputMediaTarget est « oss-object », ce qui indique une sortie vers OSS. Les autres paramètres sont facultatifs. Bitrate est utilisé pour définir le débit binaire du média de sortie. En général, un débit binaire plus élevé produit une vidéo plus claire. La valeur maximale est de 5 000. Width et Height sont utilisés pour définir la résolution du média de sortie.
Format du chemin d'URL OSS : https://bucketname.oss-region-name.aliyuncs.com/xxx/yyy.ext
bucketname est le nom du compartiment OSS.
oss-region-name.aliyuncs.com est le point de terminaison public du fichier OSS. Par exemple, les points de terminaison pour Singapour, le Japon (Tokyo) et les États-Unis (Virginie) sont :
oss-ap-southeast-1.aliyuncs.com
oss-ap-northeast-1.aliyuncs.com
oss-us-east-1.aliyuncs.com
Exemple : Sortie vers VOD
{
"StorageLocation": "outin-*xxxxxx7d2a3811eb83da00163exxxxxx.oss-ap-southeast-1.aliyuncs.com",
"FileName": "output.mp4",
"Bitrate": 2000,
"Width": 800,
"Height": 680
}
Lors de la sortie vers VOD, les paramètres StorageLocation et FileName sont requis. Définissez le paramètre OutputMediaTarget sur « vod-media » pour effectuer la sortie vers le compartiment de stockage VOD. Vous pouvez consulter les emplacements de stockage disponibles dans VOD après avoir téléchargé des ressources médiatiques et vérifié l'adresse de stockage de la ressource médiatique.
Paramètres de la structure OutputMediaConfig
| Paramètre | Type | Description |
| MediaURL | String | L'URL de la ressource médiatique de sortie. Lorsque OutputMediaTarget est oss-object, spécifiez le chemin d'URL HTTP du fichier OSS, tel que http://xxx-bucket-name.oss-ap-southeast-1.aliyuncs.com/. La région OSS doit être identique à la région du service appelé. |
| StorageLocation | String | Lorsque OutputMediaTarget est vod-media, spécifiez l'emplacement de stockage pour stocker la ressource médiatique dans VOD. L'emplacement de stockage est l'emplacement de stockage de fichiers dans VOD sans le préfixe http://, tel que outin-xxxxxx.oss-ap-southeast-1.aliyuncs.com. |
| FileName | String | Lorsque OutputMediaTarget est vod-media, spécifiez le fileName (y compris l'extension de fichier, à l'exclusion du chemin) comme nom de fichier de sortie. |
| Width | Integer | La largeur du média de sortie. Ce paramètre est facultatif. La valeur par défaut est la largeur maximale parmi tous les éléments. |
| Height | Integer | La hauteur du média de sortie. Ce paramètre est facultatif. La valeur par défaut est la hauteur maximale parmi tous les éléments. |
| Bitrate | Integer | Le débit binaire du média de sortie, en Kbit/s. Ce paramètre est facultatif. La valeur par défaut est le débit binaire le plus élevé parmi tous les éléments, avec une limite supérieure de 5 000. Pour conserver le débit binaire le plus élevé des éléments, définissez EditingProduceConfig.KeepOriginMaxBitrate=true. Pour plus de détails, consultez EditingProduceConfig. |
| VodTemplateGroupId | String | L'identifiant du groupe de modèles de transcodage VOD pour la sortie vers VOD. Si le transcodage VOD n'est pas requis, définissez ce paramètre sur « VOD_NO_TRANSCODE ». |
Éléments de réponse
|
Élément |
Type |
Description |
Exemple |
|
object |
Schéma de la réponse. |
||
| RequestId |
string |
L'identifiant de la requête. |
****36-3C1E-4417-BDB2-1E034F**** |
| ProjectId |
string |
L'identifiant du projet de montage. |
****b4549d46c88681030f6e**** |
| JobId |
string |
L'identifiant de la tâche de production. |
****d80e4e4044975745c14b**** |
| MediaId |
string |
L'identifiant de la ressource médiatique produite. |
****c469e944b5a856828dc2**** |
| VodMediaId |
string |
L'identifiant de la ressource médiatique VOD. Ce paramètre est renvoyé lorsque l'emplacement de sortie de la vidéo est VOD. |
****d8s4h75ci975745c14b**** |
Exemples
JSON format
{
"RequestId": "****36-3C1E-4417-BDB2-1E034F****",
"ProjectId": "****b4549d46c88681030f6e****",
"JobId": "****d80e4e4044975745c14b****",
"MediaId": "****c469e944b5a856828dc2****",
"VodMediaId": "****d8s4h75ci975745c14b****"
}
Codes d'erreur
|
Code de statut HTTP |
Code d'erreur |
Message d'erreur |
Description |
|---|---|---|---|
| 400 | InvalidParameter | The specified parameter \ is not valid. | |
| 404 | ProjectNotFound | The specified project not found |
Consultez Codes d'erreur pour la liste complète.
Notes de version
Consultez Notes de version pour la liste complète.