All Products
Search
Document Center

ApsaraVideo VOD:Overview of media upload

Last Updated:Jun 13, 2025

Media upload is the process of registering media resources with ApsaraVideo VOD. This is a prerequisite for using other ApsaraVideo VOD services such as media asset management, media processing, and content delivery and playback. This topic describes the supported media formats, upload methods, upload settings, and usage notes for media assets in ApsaraVideo VOD.

Supported media formats

ApsaraVideo VOD allows you to upload various media files such as videos, audio files, images, and auxiliary media assets including watermark files, subtitle files, and material files. The files can be local files or online files (online files are uploaded by URL). The following table describes the supported file formats of each type of media asset.

Note

The file name extension must be included in the path of a media file to be uploaded to ApsaraVideo VOD. File name extensions are not case-sensitive. For example, both MP4 and mp4 are valid file name extensions.

Media type

Supported file formats

Video

  • MPEG formats: MP4, TS, 3GP, MPG, MPEG, MPE, DAT, VOB, and ASF.

  • AVI format: AVI.

  • Windows Media Video formats: WMV and ASF.

  • Flash Video formats: FLV and F4V.

  • Real Video formats: RM and RMVB.

  • QuickTime format: MOV.

  • Matroska format: MKV.

  • HLS format: M3U8.

    Note

    When you upload M3U8 files through the ApsaraVideo VOD console, you can only use the URL upload method. For local M3U8 files, you can use ApsaraVideo VOD API or SDK to upload them. For more information, see Upload media files by using ApsaraVideo VOD API.

  • Other formats: DV, GIF, M2T, M4V, MJ2, MJPEG, MTS, OGG, QT, SWF, and WEBM.

Audio

MP3, WMA, WAV, AAC, RA, M4A, FLAC, APE, AC3, AMR, CAF, and ACM.

Image

PNG, JPG, JPEG, GIF, and HEIC.

Auxiliary media asset

  • Watermark files: PNG, GIF, APNG, and MOV.

  • Subtitle files: SRT, ASS, STL, TTML, and VTT.

  • Material files: JPG, GIF, PNG, MP4, MAT, and ZIP.

Note

You can upload only the preceding types of media assets to ApsaraVideo VOD. For other file types, follow the steps provided in Upload files to OSS.

Upload methods

ApsaraVideo VOD provides manual upload and automated upload methods for different scenarios.

Upload method

Scenarios

Description

Manual upload

Upload files through the ApsaraVideo VOD console

The ApsaraVideo VOD console is a quick and convenient method to upload media files.

Note

The length of console sessions is controlled by security policies. When you upload large files that require a long time to complete, your console session may expire before the upload is complete. In this case, we recommend that you use a PC client to upload large files.

  • After you activate ApsaraVideo VOD, you can log on to the ApsaraVideo VOD console in a browser to upload media files.

  • You can upload audio and video files from your on-premises devices or by using the URLs of the files.

Upload files by using the Windows client

PC clients are suitable for uploading large files that take a long time to complete, or scenarios where you do not have strong requirements on production.

  • You must download and install a PC client. ApsaraVideo VOD provides PC clients for the Windows operating system.

  • Only local files can be uploaded.

Program Integration

Upload files by using upload SDKs

  • Scenarios in which you require automatic upload or you want to upload many video files.

  • Scenarios in which you want to upload online media files.

Note

We recommend that you use upload SDKs to upload media files. If upload SDKs of ApsaraVideo VOD do not support your preferred programming language, you can upload media files by using OSS SDKs.

  • Server upload SDKs encapsulate the logic of obtaining upload credentials and URLs in ApsaraVideo VOD and the upload capabilities of OSS. You can implement upload features with simple configurations.

  • Java, Python, PHP, and C or C++ are supported.

Upload files by using OSS SDKs

  • Scenarios in which you require automatic upload or you want to upload many video files.

  • Scenarios in which you want to upload online media files.

  • If you use OSS SDKs, you must implement all upload logic, including obtaining upload URLs and credentials from ApsaraVideo VOD, Base64-decoding the upload credentials and URLs, and calling OSS capabilities to complete the upload.

  • OSS SDKs support the Java, Python, PHP, .NET, Node.js, C, C++, and Go programming languages.

    Note

    We recommend that you use upload SDKs if you use the Java, Python, PHP, C, or C++ programming language.

Upload files by URL

Scenarios in which you want to upload files that are not stored on your on-premises server or terminal but can be accessed by using public URLs.

  • You can upload files only to the China (Shanghai) and Singapore regions.

  • You cannot upload local files.

Comparison of features supported by different upload methods

The following table describes the features that are supported by different upload methods during upload:

Group

Feature

Console

PC client

Upload from servers

Upload from clients

UploadMediaByURL

Upload media files by using OSS SDKs

Upload OSS objects

Resource Management

Set the title of a media asset

Support

Support

Support

Support

Support

Support

Support

Set the category of a media asset

Support

Support

Support

Support

Support

Support

Support

Set the tags of a media asset

Not supported

Support

Support

Support

Support

Support

Support

Set the thumbnail of a video file

Not supported

Not supported

Support

Support

Support

Support

Support

Audio and video transcoding

Transcoding template group

Support

Support

Support

Support

Support

Support

Support

Workflow

Support

Not supported

Support

Support

Support

Support

Support

Disable transcoding

Support

Support

Support

Support

Support

Support

Support

Upload control

Obtain the upload progress

Support

Support

Support

Support

Support

Support

Support

Perform resumable upload

Not supported

Not supported

Only the upload SDK for Java supports this feature

Support

Not supported

Only OSS SDK for Java supports this feature

Not supported

Perform multipart upload

Enabled by default

Enabled by default

Enabled by default

Enabled by default

Enabled by default

Enabled by default

Enabled by default

Audio and video transcoding

You can specify a transcoding template group or a media workflow to transcode audio and video files when you configure upload settings. Transcoding is automatically triggered after the upload is complete. You can also disable transcoding. However, note that only files in the following formats can be played without transcoding: MP4, FLV, M3U8, MP3, and WEBM.

  • Specify a transcoding template group: Specifying a transcoding template group is the default processing method of ApsaraVideo VOD. You can select Transcoding Template Group when you configure upload settings. Transcoding is automatically triggered after the upload is complete.

  • Specify a media workflow: After you create a media workflow that contains transcoding tasks, you can select Media Workflow when you configure upload settings. After the upload is complete, ApsaraVideo VOD automatically runs the specified media workflow to complete the transcoding jobs.

  • Disable transcoding: If you do not need to transcode files during upload, you can select the No Transcoding template in the transcoding template group.

Upload control

  • Perform multipart upload: ApsaraVideo VOD splits a media file into multiple parts during upload and combines the uploaded parts together after the upload is complete. By default, all media files are uploaded to ApsaraVideo VOD in multipart upload mode.

    Note

    During multipart upload, useless parts may be retained if the upload fails. These useless parts are automatically deleted after seven days. You can also call the DeleteMultipartUpload operation to manually delete useless parts.

  • Obtain the upload progress and status.

  • Perform resumable upload. If the upload of a media file fails due to network errors, ApsaraVideo VOD resumes the upload from the last successfully uploaded part.

    Note

    Resumable upload is implemented inside the client upload SDK. If a media file fails to be uploaded due to an exception, the upload is resumed from the recorded position without user interference.

Storage

Storage regions

ApsaraVideo VOD stores media assets in Object Storage Service (OSS). The storage nodes of ApsaraVideo VOD are globally distributed. Each storage node represents a storage region. Each storage region is assigned a storage address by ApsaraVideo VOD.

Storage address

Note

ApsaraVideo VOD does not allow cross-region data access, even if the data belongs to the same account. Before you upload media files, make sure that you are uploading media files to the region in which your business is located. Otherwise, you may not be able to use the media files in the intended location.

Storage address setting

Description

Enable VOD system storage address

After you activate ApsaraVideo VOD, you are assigned an independent bucket in each region. You must enable the bucket before you can upload and manage media resources in a region. Other configurations are not required. For more information, see Manage storage buckets.

Add a storage address

You can add OSS buckets to ApsaraVideo VOD. This way, you can perform operations such as transcoding, snapshot capture, and playback on media files that are stored in the OSS buckets. For more information, see Manage storage buckets.

Change the default storage address

After you enable storage addresses in multiple regions, you can change the default storage address. You can specify a storage address for a media file to be uploaded. If you do not specify the storage address, the media file is uploaded to the default storage address. For more information, see Manage storage buckets.

The following table describes the storage regions that ApsaraVideo VOD supports and the corresponding region IDs.

Note

URL-based pull upload When you upload media files by using the ApsaraVideo VOD console or PC clients, the system uses the storage address in the region where you access the ApsaraVideo VOD service. When you upload media files by using SDKs or API operations, you can specify a storage address by using a parameter, such as the StorageLocation parameter in the UploadMediaByURL operation.

Storage region

Region ID

China (Shanghai)

cn-shanghai

China (Beijing)

cn-beijing

China (Shenzhen)

cn-shenzhen

China (Hong Kong)

cn-hongkong

Japan (Tokyo)

ap-northeast-1

Singapore

ap-southeast-1

Indonesia (Jakarta)

ap-southeast-5

Germany (Frankfurt)

eu-central-1

US (Silicon Valley)

us-west-1

Billing for stored data

ApsaraVideo VOD charges you for consumed storage resources based on the pay-as-you-go or subscription billing method (resource plan).

Upload event notifications

You can configure callbacks to receive event notifications about the upload progress and status after you upload media files. ApsaraVideo VOD allows you to configure HTTP or HTTPS and Message Service (MNS) callbacks to obtain event notifications. For more information about callbacks, see Event notification. For more information about how to configure callbacks, see Configure callbacks. All upload methods support event notifications. The following table describes the upload events.

Note

For more information about each event, see Event notification.

Event name

Event type

Description

FileUploadComplete

FileUploadComplete

The FileUploadComplete event is generated when the upload of audio and video files is complete.

Note

For audio and video files that are not transcoded, you can obtain the playback URL after you receive the FileUploadComplete event notification.

If you disable transcoding during upload, you can call the SubmitTranscodeJobs operation to transcode the files after you receive the FileUploadComplete event notification.

ImageUploadComplete

ImageUploadComplete

The ImageUploadComplete event is generated when the upload of image files is complete.

AttachedMediaUploadComplete

AttachedMediaUploadComplete

The AttachedMediaUploadComplete event is generated when the upload of auxiliary media assets is complete.

UploadByURLComplete

UploadByURLComplete

The UploadByURLComplete event is generated after you call the UploadMediaByURL operation to upload videos by URL.

StreamTranscodeComplete

StreamTranscodeComplete

The StreamTranscodeComplete event is generated when a video stream is transcoded to a specific definition and format, such as an SD stream in the MP4 format.

Note

For transcoded audio and video files, you can obtain the playback URL after you receive the StreamTranscodeComplete event notification. Playback failures may occur if you play a video file before a callback is received.

TranscodeComplete

TranscodeComplete

The TranscodeComplete event is generated when all transcoded streams of a video are generated.

Note

If you want to make sure that all definitions are available before playback, you can wait until you receive the TranscodeComplete event notification. Playback failures may occur if you play an audio or video file before a callback is received.

Upload authorization

In developer upload scenarios, you can use upload credentials or Security Token Service (STS) tokens to resolve authorization and security issues during upload. This prevents unauthorized upload and playback of media files.

Upload acceleration

ApsaraVideo VOD provides the upload acceleration feature to speed up file transfer over a long distance and upload of files of gigabytes or terabytes in size. Upload acceleration is suitable for cross-region upload, such as uploading files from the Chinese mainland to the Singapore region.

Activation

To activate the upload acceleration feature, submit a ticket. You need to provide your Alibaba Cloud Account UID and the Storage Address for which you want to enable upload acceleration.

Billing

You are charged for using the upload acceleration feature, which is a value-added feature provided by ApsaraVideo VOD. For more information about billing, see Billing for transfer acceleration.

Note

No fees are charged if you enable upload acceleration but do not use the feature.

Limits

Only uploading files through the ApsaraVideo VOD console does not support upload acceleration. All other upload methods support upload acceleration.

What to do next

Note

After media files are uploaded to ApsaraVideo VOD, they are in different statuses based on the processing progress. Media files in different statuses support different operations in ApsaraVideo VOD. For example, audio and video files in the Uploading, Upload Failed, or Blocked status can only be deleted. You cannot perform other operations such as transcoding, snapshot capture, and media review on these files. Audio and video files in the Normal status support all operations, including transcoding, snapshot capture, media review, and playback. For more information about media statuses, see Status: video status and Status: image status.

The following table describes the usage notes for the features of ApsaraVideo VOD that are related to uploaded media files.

ApsaraVideo VOD service

Description

References

Media asset management (after upload)

You can manage uploaded media files such as source video files, transcoded stream files, and image files in ApsaraVideo VOD.

Media asset management

Media processing

ApsaraVideo VOD supports audio and video transcoding, automated review, online editing, and AI processing for uploaded media files.

Note

ApsaraVideo VOD automatically extracts metadata (such as video resolution, duration, and bitrate) from uploaded audio and video files. For videos, ApsaraVideo VOD also automatically captures thumbnails and sprites. These pre-processing operations are free of charge.

Media processing

Audio and video playback

After audio and video files are uploaded, they are not immediately ready for playback. ApsaraVideo VOD needs to confirm that the audio and video files are received. You can determine whether the audio and video files are ready for playback by checking event notifications.

  • For audio and video files that are not transcoded, you can obtain the playback URL after you receive the FileUploadComplete event notification.

  • For transcoded audio and video files, you can obtain the playback URL after you receive the StreamTranscodeComplete event notification. If you want to make sure that all definitions are available before playback, you can wait until you receive the TranscodeComplete event notification.