Cette rubrique décrit les paramètres API permettant de produire des vidéos de montage de temps forts à partir de séries télévisées ou de films. Elle couvre les ressources d'entrée, la configuration du montage et les paramètres de sortie.
Remarque : Lors de l'utilisation de cette API, la région spécifiée dans l'URL Object Storage Service (OSS) de toutes les ressources multimédias doit correspondre à celle de l'endpoint OpenAPI appelé.
Régions prises en charge : Chine (Shanghai), Chine (Pékin), Chine (Hangzhou), Chine (Shenzhen), États-Unis (Ouest) et Singapour. La fonctionnalité de détection d'étiquettes d'action (associée aux paramètres EnableActionRecog et CustomActions) est disponible uniquement dans la région Chine (Shanghai).
Cette version ne prend pas en charge les ressources vidéo sans voix humaine. Assurez-vous que vos ressources vidéo respectent cette exigence.
Lorsque vous utilisez le service, remplacez les paramètres tels que [your-bucket], [your-region-id], [your-file-name], [your-file-path] et les ID de ressources multimédias (par exemple, « **9d46c8b4548681030f6e** ») dans les exemples par vos propres valeurs.
Notes d'utilisation
Pour créer un montage de temps forts à partir de plusieurs vidéos et les produire par lot en un seul appel, consultez SubmitScreenMediaHighlightsJob - Soumettre une tâche de montage de temps forts. Pour plus de détails sur les paramètres API clés, reportez-vous aux sections InputConfig, EditingConfig et OutputConfig ci-dessous.
Pour obtenir les détails d'une tâche de production vidéo intelligente par lot, consultez GetBatchMediaProducingJob - Obtenir des informations sur une tâche de production vidéo intelligente par lot.
Paramètres InputConfig
InputConfig définit les ressources d'entrée telles que les séquences vidéo, les voix off, la musique de fond et les autocollants.
|
Paramètre |
Type |
Description |
Exemple |
Obligatoire |
|
MediaArray |
List<String> |
|
Voir Exemples de paramètres. |
Oui |
|
HighlightStrategy |
Politique de montage des temps forts. |
Voir Exemples de paramètres. |
Non |
|
|
OpeningArray |
List<Media> |
|
Voir Exemples de paramètres. |
Non |
|
EndingArray |
List<Media> |
|
Voir Exemples de paramètres. |
Non |
|
TitleArray |
List<String> |
Titres. Jusqu'à 50 titres sont pris en charge. Un titre est sélectionné aléatoirement pour chaque production. Chaque titre peut contenir jusqu'à 50 caractères. |
["Hema Fresh in Huilongguan is now open","Hema Fresh is now open"] |
Non |
|
SubHeadingArray |
List<SubHeading> |
Sous-titres. Jusqu'à cinq niveaux de sous-titres sont pris en charge. |
Voir Exemples de paramètres. |
Non |
|
StickerArray |
List<Sticker> |
|
Voir Exemples de paramètres. |
Non |
|
BackgroundMusicArray |
List<String> |
|
Voir Exemples de paramètres. |
Non |
|
BackgroundImageArray |
List<String> |
|
Voir Exemples de paramètres. |
Non |
Paramètres HighlightStrategy
|
Paramètre |
Type de données |
Description |
Exemple |
Obligatoire |
|
IntroConfig |
JSON |
Configuration du début de la section des temps forts.
|
{"Mode":"Disabled"} |
Non |
|
TargetDurationConfig |
Configuration de la durée de la vidéo de sortie. |
{"TargetDuration": 180, "SpeedRange": [0.95, 1]} |
Non |
|
|
PlotPacingType |
String |
|
Slow |
Non. Valeur par défaut : Normal. |
|
ThemeConfig |
Configuration du thème de montage. |
{"ThemeType":"JumpHighlight" } |
Non |
|
|
HighlightDescription |
String |
Description de la politique d'extraction des temps forts. Ce paramètre prend effet uniquement lorsque ThemeConfig.ThemeType est défini sur SmoothHighlight. |
Prioriser les scènes présentant les caractéristiques suivantes. Émotions extériorisées évidentes : Le protagoniste masculin exprime directement des émotions fortes par ses actions, telles que la colère, la protection ou le retour en force (par exemple, la « rivalité » entre le protagoniste masculin et son frère aîné). Contraste marqué : Transmettre des conflits internes par des comportements ou des identités contrastés (tels que des luttes de pouvoir ou des tensions émotionnelles). Conflits narratifs concentrés : Se concentrer sur les conflits fondamentaux du protagoniste, tels que les querelles familiales ou les identités dissimulées, afin de renforcer l'engagement du spectateur. Intrigues dramatiques marquantes : Inclure des dialogues insolites ou des rebondissements (tels que « une femme déguisée en homme est reconnue ») pour accroître l'attrait et susciter l'intérêt. |
Non |
|
FaceInfo |
|
{"ImageInfoList":[{"Name":"Ning X","ImageURL":"http://[your-cdn-domain]/[your-file-path]/face1.png"}]} |
Non |
|
|
EnableActionRecog |
Boolean |
Indique s'il faut activer la détection d'actions. Lorsque cette option est activée, les séquences de temps forts sont sélectionnées en fonction des résultats de la détection d'actions. Remarque
La détection d'actions est prise en charge uniquement dans la région Chine (Shanghai). |
true |
Non. Valeur par défaut : false. |
|
CustomActions |
List<String> |
Étiquettes d'actions personnalisées. Le système priorise la correspondance en fonction des noms d'étiquettes fournis. Exemple : ["fighting","crying"]. Le tableau peut contenir jusqu'à 50 étiquettes. Chaque étiquette peut contenir jusqu'à 5 caractères. Remarque
La détection d'actions est prise en charge uniquement dans la région Chine (Shanghai). |
["fighting","crying"] |
Non |
Paramètres ThemeConfig
|
Paramètre |
Type de données |
Description |
Exemple |
Obligatoire |
|
ThemeType |
String |
|
SmoothHighlight |
Non. Valeur par défaut : JumpHighlight. |
Paramètres TargetDurationConfig
|
Paramètre |
Type de données |
Description |
Exemple |
Obligatoire |
|
TargetDuration |
Float |
|
180 |
Non |
|
SpeedRange |
List<String> |
Plage d'ajustement de la vitesse. Pour obtenir une vidéo de sortie à vitesse fixe, définissez les valeurs de début et de fin de la plage de vitesse sur la même valeur. Par exemple, [1.2, 1.2] définit la vitesse à 1,2x. Pour que la durée réelle de la vidéo de sortie soit aussi proche que possible de TargetDuration, définissez une plage de vitesse acceptable. Par exemple :
|
[0.95, 1] |
Non |
Paramètres FaceInfo
|
Paramètre |
Type |
Description |
Obligatoire |
|
ImageInfoList |
List<ImageInfo> |
Liste de photos des personnages (visages). La liste peut contenir jusqu'à 200 photos. |
Non |
Paramètres ImageInfo
|
Paramètre |
Type |
Description |
Exemple |
Obligatoire |
|
Name |
String |
Nom du personnage (visage). |
Daniel |
Oui |
|
ImageURL |
String |
Adresse de stockage de la photo du personnage (visage). L'URL doit être accessible via Internet. Assurez-vous que l'image du visage ne contient qu'une seule personne et que le visage est net, sans obstruction significative ni partie manquante. |
http://[your-cdn-domain]/[your-file-path]/face1.png |
Oui, l'un des deux est requis. |
|
ImageId |
String |
ID de la ressource multimédia de l'image. |
**9d46c886b45481030f6e** |
Paramètres Media
|
Paramètre |
Type de données |
Description |
Exemple |
Obligatoire |
|
MediaId |
String |
ID de la ressource multimédia. |
**b4549dfvc88681030f6e** |
Vous devez spécifier l'un des deux. Si les deux sont spécifiés, MediaId est utilisé. |
|
MediaURL |
String |
URL de la ressource multimédia. Seul OSS auto-géré est pris en charge. |
Règle : http://[your-bucket].oss-[your-region-id].aliyuncs.com/[your-file-path]/[your-file-name]_{index}.mp4 Exemple : http://example.oss-cn-shanghai.aliyuncs.com/example/example_{index}.mp4 |
|
|
In |
Float |
Lorsque la ressource est une vidéo, il s'agit du point d'entrée de la ressource, en secondes. |
0 |
Non |
|
Out |
Float |
Lorsque la ressource est une vidéo, il s'agit du point de sortie de la ressource, en secondes. |
5 |
Non |
|
Duration |
Float |
Lorsque la ressource est une image, il s'agit de la durée d'affichage de la ressource, en secondes. |
2 |
Non |
|
DyncFrames |
Integer |
Lorsque la ressource est un GIF, il s'agit du nombre d'images de l'image animée. |
25 |
Non |
Exemples de paramètres
Montage fluide
{
"MediaArray": [
"****9d46c8b42f4581030f6e****",
"****9d46c8b4frtf81030f6e****",
"****9d46c8b4asdf81030f6e****",
"****9d46c8b43d3481030f6e****"
],
"HighlightStrategy": {
"IntroConfig": {
"Mode": "Disabled"
},
"TargetDurationConfig": {
"TargetDuration": 300
},
"ThemeConfig": {
"ThemeType": "SmoothHighlight"
},
"HighlightDescription":"Prioritize scenes with the following features. Obvious externalized emotions: The male protagonist directly expresses strong emotions through actions, such as anger, protection, or comeback (for example, the 'rivalry' between the male protagonist and his older brother). Strong contrast: Convey internal conflicts through contrasting behaviors or identities (such as power struggles or emotional tension). Concentrated plot conflicts: Focus on the protagonist's core conflicts, such as family feuds or disguised identities, to enhance viewer engagement. Prominent dramatic plots: Include bizarre dialogues or plot twists (such as 'a woman disguised as a man is recognized') to increase appeal and create buzz.",
"FaceInfo":{"ImageInfoList":[{"Name":"Ning X","ImageURL":"http://[your-cdn-domain]/[your-file-path]/face1.png"}]},
"EnableActionRecog": true,
"CustomActions": ["fighting","crying"]
},
"OpeningArray": [
{
"MediaId": "****9d46c8b4548681030f6e****",
"In": 0,
"Out": 5
},
{
"MediaId": "****9d46c8b4548661030f6e****",
"In": 0,
"Out": 5
}
],
"EndingArray": [
{
"MediaId": "****9d46c8b4548681030f6e****",
"In": 0,
"Out": 5
},
{
"MediaId": "****9d46c8b4548661030f6e****",
"In": 0,
"Out": 5
}
],
"TitleArray": [
"Hema Fresh in Huilongguan is now open",
"Hema Fresh is now open"
],
"SubHeadingArray": [
{
"Level": 1,
"TitleArray": [
"Subheading 1",
"Subheading 2"
]
},
{
"Level": 3,
"TitleArray": [
"Level 3 subheading"
]
}
],
"StickerArray": [
{
"MediaId": "****9d46c8b4548681030f6e****",
"X": 10,
"Y": 100,
"Width": 300,
"Height": 300,
"Opacity": 0.6
},
{
"MediaURL": "http://[your-bucket].oss-[your-region-id].aliyuncs.com/[your-file-name].png",
"X": 10,
"Y": 100,
"Width": 300,
"Height": 300
}
],
"BackgroundMusicArray": [
"****b4549d46c88681030f6e****",
"****549d46c88b4681030f6e****",
"http://[your-bucket].oss-[your-region-id].aliyuncs.com/[your-file-name].mp3"
],
"BackgroundImageArray": [
"****6c886b4549d481030f6e****",
"****9d46c8548b4681030f6e****",
"http://[your-bucket].oss-[your-region-id].aliyuncs.com/[your-file-name].png"
]
}
Montage par coupes franches
{
"MediaArray": [
"****9d46c8b42f4581030f6e****",
"****9d46c8b4frtf81030f6e****",
"****9d46c8b4asdf81030f6e****",
"****9d46c8b43d3481030f6e****"
],
"HighlightStrategy": {
"IntroConfig": {
"Mode": "Disabled"
},
"ThemeConfig": {
"ThemeType": "JumpHighlight"
},
"EnableActionRecog": true,
"CustomActions": ["fighting","crying"]
},
"OpeningArray": [
{
"MediaId": "****9d46c8b4548681030f6e****",
"In": 0,
"Out": 5
},
{
"MediaId": "****9d46c8b4548661030f6e****",
"In": 0,
"Out": 5
}
],
"EndingArray": [
{
"MediaId": "****9d46c8b4548681030f6e****",
"In": 0,
"Out": 5
},
{
"MediaId": "****9d46c8b4548661030f6e****",
"In": 0,
"Out": 5
}
],
"TitleArray": [
"Hema Fresh in Huilongguan is now open",
"Hema Fresh is now open"
],
"SubHeadingArray": [
{
"Level": 1,
"TitleArray": [
"Subheading 1",
"Subheading 2"
]
},
{
"Level": 3,
"TitleArray": [
"Level 3 subheading"
]
}
],
"StickerArray": [
{
"MediaId": "****9d46c8b4548681030f6e****",
"X": 10,
"Y": 100,
"Width": 300,
"Height": 300,
"Opacity": 0.6
},
{
"MediaURL": "http://[your-bucket].oss-[your-region-id].aliyuncs.com/[your-file-name].png",
"X": 10,
"Y": 100,
"Width": 300,
"Height": 300
}
],
"BackgroundMusicArray": [
"****b4549d46c88681030f6e****",
"****549d46c88b4681030f6e****",
"http://[your-bucket].oss-[your-region-id].aliyuncs.com/[your-file-name].mp3"
],
"BackgroundImageArray": [
"****6c886b4549d481030f6e****",
"****9d46c8548b4681030f6e****",
"http://[your-bucket].oss-[your-region-id].aliyuncs.com/[your-file-name].png"
]
}
Paramètres EditingConfig
EditingConfig définit les paramètres de production de la vidéo de sortie, tels que le volume, la position, les transitions et les filtres.
|
Paramètre |
Type |
Description |
Exemple |
Obligatoire |
|
JSON |
Configuration des ressources vidéo d'entrée. |
Voir Exemple de paramètre. |
Non |
|
|
JSON |
Configuration du titre. Prend en charge les paramètres de sous-titrage. |
Voir Exemple de paramètre. |
Non |
|
|
SubHeadingConfig |
JSON |
Configuration des sous-titres à plusieurs niveaux. Prend en charge les paramètres de sous-titrage. Description des champs JSON :
|
Voir Exemple de paramètre. |
Non |
|
JSON |
Configuration de la musique de fond. |
Voir Exemple de paramètre. |
Non |
|
|
JSON |
Configuration de l'image d'arrière-plan. Si une image d'arrière-plan est déjà configurée dans InputConfig, ce champ ne prend pas effet. |
Voir Exemple de paramètre. |
Non |
|
|
JSON |
Configuration du traitement du montage. |
Voir Exemple de paramètre. |
||
|
JSON |
Configuration du canevas pour les aperçus de page frontend. |
{"Width": 1080,"Height": 1920} |
Non |
|
|
ProduceConfig |
JSON |
Configuration standard du montage et de la production vidéo. Pour plus d'informations sur les champs, consultez : EditingProduceConfig |
{"AutoRegisterInputVodMedia":true,"OutputWebmTransparentChannel":true,"CoverConfig":{"StartTime":3.3},"AudioChannelCopy":"left","PipelineId":"xxxd54a97cff4108b555b01166d4bxxx","MaxBitrate":5000,"KeepOriginMaxBitrate":false,"KeepOriginVideoMaxFps":false} |
Non |
Paramètres ProcessConfig
|
Paramètre |
Type |
Description |
Exemple |
Obligatoire |
|
AllowVfxEffect |
Boolean |
Indique s'il faut autoriser les effets spéciaux. |
true |
Non. Valeur par défaut : false. |
|
VfxEffectProbability |
Float |
Probabilité d'appliquer un effet spécial à chaque séquence vidéo. Plage de valeurs : 0,0 à 1,0. Prend en charge jusqu'à deux décimales. |
0.6 |
Non. Valeur par défaut : 0.5. |
|
VfxFirstClipEffectList |
List<String> |
|
["slightshow","starfieldshinee"] |
Non |
|
VfxNotFirstClipEffectList |
List<String> |
|
["zoomslight","zoom"] |
Non |
|
AllowTransition |
Boolean |
Indique s'il faut autoriser les transitions. |
true |
Non. Valeur par défaut : false. |
|
TransitionDuration |
Float |
Durée de la transition, en secondes. Si la durée de la transition est supérieure à la durée de la séquence moins 1, l'effet de transition pour cette séquence ne prend pas effet. |
0.5 |
Non. Valeur par défaut : 0,5 seconde. |
|
TransitionList |
List<String> |
Liste d'effets de transition personnalisés. Lorsque AllowTransition est vrai, un effet de transition est sélectionné aléatoirement dans cette liste pour la production. Pour les effets de transition disponibles, consultez Bibliothèque d'effets de transition. Si ce paramètre est vide, une transition est sélectionnée aléatoirement parmi les suivantes : « linearblur », « colordistance », « crosshatch », « dreamyzoom » et « doomscreentransition_up ». |
["directional", "linearblur"] |
Non |
|
UseUniformTransition |
Boolean |
Indique s'il faut utiliser le même effet de transition pour l'ensemble d'une vidéo de sortie unique. |
true |
Non. Valeur par défaut : true. |
|
AllowFilter |
Boolean |
Indique s'il faut autoriser les filtres personnalisés. |
false |
Non. Valeur par défaut : false. |
|
FilterList |
List<String> |
Liste d'effets de filtre personnalisés. Lorsque AllowFilter est vrai, un filtre est sélectionné aléatoirement dans cette liste pour la production. Pour les effets de filtre disponibles, consultez Exemples d'effets de filtre. Si ce paramètre est vide, aucun effet de filtre n'est ajouté. |
["m1", "m2"] |
Non |
Exemple de paramètre
{
"MediaConfig": {
"Volume": 0 // Mute the source video material by default.
},
"TitleConfig": {
"Alignment": "TopCenter",
"AdaptMode": "AutoWrap",
"Font": "Alibaba PuHuiTi 2.0 95 ExtraBold",
"SizeRequestType": "Nominal",
"Y": 0.1, // The Y-coordinate of the title when the output video is in portrait mode.
"Y": 0.05, // The Y-coordinate of the title when the output video is in landscape mode.
"Y": 0.08 // The Y-coordinate of the title when the output video is in square mode.
},
"SubHeadingConfig": {
"1": {
"Y": 0.3,
"FontSize": 40
},
"3": {
"Y": 0.5,
"FontSize": 30
}
},
"BackgroundMusicConfig": {
"Volume": 0.2, // Set the background music volume to 20% by default.
"Style": null
},
"ProcessConfig": {
"AllowVfxEffect": false, // Specifies whether to add special effects.
"AllowTransition": false, // Specifies whether to add transitions.
}
}
Paramètres TemplateConfig
TemplateConfig spécifie un modèle de production vidéo. Pour la description des paramètres et des exemples d'utilisation, consultez TemplateConfig.
Paramètres OutputConfig
OutputConfig définit les paramètres de sortie tels que l'adresse de livraison, les règles de nommage, les dimensions et le nombre de vidéos à produire.
|
Paramètre |
Type |
Description |
Exemple |
Obligatoire |
|
MediaURL |
String |
Adresse de la vidéo de sortie. Elle doit contenir l'espace réservé {index}. |
Règle : http://[your-bucket].oss-[your-region-id].aliyuncs.com/[your-file-path]/[your-file-name]_{index}.mp4 Exemple : http://example.oss-cn-shanghai.aliyuncs.com/example/example_{index}.mp4 |
Obligatoire lorsque GeneratePreviewOnly est faux et que la vidéo de sortie est livrée vers OSS. |
|
StorageLocation |
String |
Adresse de stockage pour les ressources multimédias livrées vers VOD. |
Règle : [your-vod-bucket].oss-[your-region-id].aliyuncs.com Exemple : outin-**6c886b4549d481030f6e**.oss-cn-shanghai.aliyuncs.com |
Obligatoire lorsque GeneratePreviewOnly est faux et que la vidéo de sortie est livrée vers VOD. |
|
FileName |
String |
Nom du fichier de sortie. Il doit contenir l'espace réservé {index}. |
Règle : [your-file-name]__{index}.mp4 Exemple : example_{index}.mp4 |
Obligatoire lorsque GeneratePreviewOnly est faux et que la vidéo de sortie est livrée vers VOD. |
|
GeneratePreviewOnly |
Boolean |
|
false |
Non. Valeur par défaut : false. |
|
Count |
Integer |
|
1 |
Non. Valeur par défaut : 1. |
|
Width |
Integer |
Largeur de la vidéo de sortie, en px. |
1080 |
Oui |
|
Height |
Integer |
Hauteur de la vidéo de sortie, en px. |
1920 |
Oui |
|
JSONObject |
Configuration du flux vidéo de sortie, telle que Crf et Codec. |
{"Crf": 27} |
Non |
Exemple de paramètre
{
"MediaURL": "http://[your-bucket].oss-[your-region-id].aliyuncs.com/[your-file-name]_{index}.mp4",
"Count": 1,
"Width": 1080,
"Height": 1920,
"Video": {"Crf": 27},
"GeneratePreviewOnly":false
}
Logique de traitement
Configurez les ressources de montage à l'aide de MediaArray. Les ressources sont analysées et traitées dans l'ordre où elles sont fournies.
Configurez l'introduction et la fin de la section des temps forts à l'aide de HighlightStrategy.
Configurez l'introduction fixe (pre-roll) avant la section des temps forts et la fin fixe (post-roll) après celle-ci à l'aide de OpeningArray et EndingArray.
Les paramètres définis lors de l'appel API de production vidéo en un clic priment sur ceux définis dans un modèle. Si vous configurez TemplateConfig, le système lit d'abord les paramètres non vides provenant de l'appel API. Pour tout paramètre vide, le système lit les valeurs à partir du modèle.