Tous les produits
Search
Centre de documentation

ApsaraVideo VOD:Montage vidéo

Dernière mise à jour :Aug 10, 2026

Le montage en ligne d'ApsaraVideo VOD combine l'audio, la vidéo et le texte pour créer de nouvelles vidéos. Cette rubrique fournit des exemples de code du SDK Python pour créer et gérer des projets de montage, ainsi que pour soumettre des tâches de production.

Remarques sur l'utilisation

  • Tous les exemples de cette rubrique utilisent une paire AccessKey pour initialiser une instance de client.

  • Pour obtenir des détails sur les paramètres de requête et de réponse, consultez Alibaba Cloud OpenAPI Explorer et ouvrez l'onglet API Documentations.

  • Pour consulter des exemples de SDK pour d'autres opérations d'API, rendez-vous sur Alibaba Cloud OpenAPI Explorer. Dans l'onglet Parameters, spécifiez les paramètres et lancez l'appel. Sélectionnez ensuite la version du SDK et le langage dans l'onglet SDK Sample Code pour afficher et télécharger le code.

  • Les exemples de cette rubrique utilisent le SDK V1.0. Pour les exemples V2.0, sélectionnez la version correcte du SDK dans OpenAPI Explorer.

Initialiser un client

Initialisez un client avant d'utiliser le SDK. Consultez la section Initialisation.

Soumettre une tâche de production vidéo basée sur une timeline

Appelez l'opération ProduceEditingProjectVideo pour soumettre une tâche de production vidéo basée sur une timeline.

Cette méthode s'applique à la plupart des scénarios de production vidéo.

OpenAPI Explorer : ProduceEditingProjectVideo.

Exemple de code :

Remarque

Pour plus d'exemples de montage et de composition basés sur une timeline, consultez la section Montage vidéo - Exemples d'utilisation.

from aliyunsdkvod.request.v20170321 import ProduceEditingProjectVideoRequest
def produce_editing_video(clt):
    request = ProduceEditingProjectVideoRequest.ProduceEditingProjectVideoRequest()

    # set timeline, this sample shows how to merge two videos
    videoTrackClips = []
    videoTracks = []
    timeline = {}
    videoTrackClip1 = {'MediaId': '<videoId1>'}
    videoTrackClips.append(videoTrackClip1)
    videoTrackClip2 = {'MediaId': '<videoId2>'}
    videoTrackClips.append(videoTrackClip2)
    videoTrack = {'VideoTrackClips': videoTrackClips}
    videoTracks.append(videoTrack)
    timeline['VideoTracks'] = videoTracks
    request.set_Timeline(json.dumps(timeline))

    # set media metadata
    # CoverURL example: http://example.aliyundoc.com/media/cover/mediaid****.jpg
    mediaMetadata = {'Title': 'editing sample title', 'Description': 'editing sample description', 'Tags': 'Tag1,Tag2,Test',
                     'CoverURL': '<your Cover URL>'}
    request.set_MediaMetadata(json.dumps(mediaMetadata))

    # set produce config
    produceConfig = {'TemplateGroupId': '<templateGroupId>'}
    #request.set_ProduceConfig(json.dumps(produceConfig))

    request.set_accept_format('JSON')
    response = json.loads(clt.do_action_with_exception(request))
    return response

try:
    clt = init_vod_client()
    produce = produce_editing_video(clt)
    print(produce['MediaId'])
    print(json.dumps(produce, ensure_ascii=False, indent=4))

except Exception as e:
    print(e)
    print(traceback.format_exc())

Soumettre une tâche de production vidéo basée sur un projet de montage en ligne

Appelez l'opération ProduceEditingProjectVideo pour soumettre une tâche de production vidéo basée sur un projet de montage en ligne.

Utilisez cette méthode pour gérer les projets de montage en ligne.

OpenAPI Explorer : ProduceEditingProjectVideo.

Exemple de code :

from aliyunsdkvod.request.v20170321 import ProduceEditingProjectVideoRequest
def produce_editing_video_by_id(clt):
    request = ProduceEditingProjectVideoRequest.ProduceEditingProjectVideoRequest()

    # set ProjectId
    request.set_ProjectId('<ProjectId>')

    # set media metadata
    mediaMetadata = {'Title': 'editing sample title by ProjectId', 'Description': 'editing sample description by ProjectId',
                     'Tags': 'Tag1,Tag2,Test'}
    request.set_MediaMetadata(json.dumps(mediaMetadata))

    # set produce config
    produceConfig = {'TemplateGroupId': '<templateGroupId>'}
    #request.set_ProduceConfig(json.dumps(produceConfig))

    request.set_accept_format('JSON')
    response = json.loads(clt.do_action_with_exception(request))
    return response

try:
    clt = init_vod_client()
    produce = produce_editing_video_by_id(clt)
    print(produce['MediaId'])
    print(json.dumps(produce, ensure_ascii=False, indent=4))

except Exception as e:
    print(e)
    print(traceback.format_exc())

Créer un projet de montage en ligne

Appelez l'opération AddEditingProject pour créer un projet de montage en ligne.

OpenAPI Explorer : AddEditingProject.

Exemple de code :

from aliyunsdkvod.request.v20170321 import AddEditingProjectRequest
def add_editing_project(clt):
    request = AddEditingProjectRequest.AddEditingProjectRequest()

    # set timeline, this sample shows how to merge two videos
    videoTrackClips = []
    videoTracks = []
    timeline = {}
    videoTrackClip1 = {'MediaId': '<videoId1>'}
    videoTrackClips.append(videoTrackClip1)
    videoTrackClip2 = {'MediaId': '<videoId2>'}
    videoTrackClips.append(videoTrackClip2)
    videoTrack = {'VideoTrackClips': videoTrackClips}
    videoTracks.append(videoTrack)
    timeline['VideoTracks'] = videoTracks
    request.set_Timeline(json.dumps(timeline))

    # set project metadata
    request.set_Title('editing project title')
    request.set_Description('editing project description')

    request.set_accept_format('JSON')
    response = json.loads(clt.do_action_with_exception(request))
    return response

try:
    clt = init_vod_client()
    project = add_editing_project(clt)
    print(project['Project'])
    print(json.dumps(project, ensure_ascii=False, indent=4))

except Exception as e:
    print(e)
    print(traceback.format_exc())

Modifier un projet de montage en ligne

Appelez l'opération UpdateEditingProject pour modifier un projet de montage en ligne.

OpenAPI Explorer : UpdateEditingProject.

Exemple de code :

from aliyunsdkvod.request.v20170321 import UpdateEditingProjectRequest
def update_editing_project(clt):
    request = UpdateEditingProjectRequest.UpdateEditingProjectRequest()

    # set projectId
    request.set_ProjectId('<projectId>')

    # set timeline, this sample shows how to merge two videos
    videoTrackClips = []
    videoTracks = []
    timeline = {}
    videoTrackClip1 = {'MediaId': '<videoId1>'}
    videoTrackClips.append(videoTrackClip1)
    videoTrackClip2 = {'MediaId': '<videoId2>'}
    videoTrackClips.append(videoTrackClip2)
    videoTrack = {'VideoTrackClips': videoTrackClips}
    videoTracks.append(videoTrack)
    timeline['VideoTracks'] = videoTracks
    request.set_Timeline(json.dumps(timeline))

    # set project metadata
    request.set_Title('new editing project title')
    request.set_Description('new editing project description')

    request.set_accept_format('JSON')
    response = json.loads(clt.do_action_with_exception(request))
    return response

try:
    clt = init_vod_client()
    res = update_editing_project(clt)
    print(json.dumps(res, ensure_ascii=False, indent=4))

except Exception as e:
    print(e)
    print(traceback.format_exc())

Supprimer un projet de montage en ligne

Appelez l'opération DeleteEditingProject pour supprimer un projet de montage en ligne.

OpenAPI Explorer : DeleteEditingProject.

Consulter les détails d'un projet de montage en ligne

Appelez l'opération GetEditingProject pour consulter les détails d'un projet de montage en ligne.

OpenAPI Explorer : ou GetEditingProject.

Rechercher des projets de montage en ligne

Appelez l'opération SearchEditingProject pour rechercher des projets de montage en ligne.

OpenAPI Explorer : ou SearchEditingProject.

Définir les éléments multimédias d'un projet de montage en ligne

Appelez l'opération SetEditingProjectMaterials pour définir les éléments multimédias d'un projet de montage en ligne.

OpenAPI Explorer : SetEditingProjectMaterials.

Consulter les éléments multimédias d'un projet de montage en ligne

Appelez l'opération GetEditingProjectMaterials pour consulter les éléments multimédias d'un projet de montage en ligne.

OpenAPI Explorer : GetEditingProjectMaterials.