All Products
Search
Document Center

ApsaraVideo VOD:Pengeditan video

Last Updated:Jun 04, 2026

ApsaraVideo VOD menyediakan fitur pengeditan video daring untuk menggabungkan audio, video, dan teks menjadi video baru. Topik ini mencakup contoh Python SDK yang menunjukkan cara membuat dan mengelola proyek pengeditan daring serta mengirimkan pekerjaan produksi video.

Catatan Penggunaan

  • Semua contoh pemanggilan API dalam topik ini menggunakan AccessKey untuk menginisialisasi instans client.

  • Untuk informasi lengkap mengenai parameter permintaan dan respons dari operasi API ini, kunjungi Alibaba Cloud OpenAPI Explorer. Di halaman operasi API tersebut, buka tab API Documentations di sisi kanan.

  • Topik ini menyediakan contoh untuk beberapa operasi API tertentu. Untuk mendapatkan contoh kode SDK untuk operasi API lainnya, kunjungi Alibaba Cloud OpenAPI Explorer. Di tab Parameters, tentukan parameter yang diperlukan lalu lakukan pemanggilan. Setelah itu, di tab SDK Sample Code, pilih versi SDK dan bahasa target Anda untuk melihat serta mengunduh contoh kode.

  • Contoh dalam topik ini menggunakan SDK versi V1.0. Untuk mendapatkan contoh versi V2.0, pastikan Anda memilih versi SDK yang sesuai di Alibaba Cloud OpenAPI Explorer.image.png

Inisialisasi client

Inisialisasi client sebelum menggunakan SDK. Lihat Inisialisasi.

Kirim pekerjaan produksi video berdasarkan timeline

Panggil operasi ProduceEditingProjectVideo untuk mengirimkan pekerjaan produksi video berdasarkan timeline.

Metode ini berlaku untuk sebagian besar skenario produksi video.

OpenAPI Explorer: ProduceEditingProjectVideo.

Kode contoh:

Catatan

Untuk lebih banyak contoh pengeditan timeline dan pencampuran aliran, lihat Pengeditan Video - Contoh Penggunaan.

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

Kirim pekerjaan produksi video berdasarkan proyek pengeditan daring

Panggil operasi ProduceEditingProjectVideo untuk mengirimkan pekerjaan produksi video berdasarkan proyek pengeditan daring.

Gunakan metode ini ketika Anda perlu mengelola proyek pengeditan daring.

OpenAPI Explorer: ProduceEditingProjectVideo.

Kode contoh:

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

Buat proyek pengeditan daring

Panggil operasi AddEditingProject untuk membuat proyek pengeditan daring.

OpenAPI Explorer: AddEditingProject.

Kode contoh:

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

Ubah proyek pengeditan daring

Panggil operasi UpdateEditingProject untuk mengubah proyek pengeditan daring.

OpenAPI Explorer: UpdateEditingProject.

Kode contoh:

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

Hapus proyek pengeditan daring

Panggil operasi DeleteEditingProject untuk menghapus proyek pengeditan daring.

OpenAPI Explorer: DeleteEditingProject.

Kueri detail proyek pengeditan daring

Panggil operasi GetEditingProject untuk mengkueri detail proyek pengeditan daring.

OpenAPI Explorer: atau GetEditingProject.

Kueri proyek pengeditan daring

Panggil operasi SearchEditingProject untuk mencari proyek pengeditan daring.

OpenAPI Explorer: atau SearchEditingProject.

Tetapkan materi untuk proyek pengeditan daring

Panggil operasi SetEditingProjectMaterials untuk menetapkan materi pada proyek pengeditan daring.

OpenAPI Explorer: SetEditingProjectMaterials.

Kueri materi dalam proyek pengeditan daring

Panggil operasi GetEditingProjectMaterials untuk mengkueri materi dalam proyek pengeditan daring.

OpenAPI Explorer: GetEditingProjectMaterials.