全部產品
Search
文件中心

ApsaraVideo VOD:下載媒體檔案

更新時間:Feb 07, 2026

將ApsaraVideo for VOD(VOD)中的音視頻、圖片等媒體檔案下載至本地,是媒資管理、內容分發和離線播放等情境的常見需求。本文介紹了通過控制台、API/SDK以及移動端SDK等多種方式,快速、安全、經濟地擷取媒體檔案下載地址並完成下載的完整方法。

適用情境

  • 通過控制台下載:適用於少量檔案的快速驗證或臨時匯出。

  • 通過API下載:適用於批量檔案的自動化處理。

  • 通過播放器SDK離線下載:適用於自研應用情境。

情境一:通過控制台下載

下載單個檔案

控制台提供了直觀下載方式,適合少量檔案或業務測試情境。

  1. 登入ApsaraVideo for VOD控制台

  2. 在左側導覽列選擇媒资库 > 音/視頻,進入音/視頻列表頁面。

  3. 點擊目標檔案操作列下的管理,選擇視頻地址(音頻地址)標籤頁,點擊對應清晰度操作列下的复制地址

  4. 將複製的地址粘貼到瀏覽器或下載工具中即可開始下載。

下載多個檔案

當需要下載多個媒資檔案時,控制台提供了大量匯出媒資資訊功能。

  1. 登入ApsaraVideo for VOD控制台

  2. 在左側導覽列選擇媒资库,根據檔案類型選擇音/視頻或者圖片,進入列表頁。

  3. 在列表頁面,可以使用篩選或搜尋功能定位需要匯出的媒體檔案並勾選。

  4. 點擊頁面右上方image表徵圖,完成媒資資訊匯出。

  5. 將媒資對應的地址粘貼到瀏覽器或下載工具中即可開始下載。

情境二:通過API下載

擷取下載地址

API提供了靈活的下載地址擷取方式,可以擷取源檔案、轉碼檔案、封面圖等多種媒體資源的下載地址。擷取不同媒體檔案下載地址的對應API如下:

媒資類型

擷取API

地址欄位

說明

源檔案

擷取源檔案資訊

Mezzanine.FileURL

上傳的原始音視頻檔案。

轉碼檔案

擷取音視頻播放地址

PlayInfoList.PlayInfo.PlayURL

轉碼輸出資料流地址。

視頻封面

擷取單個音視頻資訊

Video.CoverURL

視頻的封面圖片。

視頻截圖

擷取單個音視頻資訊

Video.Snapshots

視頻的截圖地址數組。

圖片檔案

擷取單個圖片資訊

ImageInfo.URL

圖片地址。

批量擷取下載地址

地址類型

擷取API

地址欄位

說明

批量搜尋

搜尋媒體資訊

MediaList.Video/Audio/Image

可一次性搜尋多種媒體資訊,包含上述所有地址。

說明

推薦使用服務端SDK調用API來擷取和更新媒資資訊,詳情請參見VOD SDK使用說明

執行下載操作

使用API可以將下載能力整合到應用程式中,實現自動化處理。以下為Python SDK樣本,更多SDK樣本請參見OpenAPI 門戶

  1. 準備環境。

    安裝VOD Python SDK。

    pip install aliyun-python-sdk-vod
  2. 擷取下載地址。

    調用擷取源檔案資訊介面擷取源檔案資訊。

    import json
    from aliyunsdkcore.client import AcsClient
    from aliyunsdkvod.request.v20170321 import GetMezzanineInfoRequest
    
    # 初始化用戶端
    # 請替換為AccessKey ID、AccessKey Secret和地區ID
    client = AcsClient('YOUR_ACCESS_KEY_ID', 'YOUR_ACCESS_KEY_SECRET', 'cn-shanghai')
    
    # 1. 建立請求
    request = GetMezzanineInfoRequest()
    request.set_accept_format('json')
    request.set_VideoId("YOUR_VIDEO_ID") # 替換為視頻ID
    request.set_OutputType("oss")  # 推薦:返回OSS儲存地址,成本更低
    request.set_AuthTimeout(3600)  # 設定地址有效期間為1小時(3600秒)
    
    # 2. 發送請求並擷取響應
    response = client.do_action_with_exception(request)
    result = json.loads(response)
    
    # 3. 解析下載地址
    download_url = result['Mezzanine']['FileURL']
    print(f"源檔案下載地址: {download_url}")
    
    # (可選) 使用requests庫下載檔案
    import requests
    print("開始下載檔案...")
    file_response = requests.get(download_url, stream=True)
    if file_response.status_code == 200:
        with open('downloaded_video.mp4', 'wb') as f:
            for chunk in file_response.iter_content(chunk_size=8192):
                f.write(chunk)
        print("檔案下載成功: downloaded_video.mp4")
    else:
        print(f"下載失敗,狀態代碼: {file_response.status_code}")
        print(f"錯誤資訊: {file_response.text}")

情境三:通過用戶端SDK離線下載

針對行動裝置 App情境,ApsaraVideo for VOD支援將視頻緩衝到本地實現離線觀看。離線下載分為普通下載和安全下載兩種模式。

  • 普通下載:下載的視頻檔案未加密,可被任意拷貝和播放。適用於公開內容或著作權要求不高的情境。

  • 安全下載:下載的視頻檔案經過加密,只能通過整合了相同密鑰的阿里雲播放器SDK解密播放。適用於付費課程、獨家內容等著作權敏感情境。

實現步驟

  1. 配置下載方式。

    1. 登入ApsaraVideo for VOD控制台,進入配置管理 > 分发加速配置 > 下载设置

    2. 根據需求選擇普通下載或安全下載。若選擇安全下載需要在此頁面產生並妥善保管加密金鑰。

  2. 整合播放器SDK。

    在Android或iOS專案中,整合阿里雲播放器SDK。詳情請參見Android整合SDKiOS整合SDK

  3. 完成視頻下載。

    在Android或iOS專案中,整合視頻下載模組。詳情請參見Android視頻下載iOS視頻下載

計費說明

媒體檔案下載地址,分為以下兩類:

  • 儲存地址

    • 未配置加速網域名稱,直接使用媒資儲存地址,產生儲存流出流量費用。

  • 加速地址:

常見問題

下載的視頻為何無法播放

若轉碼輸出檔案啟用了視頻加密(如HLS標準加密),下載後仍為加密格式,需通過阿里雲播放器SDK進行解密播放。詳情請參見視頻加密

大量媒體檔案如何進行下載

可通過SearchMedia - 搜尋媒體資訊分頁擷取媒體檔案資訊後,參照情境二:通過API下載進行下載。