Tüm Ürünler
Search
Belge Merkezi

ApsaraVideo VOD:Video düzenleme

Son Güncelleme:Oct 05, 2026

ApsaraVideo VOD çevrimiçi düzenleme; ses, video ve metni birleştirerek yeni videolar oluşturur. Bu konuda, düzenleme projeleri oluşturma ve yönetme ile prodüksiyon işleri gönderme amacıyla kullanılan Python SDK örnekleri sunulmaktadır.

Kullanım notları

  • Bu konudaki tüm örnekler, istemci örneğini başlatmak için bir AccessKey çifti kullanır.

  • İstek ve yanıt parametrelerinin ayrıntıları için Alibaba Cloud OpenAPI Explorer adresini ziyaret edin ve API Documentations sekmesini açın.

  • Diğer API işlemlerine ilişkin SDK örnekleri için Alibaba Cloud OpenAPI Explorer adresini ziyaret edin. Parameters sekmesinde parametreleri belirtin ve çağrıyı başlatın. Ardından kodu görüntülemek ve indirmek için SDK Sample Code sekmesinden SDK sürümünü ve dili seçin.

  • Bu konudaki örnekler SDK V1.0 kullanır. V2.0 örnekleri için OpenAPI Explorer'da doğru SDK sürümünü seçin.

İstemciyi başlatma

SDK'yı kullanmadan önce bir istemci başlatın. Başlatma.

Zaman çizelgesine dayalı video prodüksiyon işi gönderme

Zaman çizelgesine dayalı bir video prodüksiyon işi göndermek için ProduceEditingProjectVideo işlemini çağırın.

Çoğu video prodüksiyon senaryosu için uygundur.

OpenAPI Explorer: ProduceEditingProjectVideo.

Örnek kod:

Not

Daha fazla zaman çizelgesi düzenleme ve kompozisyon örneği için: Video Düzenleme - Kullanım Örnekleri.

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())

Çevrimiçi düzenleme projesine dayalı video prodüksiyon işi gönderme

Bir çevrimiçi düzenleme projesine dayalı video prodüksiyon işi göndermek için ProduceEditingProjectVideo işlemini çağırın.

Çevrimiçi düzenleme projelerini yönetmek için bu yöntemi kullanın.

OpenAPI Explorer: ProduceEditingProjectVideo.

Örnek kod:

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())

Çevrimiçi düzenleme projesi oluşturma

Bir çevrimiçi düzenleme projesi oluşturmak için AddEditingProject işlemini çağırın.

OpenAPI Explorer: AddEditingProject.

Örnek kod:

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())

Çevrimiçi düzenleme projesini değiştirme

Bir çevrimiçi düzenleme projesini değiştirmek için UpdateEditingProject işlemini çağırın.

OpenAPI Explorer: UpdateEditingProject.

Örnek kod:

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())

Çevrimiçi düzenleme projesini silme

Bir çevrimiçi düzenleme projesini silmek için DeleteEditingProject işlemini çağırın.

OpenAPI Explorer: DeleteEditingProject.

Çevrimiçi düzenleme projesinin ayrıntılarını sorgulama

Bir çevrimiçi düzenleme projesinin ayrıntılarını sorgulamak için GetEditingProject işlemini çağırın.

OpenAPI Explorer: veya GetEditingProject.

Çevrimiçi düzenleme projelerini sorgulama

Çevrimiçi düzenleme projelerini aramak için SearchEditingProject işlemini çağırın.

OpenAPI Explorer: veya SearchEditingProject.

Çevrimiçi düzenleme projesi için materyaller ayarlama

Bir çevrimiçi düzenleme projesi için materyaller ayarlamak üzere SetEditingProjectMaterials işlemini çağırın.

OpenAPI Explorer: SetEditingProjectMaterials.

Çevrimiçi düzenleme projesindeki materyalleri sorgulama

Bir çevrimiçi düzenleme projesindeki materyalleri sorgulamak için GetEditingProjectMaterials işlemini çağırın.

OpenAPI Explorer: GetEditingProjectMaterials.