Tous les produits
Search
Centre de documentation

Intelligent Media Services:Montage d'images et de vidéos

Dernière mise à jour :Aug 19, 2026

Configurez les paramètres de la Timeline dans l'opération SubmitMediaProducingJob pour modifier et mixer des images et des vidéos.

Notes d'utilisation

  • La production intelligente prend en charge le montage et le compositing, le rendu des effets ainsi que l'utilisation de modèles pour les flux en direct, les fichiers VOD et les fichiers de ressources issus d'Object Storage Service (OSS). Pour plus d'informations, consultez la rubrique Présentation de la production intelligente.

  • Vous pouvez générer une vidéo à partir d'une ou plusieurs vidéos, de fichiers audio, d'images et de sous-titres en configurant les paramètres de la timeline et en appelant l'opération SubmitMediaProducingJob.

  • Une timeline est créée lorsque vous ajoutez des ressources et configurez des effets pour réaliser une vidéo. Elle se compose de pistes, de ressources et d'effets. Pour en savoir plus, reportez-vous aux configurations de la timeline.

  • Pour découvrir comment utiliser le SDK IMS afin de modifier des fichiers audio et vidéo, consultez le guide Premiers pas.

Définir la résolution de sortie

Appelez l'opération SubmitMediaProducingJob pour soumettre une tâche de montage vidéo. Définissez les paramètres Width et Height dans OutputMediaConfig pour spécifier la résolution de sortie.

String outputMediaUrl = "https://your-bucket.oss-cn-shanghai.aliyuncs.com/target_video.mp4";
String outputMediaConfig = "{\"MediaURL\":\"" + outputMediaUrl + "\",\"Width\":720,\"Height\":1280}";
SubmitMediaProducingJobRequest request = new SubmitMediaProducingJobRequest();
request.setTimeline("<your-timeline>");
request.setOutputMediaConfig(outputMediaConfig);
SubmitMediaProducingJobResponse response = iceClient.submitMediaProducingJob(request);

Convertir une vidéo paysage en portrait et ajouter des bandes noires

Lorsqu'une vidéo au format paysage est exportée en orientation portrait, le système met à l'échelle la ressource de manière proportionnelle et la centre dans le cadre.

Effet final

Exemple de timeline

{
  "VideoTracks": [{
    "VideoTrackClips": [{
      "MediaURL": "http://ice-document-materials.oss-cn-shanghai.aliyuncs.com/test_media/h1.mp4"
    },{
      "MediaURL": "http://ice-document-materials.oss-cn-shanghai.aliyuncs.com/test_media/h2.mp4"
    },{
      "MediaURL": "http://ice-document-materials.oss-cn-shanghai.aliyuncs.com/test_media/h3.mp4"
    }]
  }]
}

Convertir une vidéo paysage en portrait et ajouter un flou d'arrière-plan

Le paramètre Radius accepte des valeurs comprises entre 0,01 et 1. Les valeurs prises en charge sont répertoriées dans la section Type d'effet : Paramètres d'arrière-plan.

Effet final

Exemple de timeline

{
	"VideoTracks": [{
		"VideoTrackClips": [{
			"MediaURL": "http://ice-document-materials.oss-cn-shanghai.aliyuncs.com/test_media/h1.mp4",
			"Effects": [{
				"Type": "Background",
				"SubType": "Blur",
				"Radius": 0,1
			}]
		}, {
			"MediaURL": "http://ice-document-materials.oss-cn-shanghai.aliyuncs.com/test_media/h2.mp4",
			"Effects": [{
				"Type": "Background",
				"SubType": "Blur",
				"Radius": 0,1
			}]
		}, {
			"MediaURL": "http://ice-document-materials.oss-cn-shanghai.aliyuncs.com/test_media/h3.mp4",
			"Effects": [{
				"Type": "Background",
				"SubType": "Blur",
				"Radius": 0,1
			}]
		}]
	}]
}

Convertir une vidéo paysage en portrait avec un effet d'écran divisé en trois

Le mode AdaptMode=Cover met à l'échelle la ressource pour remplir la zone cible tout en conservant son rapport d'aspect. Les autres valeurs disponibles sont indiquées dans la référence VideoTrackClip.

Effet final

Exemple de timeline

{
  "VideoTracks": [{
    "VideoTrackClips": [{
      "MediaURL": "http://ice-document-materials.oss-cn-shanghai.aliyuncs.com/test_media/h1.mp4",
      "Width": 1,
      "Height": 0.3333,
      "X": 0,
      "Y": 0.3333,
      "AdaptMode": "Cover"
    },{
      "MediaURL": "http://ice-document-materials.oss-cn-shanghai.aliyuncs.com/test_media/h2.mp4",
      "Width": 1,
      "Height": 0.3333,
      "X": 0,
      "Y": 0.3333,
      "AdaptMode": "Cover"
    },{
      "MediaURL": "http://ice-document-materials.oss-cn-shanghai.aliyuncs.com/test_media/h3.mp4",
      "Width": 1,
      "Height": 0.3333,
      "X": 0,
      "Y": 0.3333,
      "AdaptMode": "Cover"
    }]
  },{
    "VideoTrackClips": [{
      "MediaURL": "http://ice-public-media.oss-cn-shanghai.aliyuncs.com/test_media/h1.mp4",
      "Width": 1,
      "Height": 0.3333,
      "X": 0,
      "Y": 0,
      "AdaptMode": "Cover"
    },{
      "MediaURL": "http://ice-public-media.oss-cn-shanghai.aliyuncs.com/test_media/h2.mp4",
      "Width": 1,
      "Height": 0.3333,
      "X": 0,
      "Y": 0,
      "AdaptMode": "Cover"
    },{
      "MediaURL": "http://ice-public-media.oss-cn-shanghai.aliyuncs.com/test_media/h3.mp4",
      "Width": 1,
      "Height": 0.3333,
      "X": 0,
      "Y": 0,
      "AdaptMode": "Cover"
    }]
  },{
    "VideoTrackClips": [{
      "MediaURL": "http://ice-public-media.oss-cn-shanghai.aliyuncs.com/test_media/h1.mp4",
      "Width": 1,
      "Height": 0.3333,
      "X": 0,
      "Y": 0.6666,
      "AdaptMode": "Cover"
    },{
      "MediaURL": "http://ice-public-media.oss-cn-shanghai.aliyuncs.com/test_media/h2.mp4",
      "Width": 1,
      "Height": 0.3333,
      "X": 0,
      "Y": 0.6666,
      "AdaptMode": "Cover"
    },{
      "MediaURL": "http://ice-public-media.oss-cn-shanghai.aliyuncs.com/test_media/h3.mp4",
      "Width": 1,
      "Height": 0.3333,
      "X": 0,
      "Y": 0.6666,
      "AdaptMode": "Cover"
    }]
  }],
  "SubtitleTracks":[
    {
      "SubtitleTrackClips": [
        {
          "Type": "Text",
          "X": 0,
          "Y": 200,
          "Font": "AlibabaPuHuiTi",
          "Content": "This is the title",
          "Alignment": "TopCenter",
          "FontSize": 80,
          "FontColorOpacity": 1,
          "1FontColor": "#ffffff",
          "FontColor": "#FFDEAD",
          "FontFace": {
            "Bold": true,
            "Italic": false,
            "Underline": false
          }
        }
      ]
    },
    {
      "SubtitleTrackClips": [
        {
          "Type":"Text",
          "X": 0,
          "Y": 320,
          "Font": "KaiTi",
          "Content": "This is the subtitle",
          "Alignment": "TopCenter",
          "FontSize": 45,
          "FontColor": "#ffffff",
          "FontFace": {
            "Bold": false,
            "Italic": true,
            "Underline": true
          }
        }
      ]
    },
    {
      "SubtitleTrackClips":[
        {
          "Type":"Text",
          "X": 0,
          "Y": 900,
          "Font": "AlibabaPuHuiTi",
          "Content": "You can add captions during video merging.\nUse a line feed to display text on multiple lines.",
          "Alignment": "TopCenter",
          "FontSize": 40,
          "FontColor": "#ffffff",
          "FontFace": {
            "Bold": true,
            "Italic": false,
            "Underline": false
          }
        }
      ]
    }
  ]
}

Convertir une vidéo paysage en portrait et définir la couleur d'arrière-plan

Effet final

Exemple de timeline

{
  "VideoTracks": [{
    "VideoTrackClips": [{
      "MediaURL": "http://ice-document-materials.oss-cn-shanghai.aliyuncs.com/test_media/h1.mp4",
      "Effects": [{
        "Type": "Background",
        "SubType": "Color",
        "Color": "#000066"
      }]
    }, {
      "MediaURL": "http://ice-document-materials.oss-cn-shanghai.aliyuncs.com/test_media/h2.mp4",
      "Effects": [{
        "Type": "Background",
        "SubType": "Color",
        "Color": "#006400"
      }]
    }, {
      "MediaURL": "http://ice-document-materials.oss-cn-shanghai.aliyuncs.com/test_media/h3.mp4",
      "Effects": [{
        "Type": "Background",
        "SubType": "Color",
        "Color": "#8B1A1A"
      }]
    }]
  }]
}

Rogner une vidéo

Les paramètres In=3 et Out=8 permettent de rogner le segment compris entre 3 s et 8 s.

Effet final

Exemple de timeline

{
  "VideoTracks": [{
    "VideoTrackClips": [{
      "MediaURL": "http://ice-document-materials.oss-cn-shanghai.aliyuncs.com/test_media/h1.mp4",
      "In": 3,
      "Out": 8
    }]
  }]
}

Rogner et fusionner plusieurs segments vidéo

Si vous omettez les paramètres TimelineIn et TimelineOut, le système concatène les ressources séquentiellement.

Si MaxOut est défini sur 5, au maximum 5 secondes de la ressource sont utilisées :

  • Ressource de plus de 5 secondes : les 5 premières secondes sont conservées.

  • Ressource de moins de 5 secondes : la totalité de la ressource est utilisée.

Effet final

Exemple de timeline

{
  "VideoTracks": [{
    "VideoTrackClips": [{
      "MediaURL": "http://ice-document-materials.oss-cn-shanghai.aliyuncs.com/test_media/h1.mp4",
      "In": 3,
      "Out": 8
    }, {
      "MediaURL": "http://ice-document-materials.oss-cn-shanghai.aliyuncs.com/test_media/h2.mp4",
      "MaxOut": 5
    }, {
      "MediaURL": "http://ice-document-materials.oss-cn-shanghai.aliyuncs.com/test_media/h3.mp4",
      "Effects": [{
        "Type": "Clip",
        "SubType": "RandomClip",
        "ClipDuration": 5
      }]
    }]
  }]
}

Mixer des vidéos et des images

La valeur par défaut du paramètre Type est Video. Pour utiliser une image comme ressource, définissez Type sur Image.

Effet final

Exemple de timeline

{
  "VideoTracks": [{
    "VideoTrackClips": [{
      "MediaURL": "http://ice-document-materials.oss-cn-shanghai.aliyuncs.com/test_media/h1.mp4",
      "Out": 3
    }, {
      "MediaURL": "http://ice-document-materials.oss-cn-shanghai.aliyuncs.com/test_media/image/01.jpg",
      "Type": "Image",
      "Duration": 3
    }, {
      "MediaURL": "http://ice-document-materials.oss-cn-shanghai.aliyuncs.com/test_media/h2.mp4",
      "Out": 3
    }, {
      "MediaURL": "http://ice-document-materials.oss-cn-shanghai.aliyuncs.com/test_media/image/02.jpg",
      "Type": "Image",
      "Duration": 3
    }, {
      "MediaURL": "http://ice-document-materials.oss-cn-shanghai.aliyuncs.com/test_media/h3.mp4",
      "Out": 3
    }]
  }]
}

Ajouter des filigranes, des autocollants ou des GIF animés

Pour les images GIF, définissez le paramètre DyncFrames sur le nombre d'images contenues dans le GIF.

Effet final

Exemple de timeline

{
  "VideoTracks": [{
    "VideoTrackClips": [{
      "MediaURL": "http://ice-document-materials.oss-cn-shanghai.aliyuncs.com/test_media/h1.mp4",
      "Out": 5
    }, {
      "MediaURL": "http://ice-document-materials.oss-cn-shanghai.aliyuncs.com/test_media/h2.mp4",
      "Out": 5
    }, {
      "MediaURL": "http://ice-document-materials.oss-cn-shanghai.aliyuncs.com/test_media/h3.mp4",
      "Out": 5
    }]
  },{
    "VideoTrackClips": [{
      "Type": "Image",
      "MediaURL": "http://ice-document-materials.oss-cn-shanghai.aliyuncs.com/test_media/image/s1.png",
      "TimelineIn": 0,
      "Duration": 5,
      "X": 40,
      "Y": 40,
      "Width": 300,
      "Height": 150
    }, {
      "Type": "Image",
      "MediaURL": "http://ice-document-materials.oss-cn-shanghai.aliyuncs.com/test_media/image/g2.gif",
      "TimelineIn": 5,
      "Duration": 5,
      "X": 20,
      "Y": 800,
      "Width": 200,
      "Height": 200,
      "DyncFrames": 8
    }, {
      "Type": "Image",
      "MediaURL": "http://ice-document-materials.oss-cn-shanghai.aliyuncs.com/test_media/image/g1.gif",
      "TimelineIn": 10,
      "Duration": 5,
      "X": 400,
      "Y": 40,
      "Width": 200,
      "Height": 200,
      "DyncFrames": 8
    }]
  }]
}

Modes de mise à l'échelle

Le paramètre AdaptMode accepte les valeurs Contain, Cover et Fill. Consultez la référence VideoTrackClip pour plus de détails.

Effet final

Exemple de timeline

{
  "VideoTracks": [{
    "VideoTrackClips": [{
      "MediaURL": "http://ice-public-media.oss-cn-shanghai.aliyuncs.com/test_media/h1.mp4",
      "Width": 1,
      "Height": 0.3333,
      "X": 0,
      "Y": 0.3333,
      "AdaptMode": "Cover",
      "Out": 5
    },{
      "MediaURL": "http://ice-public-media.oss-cn-shanghai.aliyuncs.com/test_media/v1.mp4",
      "Width": 1,
      "Height": 0.3333,
      "X": 0,
      "Y": 0.3333,
      "AdaptMode": "Cover",
      "Out": 5
    }]
  },{
    "VideoTrackClips": [{
      "MediaURL": "http://ice-public-media.oss-cn-shanghai.aliyuncs.com/test_media/h1.mp4",
      "Width": 1,
      "Height": 0.3333,
      "X": 0,
      "Y": 0,
      "AdaptMode": "Contain",
      "Out": 5
    },{
      "MediaURL": "http://ice-public-media.oss-cn-shanghai.aliyuncs.com/test_media/v1.mp4",
      "Width": 1,
      "Height": 0.3333,
      "X": 0,
      "Y": 0,
      "AdaptMode": "Contain",
      "Out": 5
    }]
  },{
    "VideoTrackClips": [{
      "MediaURL": "http://ice-public-media.oss-cn-shanghai.aliyuncs.com/test_media/h1.mp4",
      "Width": 1,
      "Height": 0.3333,
      "X": 0,
      "Y": 0.6666,
      "AdaptMode": "Fill",
      "Out": 5
    },{
      "MediaURL": "http://ice-public-media.oss-cn-shanghai.aliyuncs.com/test_media/v1.mp4",
      "Width": 1,
      "Height": 0.3333,
      "X": 0,
      "Y": 0.6666,
      "AdaptMode": "Fill",
      "Out": 5
    }]
  }],
  "SubtitleTracks":[
    {
      "SubtitleTrackClips":[
        {
          "Type":"Text",
          "X": 0,
          "Y": 0,
          "Font": "AlibabaPuHuiTi",
          "Content": "AdaptMode=Cover: The content is scaled to fill the entire target area while maintaining its aspect ratio. If the object's aspect ratio does not match the content box, the object is cropped to fit.",
          "FontSize": 30,
          "FontColor": "#ffffff",
          "AdaptMode": "AutoWrap",
          "TextWidth": 1,
          "FontFace": {
            "Bold": true,
            "Italic": false,
            "Underline": false
          }
        }
      ]
    },
    {
      "SubtitleTrackClips":[
        {
          "Type":"Text",
          "X": 0,
          "Y": 0.3333,
          "Font": "AlibabaPuHuiTi",
          "Content": "AdaptMode=Contain: The content is scaled to fit within the target area while preserving its aspect ratio.",
          "FontSize": 30,
          "FontColor": "#ffffff",
          "AdaptMode": "AutoWrap",
          "TextWidth": 1,
          "FontFace": {
            "Bold": true,
            "Italic": false,
            "Underline": false
          }
        }
      ]
    },
    {
      "SubtitleTrackClips":[
        {
          "Type":"Text",
          "X": 0,
          "Y": 0.6666,
          "Font": "AlibabaPuHuiTi",
          "Content": "AdaptMode=Fill: This is the default behavior. The content is sized to fill the target content box exactly. The entire object completely fills the box. If the object's aspect ratio does not match the content box, the object is stretched to fit.",
          "FontSize": 30,
          "FontColor": "#ffffff",
          "AdaptMode": "AutoWrap",
          "TextWidth": 1,
          "FontFace": {
            "Bold": true,
            "Italic": false,
            "Underline": false
          }
        }
      ]
    }
  ]
}

Incrustation vidéo (Picture-in-picture)

Dans VideoTracks, les pistes situées plus bas dans la liste possèdent un niveau de calque supérieur et recouvrent les pistes précédentes.

Effet final

Exemple de timeline

{
  "VideoTracks": [{
    "VideoTrackClips": [{
      "MediaURL": "http://ice-document-materials.oss-cn-shanghai.aliyuncs.com/test_media/v1.mp4"
    }]
  },{
    "VideoTrackClips": [{
      "MediaURL": "http://ice-document-materials.oss-cn-shanghai.aliyuncs.com/test_media/v1.mp4",
      "X": 0.25,
      "Y": 0,25,
      "Width": 0,5,
      "Height": 0,5
    }]
  }]
}

Retournements horizontal et vertical

Effet final

Exemple de timeline

{
  "VideoTracks": [
    {
      "VideoTrackClips": [
        {
          "MediaURL": "http://ice-public-media.oss-cn-shanghai.aliyuncs.com/test_media/h3.mp4",
          "Width": 0,5,
          "Height": 0,5,
          "X": 0,
          "Y": 0,
          "Effects": [
            {
              "Type": "Text",
              "FixedX": 0,
              "FixedY": 0,
              "Font": "HappyZcool-2016",
              "Content": "Original video",
              "Alignment": "TopLeft",
              "FontSize": 80,
              "FontColor": "#F5FFFA",
              "TimelineIn": 0,
              "TimelineOut": 10,
              "Outline": 1,
              "OutlineColour": "#0e0100"
            }
          ]
        }
      ]
    },
    {
      "VideoTrackClips": [
        {
          "MediaURL": "http://ice-public-media.oss-cn-shanghai.aliyuncs.com/test_media/h3.mp4",
          "Width": 0,5,
          "Height": 0,5,
          "X": 0,5,
          "Y": 0,
          "Effects": [
            {
              "Type": "Flip",
              "Direction": "horizontal"
            },{
              "Type": "Text",
              "FixedX": 0,5,
              "FixedY": 0,
              "Font": "HappyZcool-2016",
              "Content": "Horizontal flip",
              "Alignment": "TopLeft",
              "FontSize": 80,
              "FontColor": "#F5FFFA",
              "TimelineIn": 0,
              "TimelineOut": 10,
              "Outline": 1,
              "OutlineColour": "#0e0100"
            }
          ]
        }
      ]
    },
    {
      "VideoTrackClips": [
        {
          "MediaURL": "http://ice-public-media.oss-cn-shanghai.aliyuncs.com/test_media/h3.mp4",
          "Width": 0,5,
          "Height": 0,5,
          "X": 0,
          "Y": 0,5,
          "Effects": [
            {
              "Type": "Flip",
              "Direction": "vertical"
            },{
              "Type": "Text",
              "FixedX": 0,
              "FixedY": 0,5,
              "Font": "HappyZcool-2016",
              "Content": "Vertical flip",
              "Alignment": "TopLeft",
              "FontSize": 80,
              "FontColor": "#F5FFFA",
              "TimelineIn": 0,
              "TimelineOut": 10,
              "Outline": 1,
              "OutlineColour": "#0e0100"
            }
          ]
        }
      ]
    },
    {
      "VideoTrackClips": [
        {
          "MediaURL": "http://ice-public-media.oss-cn-shanghai.aliyuncs.com/test_media/h3.mp4",
          "Width": 0,5,
          "Height": 0,5,
          "X": 0,5,
          "Y": 0,5,
          "Effects": [
            {
              "Type": "Flip",
              "Direction": "horizontal"
            },{
              "Type": "Flip",
              "Direction": "vertical"
            },{
              "Type": "Text",
              "FixedX": 0,5,
              "FixedY": 0,5,
              "Font": "HappyZcool-2016",
              "Content": "Horizontal and vertical flip",
              "Alignment": "TopLeft",
              "FontSize": 80,
              "FontColor": "#F5FFFA",
              "TimelineIn": 0,
              "TimelineOut": 10,
              "Outline": 1,
              "OutlineColour": "#0e0100"
            }
          ]
        }
      ]
    }
  ]
}

Recadrer une vidéo

Effet final

Exemple de timeline

{
  "VideoTracks": [{
    "VideoTrackClips": [{
      "MediaURL": "http://ice-document-materials.oss-cn-shanghai.aliyuncs.com/test_media/v1.mp4",
      "Out": 3,
      "X": 0,3,
      "Y": 0.3,
      "Width":0.4,
      "Height":0.4,
      "Effects": [{
        "Type":"Crop",
        "X":0.3,
        "Y":0.3,
        "Width":0.4,
        "Height":0.4
      },{
        "Type": "Text",
        "Font": "HappyZcool-2016",
        "Content": "Crop by 60%",
        "FixedY": 150,
        "Alignment": "TopCenter",
        "FixedFontSize": 70,
        "FontColor": "#F5FFFA",
        "Outline": 1,
        "OutlineColour": "#0e0100"
      }]
    },{
      "MediaURL": "http://ice-document-materials.oss-cn-shanghai.aliyuncs.com/test_media/v1.mp4",
      "In": 3,
      "Out": 6,
      "X": 0,15,
      "Y": 0.15,
      "Width":0.7,
      "Height":0.7,
      "Effects": [{
        "Type":"Crop",
        "X":0.15,
        "Y":0.15,
        "Width":0.7,
        "Height":0.7
      },{
        "Type": "Text",
        "Font": "HappyZcool-2016",
        "Content": "Crop by 30%",
        "FixedY": 150,
        "Alignment": "TopCenter",
        "FixedFontSize": 70,
        "FontColor": "#F5FFFA",
        "Outline": 1,
        "OutlineColour": "#0e0100"
      }]
    },{
      "MediaURL": "http://ice-document-materials.oss-cn-shanghai.aliyuncs.com/test_media/v1.mp4",
      "In": 6,
      "Out": 9,
      "Effects": [{
        "Type": "Text",
        "Font": "HappyZcool-2016",
        "Content": "No crop",
        "FixedY": 150,
        "Alignment": "TopCenter",
        "FixedFontSize": 70,
        "FontColor": "#F5FFFA",
        "Outline": 1,
        "OutlineColour": "#0e0100"
      }]
    }]
  }]
}

Modifier la vitesse de lecture audio et vidéo

Les AudioTrackClips prennent également en charge le paramètre Speed pour contrôler la vitesse de lecture.

Résultat final

Exemple de timeline

{
  "VideoTracks": [{
    "VideoTrackClips": [{
      "MediaURL": "http://ice-public-media.oss-cn-shanghai.aliyuncs.com/test_media/h2.mp4",
      "Out": 3,
      "Effects": [{
        "Type": "Text",
        "Font": "HappyZcool-2016",
        "Content": "Original speed",
        "FixedY": 150,
        "Alignment": "TopCenter",
        "FixedFontSize": 70,
        "FontColor": "#F5FFFA"
      }]
    },{
      "MediaURL": "http://ice-public-media.oss-cn-shanghai.aliyuncs.com/test_media/h2.mp4",
      "Speed": 2,
      "Out": 6,
      "Effects": [{
        "Type": "Text",
        "Font": "HappyZcool-2016",
        "Content": "2x speed",
        "FixedY": 150,
        "Alignment": "TopCenter",
        "FixedFontSize": 70,
        "FontColor": "#F5FFFA"
      }]
    },{
      "MediaURL": "http://ice-public-media.oss-cn-shanghai.aliyuncs.com/test_media/h2.mp4",
      "Speed": 3,
      "Out": 9,
      "Effects": [{
        "Type": "Text",
        "Font": "HappyZcool-2016",
        "Content": "3x speed",
        "FixedY": 150,
        "Alignment": "TopCenter",
        "FixedFontSize": 70,
        "FontColor": "#F5FFFA"
      }]
    }]
  }]
}

Appliquer une rotation à un média

Résultat final

Exemple de timeline

{
  "VideoTracks": [{
    "VideoTrackClips": [{
      "MediaURL": "http://ice-public-media.oss-cn-shanghai.aliyuncs.com/test_media/h2.mp4",
      "Out": 3,
      "Effects": [{
        "Type": "Text",
        "Font": "HappyZcool-2016",
        "Content": "Original angle",
        "FixedY": 150,
        "Alignment": "TopCenter",
        "FixedFontSize": 70,
        "FontColor": "#F5FFFA",
        "Outline": 1,
        "OutlineColour": "#0e0100"
      }]
    },{
      "MediaURL": "http://ice-public-media.oss-cn-shanghai.aliyuncs.com/test_media/h2.mp4",
      "Out": 3,
      "X": 0,
      "Y": 0,
      "Height": 720,
      "Width": 1280,
      "Effects": [{
        "Type": "Rotate",
        "Degree": 90
      },{
        "Type": "Text",
        "Font": "HappyZcool-2016",
        "Content": "Rotate 90 degrees",
        "FixedY": 150,
        "Alignment": "TopCenter",
        "FixedFontSize": 70,
        "FontColor": "#F5FFFA",
        "Outline": 1,
        "OutlineColour": "#0e0100"
      }]
    },{
      "MediaURL": "http://ice-public-media.oss-cn-shanghai.aliyuncs.com/test_media/h2.mp4",
      "Out": 3,
      "Effects": [{
        "Type": "Rotate",
        "Degree": 180
      },{
        "Type": "Text",
        "Font": "HappyZcool-2016",
        "Content": "Rotate 180 degrees",
        "FixedY": 150,
        "Alignment": "TopCenter",
        "FixedFontSize": 70,
        "FontColor": "#F5FFFA",
        "Outline": 1,
        "OutlineColour": "#0e0100"
      }]
    },{
      "MediaURL": "http://ice-public-media.oss-cn-shanghai.aliyuncs.com/test_media/h2.mp4",
      "Out": 3,
      "X": 0,
      "Y": 0,
      "Height": 720,
      "Width": 1280,
      "Effects": [{
        "Type": "Rotate",
        "Degree": 270
      },{
        "Type": "Text",
        "Font": "HappyZcool-2016",
        "Content": "Rotate 270 degrees",
        "FixedY": 150,
        "Alignment": "TopCenter",
        "FixedFontSize": 70,
        "FontColor": "#F5FFFA",
        "Outline": 1,
        "OutlineColour": "#0e0100"
      }]
    }]
  }]
}

Masques circulaires, rectangulaires, linéaires et miroir

Résultat final

Exemple de timeline

{
    "VideoTracks": [
        {
            "VideoTrackClips": [
                {
                    "MediaUrl": "https://ice-document-materials.oss-cn-shanghai.aliyuncs.com/test_media/h2.mp4",
                    "Width": 1,
                    "Height": 1,
                    "In": 0,
                    "Out": 5,
                    "AdaptMode": "Cover",
                    "Duration": 10
                }
            ]
        },
        {
            "VideoTrackClips": [
                {
                    "MediaURL": "https://ice-document-materials.oss-cn-shanghai.aliyuncs.com/test_media/v1.mp4",
                    "X": 0,1,
                    "Y": 0,1,
                    "Width": 0,3,
                    "Height": 0,3,
                    "AdaptMode": "Cover",
                    "In": 0,
                    "Out": 5,
                    "Effects": [
                        {
                            "Type": "VFX",
                            "SubType": "mask_circle",
                            "ExtParams": "x=0.5,y=0.2,width=200.0,height=200.0,antialias=0.05"
                        }
                    ]
                }
            ]
        },
        {
            "VideoTrackClips": [
                {
                    "MediaURL": "https://ice-document-materials.oss-cn-shanghai.aliyuncs.com/test_media/v1.mp4",
                    "X": 0,5,
                    "Y": 0,1,
                    "Width": 0,3,
                    "Height": 0,3,
                    "AdaptMode": "Cover",
                    "In": 0,
                    "Out": 5,
                    "Effects": [
                        {
                            "Type": "VFX",
                            "SubType": "mask_linear",
                            "ExtParams": "x=0.5,y=0.2,antialias=0.1,angle=90.0"
                        }
                    ]
                }
            ]
        },
        {
            "VideoTrackClips": [
                {
                    "MediaURL": "https://ice-document-materials.oss-cn-shanghai.aliyuncs.com/test_media/v1.mp4",
                    "X": 0,1,
                    "Y": 0,5,
                    "Width": 0,3,
                    "Height": 0,3,
                    "AdaptMode": "Cover",
                    "In": 0,
                    "Out": 5,
                    "Effects": [
                        {
                            "Type": "VFX",
                            "SubType": "mask_minor",
                            "ExtParams": "x=0.5,y=0.4,size=0.6,angle=45.0"
                        }
                    ]
                }
            ]
        },
        {
            "VideoTrackClips": [
                {
                    "MediaURL": "https://ice-document-materials.oss-cn-shanghai.aliyuncs.com/test_media/v1.mp4",
                    "X": 0,5,
                    "Y": 0,5,
                    "Width": 0,3,
                    "Height": 0,3,
                    "AdaptMode": "Cover",
                    "In": 0,
                    "Out": 5,
                    "Effects": [
                        {
                            "Type": "VFX",
                            "SubType": "mask_rec",
                            "ExtParams": "x=0.5,y=200.0,width=200.0,height=200.0,radius=50.0,antialias=0.03"
                        }
                    ]
                }
            ]
        }
    ]
}

description des paramètres

  • Cercle (ellipse)

    type = mask_circle

    Paramètre

    Type

    Valeurs valides

    Valeur par défaut

    Description

    x

    float

    [0.0, largeur du média]

    0.5

    Coordonnée X du centre du masque au sein du média, par rapport au coin supérieur gauche du média.

    • Une valeur comprise entre 0,0 et 1,0 représente une coordonnée relative à la largeur du média.

    • Une valeur supérieure à 1,0 représente une valeur absolue en pixels.

    y

    float

    [0.0, hauteur du média]

    0.5

    Coordonnée Y du centre du masque au sein du média, par rapport au coin supérieur gauche du média.

    • Une valeur comprise entre 0,0 et 1,0 représente une coordonnée relative à la hauteur du média.

    • Une valeur supérieure à 1,0 représente une valeur absolue en pixels.

    width

    float

    [0.0, largeur du média]

    0.8

    Largeur du masque elliptique, par rapport à la largeur du média.

    • Une valeur comprise entre 0,0 et 1,0 représente une largeur relative à la largeur du média.

    • Une valeur supérieure à 1,0 représente une valeur absolue en pixels.

    height

    float

    [0.0, hauteur du média]

    0.8

    Hauteur du masque elliptique, par rapport à la hauteur du média.

    • Une valeur comprise entre 0,0 et 1,0 représente une hauteur relative à la hauteur du média.

    • Une valeur supérieure à 1,0 représente une valeur absolue en pixels.

    antialias

    float

    [0.0, 1,0]

    0.1

    Paramètre d'anticrénelage du masque elliptique. Une valeur plus élevée augmente le degré de lissage des bords.

    angle

    float

    [-9999.0, 9999.0]

    0.0

    Angle de rotation.

  • Rectangle

    type = mask_rec

    Paramètre

    Type

    Valeurs valides

    Valeur par défaut

    Description

    x

    float

    [0.0, largeur du média]

    0.5

    Coordonnée X du centre du masque rectangulaire au sein du média vidéo, par rapport au coin supérieur gauche du média.

    • Une valeur comprise entre 0,0 et 1,0 représente une coordonnée relative à la largeur du média.

    • Une valeur supérieure à 1,0 représente une valeur absolue en pixels.

    y

    float

    [0.0, hauteur du média]

    0.5

    Coordonnée Y du centre du masque rectangulaire au sein du média vidéo, par rapport au coin supérieur gauche du média.

    • Une valeur comprise entre 0,0 et 1,0 représente une coordonnée relative à la hauteur du média.

    • Une valeur supérieure à 1,0 représente une valeur absolue en pixels.

    width

    float

    [0.0, largeur du média]

    0.8

    Largeur du masque rectangulaire.

    • Une valeur comprise entre 0,0 et 1,0 représente une largeur relative à la largeur du média.

    • Une valeur supérieure à 1,0 représente une valeur absolue en pixels.

    height

    float

    [0.0, hauteur du média]

    0.8

    Hauteur du masque rectangulaire.

    • Une valeur comprise entre 0,0 et 1,0 représente une hauteur relative à la hauteur du média.

    • Une valeur supérieure à 1,0 représente une valeur absolue en pixels.

    antialias

    float

    [0.0, 1,0]

    0.1

    Paramètre d'anticrénelage du masque rectangulaire. Une valeur plus élevée augmente le degré de lissage des bords.

    radius

    float

    [0.0, la plus grande valeur entre la largeur et la hauteur du média]

    0.1

    Rayon de bordure du masque rectangulaire.

    • Une valeur comprise entre 0,0 et 1,0 représente un rayon relatif à la plus grande dimension (largeur ou hauteur) du média.

    • Une valeur supérieure à 1,0 représente une valeur absolue en pixels.

    angle

    float

    [-9999.0, 9999.0]

    0.0

    Angle de rotation.

  • Linéaire

    type = mask_linear

    Paramètre

    Type

    Valeurs valides

    Valeur par défaut

    Description

    x

    float

    [0.0, largeur du média]

    0.5

    Coordonnée X du point de référence central du masque linéaire au sein du média, par rapport au coin supérieur gauche du média.

    • Une valeur comprise entre 0,0 et 1,0 représente une coordonnée relative à la largeur du média.

    • Une valeur supérieure à 1,0 représente une valeur absolue en pixels.

    y

    float

    [0.0, hauteur du média]

    0.5

    Coordonnée Y du point de référence central du masque linéaire au sein du média vidéo, par rapport au coin supérieur gauche de la vidéo.

    • Une valeur comprise entre 0,0 et 1,0 représente une coordonnée relative à la hauteur du média.

    • Une valeur supérieure à 1,0 représente une valeur absolue en pixels.

    antialias

    float

    [0.0, 1,0]

    0.1

    Paramètre d'anticrénelage du masque linéaire. Une valeur plus élevée augmente le degré de lissage des bords.

    angle

    float

    [-9999.0, 9999.0]

    0.0

    Angle de rotation.

  • Miroir

    type = mask_minor

    Paramètre

    Type

    Valeurs valides

    Valeur par défaut

    Description

    x

    float

    [0.0, largeur du média]

    0.5

    Coordonnée X du point de référence central du masque miroir au sein du média, par rapport au coin supérieur gauche du média.

    • Une valeur comprise entre 0,0 et 1,0 représente une coordonnée relative à la largeur du média.

    • Une valeur supérieure à 1,0 représente une valeur absolue en pixels.

    y

    float

    [0.0, hauteur du média]

    0.5

    Coordonnée Y du point de référence central du masque miroir au sein du média, par rapport au coin supérieur gauche du média.

    • Une valeur comprise entre 0,0 et 1,0 représente une coordonnée relative à la hauteur du média.

    • Une valeur supérieure à 1,0 représente une valeur absolue en pixels.

    antialias

    float

    [0.0, 1,0]

    0.1

    Paramètre d'anticrénelage du masque miroir. Une valeur plus élevée augmente le degré de lissage des bords.

    angle

    float

    [-9999.0, 9999.0]

    0.0

    Angle de rotation.

Image fixe vidéo

Rogne la vidéo de 0 s à 3 s et ajoute une image fixe de 2 secondes.

Résultat final

Exemple de timeline

{
  "VideoTracks": [{
    "VideoTrackClips": [{
      "MediaURL": "http://ice-public-media.oss-cn-shanghai.aliyuncs.com/test_media/h2.mp4",
      "In": 0,
      "Out": 3,
      "Effects": [{
        "Type": "FreezeFrame",
        "Duration": 2
      }]
    }]
  }],
  "SubtitleTracks": [{
    "SubtitleTrackClips": [{
      "Type": "Text",
      "TimelineIn": 0,
      "TimelineOut": 3,
      "X": 0,
      "Y": 150,
      "Font": "HappyZcool-2016",
      "Content": "Trim material 0-3s",
      "Alignment": "TopCenter",
      "FontSize": 80,
      "FontColor": "#F5FFFA",
      "FontFace": {
        "Bold": true
      }
    }, {
      "Type": "Text",
      "TimelineIn": 0,
      "TimelineOut": 3,
      "X": 0,
      "Y": 150,
      "Font": "HappyZcool-2016",
      "Content": "Freeze frame 2s",
      "Alignment": "TopCenter",
      "FontSize": 80,
      "FontColor": "#F5FFFA",
      "FontFace": {
        "Bold": true
      }
    }]
  }]
}

Références