Intelligent Media Production vous permet d'utiliser des modèles avancés pour le montage vidéo afin de créer des graphiques animés complexes et des effets multimédias sophistiqués. Cette rubrique décrit comment créer et utiliser des modèles avancés.
Créer un modèle avancé
Téléchargement via la console
Téléchargez le fichier de modèle dans la console Template Factory.
Création à l'aide de l'OpenAPI
Appelez l'opération AddTemplate pour créer un modèle. Définissez le paramètre config sur l'URL OSS (Object Storage Service) du modèle avancé.
AddTemplateRequest request = new AddTemplateRequest();
request.setType("VETemplate");
request.setName("AdvancedTemplateTest");
request.setConfig("{\"oss_url\":\"http://your-bucket.oss-cn-shanghai.aliyuncs.com/object.zip\"}");
AddTemplateResponse response = iceClient.addTemplate(request);
System.out.println("templateId : " + response.getBody().getTemplate().getTemplateId());
La valeur oss_url affichée pour le modèle avancé est fournie à titre d'exemple. Définissez ce paramètre selon vos besoins.
Utiliser un modèle avancé
Utilisation de la console
Pour utiliser un modèle avancé lors du montage vidéo, consultez la rubrique Utiliser un modèle avancé pour le montage en ligne.
Utilisation de l'OpenAPI
-
Récupérez les informations du modèle.
Appelez l'opération GetTemplate et définissez le paramètre
TemplateIdpour récupérer les informations du modèle.GetTemplateRequest request = new GetTemplateRequest(); request.setTemplateId("****20b48fb04483915d4f2cd8ac****"); GetTemplateResponse response = iceClient.getTemplate(request); GetTemplateResponseBody.GetTemplateResponseBodyTemplate template = response.getBody().getTemplate(); System.out.println("templateId : " + template.getTemplateId()); System.out.println("clipsParam : " + template.getClipsParam());L'exemple suivant présente une réponse type :
{ "RequestId":"******11-DB8D-4A9A-875B-275798******", "Template":{ "TemplateId":"****20b48fb04483915d4f2cd8ac****", "Name":"AdvancedTemplateTest", "Type":"VETemplate", "Status":"Available", "ModifiedSource":"OpenAPI", "CreateSource":"OpenAPI", "Config":"{\"oss_url\":\"http://your-bucket.oss-cn-shanghai.aliyuncs.com/object.zip\"}", "ClipsParam":"{\"Text7\":\"text\",\"Text6\":\"text\",\"Text5\":\"text\",\"Text4\":\"text\",\"Text3\":\"text\",\"Text2\":\"text\",\"Text1\":\"text\",\"Text0\":\"text\",\"Media3\":\"mediaId\",\"Media2\":\"mediaId\",\"Media1\":\"mediaId\",\"Media0\":\"mediaId\"}", "PreviewMedia":"", "CoverURL":"" } }RemarqueVous pouvez également utiliser des modèles fournis par le système. La procédure est similaire à celle d'utilisation d'un modèle personnalisé. Pour plus d'informations sur les modèles fournis par le système, consultez la rubrique Bibliothèque de modèles publics - Modèles avancés.
-
Remplacez, si nécessaire, les champs
textetmediaIddans le paramètreClipsParamrenvoyé à l'étape précédente.{ "Text0":"Caption0", "Text1":"Caption1", "Text2":"Caption2", "Text3":"Caption3", "Text4":"Caption4", "Text5":"Caption5", "Text6":"Caption6", "Text7":"Caption7", "Media0":"****20b48fb04483915d4f2cd8ac****", "Media1":"****20b48fb04483915d4f2cd8ac****", "Media2":"****20b48fb04483915d4f2cd8ac****", "Media3":"****20b48fb04483915d4f2cd8ac****" }RemarqueClipsParamest un paramètre destiné au service de production. Remplaceztextpar votre contenu textuel etmediaIdpar un ID de ressource multimédia ou son URL OSS. Les vidéos et les images sont prises en charge. Vous pouvez utiliser une combinaison d'IDs et d'URLs.Si vous ne définissez que certains champs du paramètre
ClipsParam, les légendes non spécifiées restent vides par défaut et les ressources multimédias non spécifiées conservent les ressources d'origine du modèle.Vous pouvez définir les polices pour les légendes ainsi que les modes d'adaptation pour les vidéos et les images. Pour plus d'informations, consultez la section Fonctionnalités étendues.
-
Appelez le service de synthèse.
Appelez l'opération SubmitMediaProducingJob pour soumettre une tâche de montage et de production vidéo. Définissez les paramètres
TemplateIdetClipsParam.SubmitMediaProducingJobRequest request = new SubmitMediaProducingJobRequest(); request.setTemplateId("****20b48fb04483915d4f2cd8ac****"); request.setClipsParam("{\"Text7\":\"Caption7\",\"Text6\":\"Caption6\",\"Text5\":\"Caption5\",\"Text4\":\"Caption4\",\"Text3\":\"Caption3\",\"Text2\":\"Caption2\",\"Text1\":\"Caption1\",\"Text0\":\"Caption0\",\"Media3\":\"****20b48fb04483915d4f2cd8ac****\",\"Media2\":\"****20b48fb04483915d4f2cd8ac****\",\"Media1\":\"****20b48fb04483915d4f2cd8ac****\",\"Media0\":\"****20b48fb04483915d4f2cd8ac****\"}"); request.setOutputMediaConfig("{\"MediaURL\":\"http://your-bucket.oss-cn-shanghai.aliyuncs.com/object.mp4\"}"); SubmitMediaProducingJobResponse response = iceClient.submitMediaProducingJob(request); System.out.println("jobid : " + response.getBody().getJobId());
Fonctionnalités étendues
Définir les modes d'adaptation pour les vidéos et les images
Utilisez .adapt_type pour définir le mode de mise à l'échelle des vidéos et des images. Les valeurs valides sont les suivantes :
0 : Aucune adaptation.
1 : Centrer et remplir.
2 : Ajuster et centrer.
3 : Mise à l'échelle non proportionnelle.
{
"Text7":"Caption7",
"Text6":"Caption6",
"Text5":"Caption5",
"Text4":"Caption4",
"Text3":"Caption3",
"Text2":"Caption2",
"Text1":"Caption1",
"Text0":"Caption0",
"Media3":"https://your-bucket.oss-cn-shanghai.aliyuncs.com/object01.jpg",
"Media2":"https://your-bucket.oss-cn-shanghai.aliyuncs.com/object02.jpg",
"Media1":"https://your-bucket.oss-cn-shanghai.aliyuncs.com/object03.jpg",
"Media0":"https://your-bucket.oss-cn-shanghai.aliyuncs.com/object04.jpg",
"Media3.adapt_type":0,
"Media2.adapt_type":1,
"Media1.adapt_type":2,
"Media0.adapt_type":3
}
Modifier les polices des légendes
Utilisez .font_file pour définir la police des légendes. Vous pouvez également spécifier une URL OSS pour utiliser votre propre police. Pour obtenir la liste des polices disponibles, consultez la rubrique Liste des polices.
{
"Text7.font_file":"SimSun",
"Text6.font_file":"Yuanti",
"Text5.font_file":"https://your-bucket.oss-cn-shanghai.aliyuncs.com/your-font1.ttf",
"Text4.font_file":"https://your-bucket.oss-cn-shanghai.aliyuncs.com/your-font2.ttf",
"Text7":"Caption7",
"Text6":"Caption6",
"Text5":"Caption5",
"Text4":"Caption4",
"Text3":"Caption3",
"Text2":"Caption2",
"Text1":"Caption1",
"Text0":"Caption0",
"Media3":"https://your-bucket.oss-cn-shanghai.aliyuncs.com/object01.jpg",
"Media2":"https://your-bucket.oss-cn-shanghai.aliyuncs.com/object02.jpg",
"Media1":"https://your-bucket.oss-cn-shanghai.aliyuncs.com/object03.jpg",
"Media0":"https://your-bucket.oss-cn-shanghai.aliyuncs.com/object04.jpg"
}
Autres paramètres
Le paramètre ClipsParam prend également en charge les paramètres suivants. Ceux-ci vous permettent de modifier les ressources multimédias pendant le processus de montage vidéo :
{
// Media asset
"Media1": "a8f5f167f44f4964e6c998dee827110c",
"Media1.loop": 1, // Valid for video/GIF assets. 0: Use the default loop logic of the engine. 1: Loop. 2: Do not loop.
"Media1.volume": 0.5, // Valid for video assets. The volume must be greater than or equal to 0. The standard range is 0 to 1. The default value is 0.
"Media1.adapt_type": 0, // Adaptation mode. 0: No adaptation. 1: cover (center and fill the space). 2: contain (fit and center). 3: fill (non-proportional scaling). 4: transform (use the matrix specified by the transform field). The default value is 1.
"Media1.transform": [a,c,e,b,d,f], // Row matrix: [scale, skewX, transX, skewY, scaleY, transY]. This is a local coordinate system matrix for the original image. The default is an identity matrix.
"Media1.clip_start": 0.0, // The start time for video clipping. If you do not need to clip the video, do not pass this parameter. clip_end must be greater than clip_start.
"Media1.clip_end": 10.0, // The end time for video clipping. A value greater than 0 indicates that the end of the video is clipped. A value less than or equal to 0 indicates that the end is not clipped.
// Caption
"Text1":"TestCaption",
"Text1.adapt": true, // Specifies whether to enable text adaptation. This is valid only for text box-type text. By default, the adaptation mode from the template design is used.
"Text1.fill": "#FFFFFF", // Text fill color.
"Text1.stroke": "#FFFFFF", // Text stroke color.
"Text1.stroke_width": 0.0, // Stroke width.
"Text1.stroke_over_fill": false, // Specifies whether the stroke is rendered over the fill.
"Text1.size": 10, // Font size in pixels.
"Text1.font_file": "SimSun" // Font family name.
}