全部产品
Search
文档中心

ApsaraVideo VOD:Unggah Media

更新时间:Jul 06, 2025

SDK ApsaraVideo VOD menyediakan berbagai Operasi API untuk mengunggah media. Anda dapat memanggil operasi API ini untuk mengunggah file media ke ApsaraVideo VOD. Topik ini menjelaskan skenario penggunaan SDK ApsaraVideo VOD untuk Python dalam memanggil operasi API guna mengunggah file media, serta memberikan contoh kode.

Skenario

Penting

Topik ini hanya memberikan contoh pemanggilan operasi API, seperti operasi untuk mendapatkan kredensial unggah dan URL unggah. Tabel berikut menjelaskan skenario di mana operasi API dapat dipanggil untuk mengunggah file media.

Operasi API

Skenario

CreateUploadVideo

  • Jika Anda mengunggah file media dengan menggunakan SDK Object Storage Service (OSS), Anda harus menggunakan SDK ApsaraVideo VOD dan memanggil operasi untuk mendapatkan kredensial unggah dan URL unggah. URL dan kredensial yang diperoleh dienkripsi dalam Base64 dan harus didekode sebelum digunakan untuk menginisialisasi instance OSSClient. Untuk informasi lebih lanjut, lihat Unggah menggunakan SDK OSS. Topik tersebut memberikan kode contoh lengkap untuk mengunggah file media menggunakan SDK OSS untuk Java. Untuk informasi lebih lanjut tentang kode contoh dalam bahasa lainnya, lihat Unggah file media dengan memanggil API ApsaraVideo VOD.

  • Jika Anda mengunggah file media dari klien dengan menggunakan SDK unggah, Anda perlu mengintegrasikan SDK ApsaraVideo VOD dan memanggil operasi untuk mendapatkan atau memperbarui kredensial unggah dan URL unggah. Anda dapat menerbitkan URL dan kredensial ke klien tanpa perlu mendekodenya. Untuk informasi lebih lanjut, lihat Unggah dari klien.

RefreshUploadVideo

CreateUploadImage

CreateUploadAttachedMedia

UploadMediaByURL

  • Anda dapat memanggil operasi UploadMediaByURL untuk mengunggah file media menggunakan URL file sumber. Dengan cara ini, Anda tidak perlu mengunduh file media ke server atau perangkat Anda sebelum menggunakan SDK unggah untuk mengunggah file media ke ApsaraVideo VOD.

    Catatan

    Pekerjaan unggah berbasis URL bersifat asinkron. Setelah Anda mengirimkan pekerjaan unggah berbasis URL, mungkin memerlukan waktu beberapa jam, bahkan hari untuk menyelesaikannya.

  • Anda dapat memanggil operasi GetURLUploadInfos untuk menanyakan kemajuan pekerjaan unggah berbasis URL.

GetURLUploadInfos

RegisterMedia

  • Setelah Anda menambahkan Bucket OSS Anda ke ApsaraVideo VOD dan mengunggah file media ke bucket tersebut, Anda dapat memanggil operasi RegisterMedia untuk mendapatkan ID file. Setelah Anda mendaftarkan file media, Anda dapat mengirimkan pekerjaan transcoding atau snapshot untuk file media tersebut. Untuk informasi lebih lanjut, lihat Tambahkan bucket OSS buatan pengguna.

Prasyarat

  • SDK ApsaraVideo VOD telah diinstal. Untuk informasi lebih lanjut, lihat Instalasi.

  • SDK ApsaraVideo VOD telah diinisialisasi. Untuk informasi lebih lanjut, lihat Inisialisasi.

Catatan

Dalam contoh-contoh berikut, sepasang AccessKey digunakan untuk menginisialisasi SDK ApsaraVideo VOD.

Catatan Penggunaan

  • Dalam contoh ini, sepasang AccessKey digunakan untuk menginisialisasi instance klien.

  • Untuk informasi lebih lanjut tentang parameter permintaan dan respons dari operasi ini, kunjungi OpenAPI Explorer. Anda dapat mengklik API Documentations di bilah navigasi atas untuk melihat informasi terkait operasi API.

  • Topik ini memberikan kode contoh hanya untuk beberapa operasi API yang kompleks. Untuk mendapatkan kode contoh untuk operasi API lainnya, lakukan langkah-langkah berikut: Kunjungi Alibaba Cloud OpenAPI Explorer. Di panel navigasi di sebelah kiri, temukan operasi API yang ingin Anda dapatkan kode contohnya dan tentukan parameter yang diperlukan pada tab Parameters. Kemudian, klik Panggil Permintaan. Pada tab SDK Sample Code, pilih bahasa untuk melihat dan mengunduh kode contoh.

  • Topik ini menjelaskan cara menggunakan SDK ApsaraVideo VOD untuk Java V1.0 untuk memanggil operasi API. Jika Anda menggunakan SDK ApsaraVideo VOD untuk Java V2.0 untuk memanggil operasi API, tentukan V2.0 saat Anda mendapatkan kode contoh di Alibaba Cloud OpenAPI Explorer.image.png

Contoh Pemanggilan API

Mendapatkan URL dan Kredensial untuk Mengunggah File Media

Anda dapat memanggil operasi CreateUploadVideo untuk mendapatkan URL unggah dan kredensial unggah untuk mengunggah file media.

Klik CreateUploadVideo untuk mempelajari lebih lanjut tentang operasi ini.

Kode contoh:

from aliyunsdkvod.request.v20170321 import CreateUploadVideoRequest
def create_upload_video(clt):
    request = CreateUploadVideoRequest.CreateUploadVideoRequest()
    request.set_Title('Judul Video')
    request.set_FileName('/opt/video/sample/video_file.mp4')
    request.set_Description('Deskripsi Video')
    # URL gambar mini. Contoh: http://192.168.0.1/16/tps/TB1qnJ1PVXXXXXCXXXXXXXXXXXX-700-700.png.
    request.set_CoverURL('<URL Sampul Anda>')
    request.set_Tags('tag1,tag2')
    request.set_CateId(0)

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

try:
    clt = init_vod_client()
    uploadInfo = create_upload_video(clt)
    print(uploadInfo['UploadAuth'])
    print(json.dumps(uploadInfo, ensure_ascii=False, indent=4))

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

Perbarui Kredensial Unggah

Anda dapat memanggil operasi RefreshUploadVideo untuk memperbarui kredensial untuk mengunggah file media.

Klik RefreshUploadVideo untuk mempelajari lebih lanjut tentang operasi ini.

Kode contoh:

from aliyunsdkvod.request.v20170321 import RefreshUploadVideoRequest
def refresh_upload_video(clt, videoId):
    request = RefreshUploadVideoRequest.RefreshUploadVideoRequest()
    request.set_VideoId(videoId)
    request.set_accept_format('JSON')
    return json.loads(clt.do_action_with_exception(request))

try:
    clt = init_vod_client()
    uploadInfo = refresh_upload_video(clt, 'VideoId')
    print(json.dumps(uploadInfo, ensure_ascii=False, indent=4))

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

Mendapatkan URL dan Kredensial untuk Mengunggah Gambar

Anda dapat memanggil operasi CreateUploadImage untuk mendapatkan URL dan kredensial untuk mengunggah gambar.

Klik CreateUploadImage untuk mempelajari lebih lanjut tentang operasi ini.

Kode contoh:

from aliyunsdkvod.request.v20170321 import CreateUploadImageRequest
def create_upload_image(clt, imageType, imageExt):
    request = CreateUploadImageRequest.CreateUploadImageRequest()
    request.set_ImageType(imageType)
    request.set_ImageExt(imageExt)
    request.set_accept_format('JSON')
    return json.loads(clt.do_action_with_exception(request))

try:
    clt = init_vod_client()
    imageInfo = create_upload_image(clt, 'cover', 'jpg')
    print(json.dumps(imageInfo, ensure_ascii=False, indent=4))

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

Mendapatkan URL dan Kredensial untuk Mengunggah Aset Media Tambahan

Anda dapat memanggil operasi CreateUploadAttachedMedia untuk mendapatkan URL dan kredensial untuk mengunggah aset media tambahan.

Klik CreateUploadAttachedMedia untuk mempelajari lebih lanjut tentang operasi ini.

Kode contoh:

from aliyunsdkvod.request.v20170321 import CreateUploadAttachedMediaRequest
def create_upload_attached_media(clt):
    request = CreateUploadAttachedMediaRequest.CreateUploadAttachedMediaRequest()
    request.set_BusinessType("watermark");
    request.set_MediaExt("gif");
    request.set_Title("ini adalah sampel");
    request.set_accept_format('JSON')
    return json.loads(clt.do_action_with_exception(request))

try:
    clt = init_vod_client()
    uploadInfo = create_upload_attached_media(clt)
    print(uploadInfo['UploadAuth'])
    print(json.dumps(uploadInfo, ensure_ascii=False, indent=4))

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

Unggah Beberapa File Media Sekaligus Menggunakan URL File Sumber

Anda dapat memanggil operasi UploadMediaByURL untuk mengunggah beberapa file media sekaligus menggunakan URL file sumber.

Klik UploadMediaByURL untuk mempelajari lebih lanjut tentang operasi ini.

Kode contoh:

from aliyunsdkvod.request.v20170321 import UploadMediaByURLRequest
import sys,urllib
def upload_media_by_url(clt):
    request = UploadMediaByURLRequest.UploadMediaByURLRequest()
    # URL file sumber. Contoh: http://example-bucket-****.cn-shanghai.aliyuncs.com/sample1-****.mp4 dan http://example-bucket-****.cn-shanghai.aliyuncs.com/sample2-****.flv.
    urls = ["<URL1 Anda>",
            "URL2 Anda"]
    # Enkode url dan tambahkan metadata
    uploadUrls = []
    uploadMetadatas = []
    for url in urls:
        if sys.version_info[0] == 3:
            encodeUrl = urllib.parse.quote(url)
        else:
            encodeUrl = urllib.quote(url)
        uploadUrls.append(encodeUrl)
        uploadMetadatas.append({'SourceURL': encodeUrl, 'Title': 'Judul Sampel'})

    request.set_UploadURLs(','.join(uploadUrls))
    request.set_UploadMetadatas(json.dumps(uploadMetadatas))

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

try:
    clt = init_vod_client()
    uploadInfo = upload_media_by_url(clt)
    print(uploadInfo['UploadJobs'])
    print(json.dumps(uploadInfo, ensure_ascii=False, indent=4))

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

Menanyakan Informasi tentang Pekerjaan Unggah Berbasis URL

Anda dapat memanggil operasi GetURLUploadInfos untuk menanyakan informasi tentang pekerjaan unggah berbasis URL.

Kode contoh:

from aliyunsdkvod.request.v20170321 import GetURLUploadInfosRequest
import sys,urllib
def get_url_upload_infos(clt):
    request = GetURLUploadInfosRequest.GetURLUploadInfosRequest()
    # URL. Contoh: http://192.168.0.1/16/sample1-****.mp4 dan http://192.168.0.1/16/sample2-****.flv.
    urls = ["<URL1 Anda>",
            "<URL2 Anda>"]

    # Enkode URL.
    uploadUrls = []
    for url in urls:
        if sys.version_info[0] == 3:
            encodeUrl = urllib.parse.quote(url)
        else:
            encodeUrl = urllib.quote(url)
        uploadUrls.append(encodeUrl)

    # URL tempat Anda ingin mengunggah file media. Pisahkan beberapa URL dengan koma (,).
    request.set_UploadURLs(','.join(uploadUrls))

    # ID pekerjaan unggah berbasis URL.
    #request.set_JobIds("jobId1,jobId2")

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

try:
    clt = init_vod_client()
    res = get_url_upload_infos(clt)
    print(res['NonExists'])
    print(json.dumps(res, ensure_ascii=False, indent=4))

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

Daftarkan Aset Media

Anda dapat memanggil operasi RegisterMedia untuk mendaftarkan aset media.

Klik RegisterMedia untuk mempelajari lebih lanjut tentang operasi ini.

Kode contoh:

from aliyunsdkvod.request.v20170321 import RegisterMediaRequest
def register_media(clt):
    request = RegisterMediaRequest.RegisterMediaRequest()
    metadatas = []
    # URL file media. Contoh: https://192.168.0.1/16/vod_sample_****.mp4.
    metadatas.append({'FileURL':"<URL File Anda>", "Title":"Judul Sampel RegisterMedia"})
    request.set_RegisterMetadatas(json.dumps(metadatas))
    request.set_accept_format('JSON')
    return json.loads(clt.do_action_with_exception(request))

try:
    clt = init_vod_client()
    registerInfo = register_media(clt)
    print(registerInfo['RegisteredMediaList'])
    print(registerInfo['FailedFileURLs'])
    print(json.dumps(registerInfo, ensure_ascii=False, indent=4))

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