全部產品
Search
文件中心

ApsaraVideo VOD:媒資上傳常見問題

更新時間:Aug 05, 2026

本文主要介紹媒體上傳過程中遇到的常見問題及解決方案。

ApsaraVideo for VOD是否支援上傳新視頻直接覆蓋替換原有視頻內容?

ApsaraVideo for VOD不支援通過上傳新視頻直接覆蓋或替換已有視頻內容。如需更新視頻,需重新上傳產生新的 VideoId,並手動替換業務系統中的引用地址。

為什麼我上傳的檔案一直處於上傳中?

說明
  • ApsaraVideo for VOD服務本身無上傳速度限制,實際上傳速度取決於使用者本地頻寬和網路鏈路環境。

  • 跨地區上傳(如從美國上傳至新加坡)的耗時受網路環境影響較大。

請排查是否由以下原因造成:

  • 原因一:URL批量拉取上傳為非同步上傳,不保證時效性

    如果是通過URL批量拉取上傳介面上傳,URL批量拉取上傳是非同步任務,非即時,不保證時效性,一般提交後會在數小時、甚至數天內完成遷移上傳。且該介面目前僅支援華東 2(上海)華北 2(北京)華南 1(深圳)新加坡美國矽谷)地區,建議您整合點播服務端上傳SDK進行上傳。

  • 原因二:只產生了上傳憑證,但沒有上傳檔案

    如果調用擷取音視頻上傳地址和憑證介面返回成功但控制台仍顯示上傳中,請注意:該介面僅用於擷取上傳憑證和建立媒資基礎資訊,並非實際上傳檔案,後續還需要使用返回的 UploadAuthUploadAddress 調用 SDK 或 API 執行 OSS 上傳操作,完整的上傳步驟,請參見使用點播API上傳媒資檔案。建議在代碼中增加日誌或斷點調試,確認是否真正執行了檔案上傳步驟及返回結果。

  • 原因三:上傳檔案過大導致上傳時間較長

    請確認上傳檔案大小以及處於“上傳中”狀態的時間是否處於合理範圍。通過控制台、上傳SDK和用戶端上傳工具等方式上傳檔案時,預設會使用分區上傳,最大支援上傳48.8 TB的單個檔案;上傳SDK同時也提供簡單上傳功能,其最大支援上傳5 GB的單個檔案。

  • 原因四:網路問題

    請確認網路頻寬是否符合預期。

VOD SDK 回調 onUploadSucceed 但控制台仍顯示“上傳中”是什麼原因?

該現象通常因檔案未完整上傳至 OSS 導致。請檢查 PostPolicy 中的 content-length-range 是否限制過小,建議調整為 5368709120(5 GB);同時確認本網正常,檔案已實際上傳完成。若問題持續,建議重試上傳。

如何清理無效任務

以下兩種情況會導致任務長時間停留在上傳中狀態:

  • 僅建立憑證但未實際上傳:調用建立上傳憑證介面後如果沒有實際上傳檔案,任務會一直顯示上傳中且不會自動關閉。

  • 上傳中斷顯示失敗:上傳中斷後顯示失敗的任務也不會自動刪除。

上述兩種情況均需要您在控制台手動取消或刪除相關任務。

使用iOS上傳SDK上傳失敗,並報錯Error Domain=NSCocoaErrorDomain

上傳失敗並報錯(錯誤碼207,錯誤資訊Error Domain=NSCocoaErrorDomain),通常是由於讀取檔案錯誤,沒有許可權導致。您可以通過以下方式解決:

  • 方式一:授予iOS上傳SDK讀取本地資源的許可權。

  • 方式二:將本地資源存放到沙箱路徑下,再上傳。

使用URL批量拉取上傳時提示“The service is not open in current region”的錯誤

提示The service is not open in current region表示當前服務地區暫不支援使用URL批量拉取上傳方式進行上傳,URL批量拉取上傳目前僅支援在華東2(上海)新加坡地區使用。

如果您非上述地區,建議您將音視頻檔案下載到本地,然後再通過上傳SDK進行上傳,詳情請參見上傳SDK概述

上傳圖片類型檔案後無法通過控制台裡查看

上傳圖片類型媒資檔案時,如果設定類型為cover(視頻封面)類型時控制台是無法展示此類檔案的;您只能通過API介面來進行查詢對應的圖片。詳情請參見擷取圖片上傳地址和憑證

上傳 MOV 格式視頻後無法播放且無法通過 VideoId 擷取 URL 怎麼辦?

該問題通常因 MOV 格式受限導致。建議將 MOV 視頻轉碼為 MP4 等通用格式後再上傳;若需擷取源檔案播放地址,可使用 GetMezzanineInfo 介面擷取 FileURL;同時檢查並升級 SDK 至最新版本(如 vod20170321 version 3.6.4),參考官方 Demo 進行測實驗證。

微信中使用JS SDK上傳存在相容性問題,無法正常上傳

經過排查由於微信瀏覽器對於H5存在相容性問題,需要將<input type="file" name="file" id="files" multiple="">中的 multiple=""參數去掉就可以正常上傳。

Web SDK 上傳時 onUploadProgress 回調不觸發且無報錯怎麼辦?

請按以下順序排查:

  1. 檢查瀏覽器環境:關閉廣告攔截外掛程式(如 AdBlock、uBlock Origin)或將阿里雲網域名稱加入白名單;暫時關閉 Edge 瀏覽器的跟蹤防護增強型安全模式進行測試。

  2. 檢查 SDK 代碼邏輯:確認是否在 onUploadStarted 回調中同步調用了 uploader.setUploadAuthAndAddress(uploadInfo, uploadAuth, uploadAddress, videoId)

  3. 驗證參數格式與有效性:檢查 uploadAuthuploadAddress 是否為正確的 Base 64 編碼字串、結構是否與官方 Demo 一致、憑證是否在 30 分鐘有效期間內。

  4. 列印傳入 setUploadAuthAndAddress 的實際參數值,排查是否存在為空白或格式異常。

斷點續傳報錯 AccessDenied 或提示缺少 AliyunVodSaasStsRole 角色如何處理?

無需手動建立 AliyunVodSaasStsRole 角色。AccessDenied 通常由以下原因導致:

  1. 重新整理憑證後未將新的 UploadAuth 傳入 resumeUploadWithAuth 方法;

  2. 使用 OSS 原生 SDK 時未對 UploadAuthUploadAddress 進行 Base64 解碼;

  3. STS Token 到期或許可權不足;

  4. 上傳檔案路徑與 STS 策略授權路徑不一致(如 sv 檔案夾 vs customerTrans 檔案夾)。

要求的權限為 oss:PutObject。解決方案:確保上傳路徑與 RAM/STS 策略授權路徑匹配,或調整策略以包含實際上傳目錄;檢查憑證傳遞和解碼邏輯;確認 Token 有效期間。

推流SDK特定解析度時出現預覽頁面展開現象

推流SDK在選擇推流解析度為480p時預覽頁面出現展開的現象,但是實際推流是正常的。主要因為480p對應的解析度為480×640,由於大多數手機螢幕均不支援該解析度的比例導致出現展開的現象。

解決辦法:修改預覽頁面surfaceview的比例,請將activity_push.xml內容修改如下即可。

public void initView() {
    mPreviewView = (SurfaceView) findViewById(R.id.preview_view);
    mPreviewView.getHolder().addCallback(mCallback);
}
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <SurfaceView
            android:id="@+id/preview_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>

    <!--FrameLayout-->
        <!--android:id="@+id/publisher_fragment"-->
        <!--android:layout_width="match_parent"-->
        <!--android:layout_height="match_parent"-->
        <!--android:visibility="gone"/>-->

    <android.support.v4.view.ViewPager
            android:id="@+id/tv_pager"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            >
    </android.support.v4.view.ViewPager>
</RelativeLayout>

Android Studio如何查看和匯入aar包資料

查看aar包資料:將.aar檔案尾碼改成.zip並解壓,查看.class.xml.jar、圖片、文本等各種內容。

匯入aar包資料:

  1. 拷貝.aar檔案到工程專案下,路徑一般為projectName/libs/,重新載入工程。 將 AlivcPlayer.aaraliyun-vod-upload-android-sdk-1.1.1.jaraliyun-vod-croe-android-sdk-1.2.1.jargson-2.8.0.jarjsr305-3.0.0.jar 等庫檔案拷貝到工程的 app > libs 目錄下,拷貝完成後重新載入工程。

  2. 在build.gradle根標籤下添加本地倉庫路徑,並在dependencies中添加編譯依賴。

    其中libs目錄按照實際工程下的包引入檔案夾名稱而定。在compile參數中,name的值為aar檔案的名字,ext為檔案的副檔名。

    repositories{
        flatDir{
            dirs 'libs'
        }
    }
    
    dependencies {
        compile fileTree(include: ['*.jar'], dir: 'libs')
        testCompile 'junit:junit:4.12'
        compile 'com.android.support:appcompat-v7:26+'
        compile 'com.android.support:design:26+'
        compile (name:'AlivcPlayer',ext:'aar')
        // 上傳SDK 需要依賴OSS上傳的SDK
        compile 'com.aliyun.dpa:oss-android-sdk:2.4.5'
    }
  3. 選擇 build > rebuild,重新構建project。

    構建完成之後,在工程的External Libraries中即可看到引入的aar包。

    External Libraries
    ├── Android API 26 Platform
    ├── JRE 1.8
    ├── AlivcPlayer:@aar
    │   ├── classes.jar (library root)
    │   │   └── com
    │   │       ├── alivc.player
    │   │       └── aliyun.aliyunplayer
    │   └── res (library root)
    │       ├── values
    │       └── values-zh-rCN
    ├── com.aliyun.dpa:oss-android-sdk-2.4.5
    ├── com.android.support:animated-vector-drawable:26.0.0-alpha1
    ├── com.android.support:appcompat-v7:26.0.0-alpha1
    ├── com.android.support:design:26.0.0-alpha1
    ├── com.android.support:recyclerview-v7:26.0.0-alpha1
    ├── com.android.support:support-annotations:26.0.0-alpha1
    └── com.android.support:support-compat:26.0.0-alpha1

URL 批量拉取上傳長時間未完成,是異常嗎?

URL 批量拉取上傳是非同步任務,系統需從源地址下載檔案後再上傳,大檔案或來源站點頻寬受限時可能需要數小時,屬正常現象。建議:確認源地址公網可訪問且下載速度正常;對時效要求高的大檔案,改用服務端上傳 SDK 或用戶端上傳 SDK。

服務端上傳後無法產生 videoId,或 host 被解析為 localhost?

多為初始化上傳用戶端時地區配置不正確導致。請在初始化 vodClient 時顯式設定正確的 regionId(如 cn-beijing),並使用對應地區的公網 Endpoint,避免網域名稱被錯誤解析。

控制台/網頁上傳提示 network 錯誤?

network 錯誤多與瀏覽器或本網環境相關:請更換瀏覽器或網路環境重試,確認本網可正常解析 OSS 上傳網域名稱(可用 ping 驗證);若問題持續,建議改用服務端上傳 SDK 上傳。

上傳視頻時串連 OSS 網域名稱逾時,需要允許存取哪些網路原則?

除允許存取 vod.cn-shanghai.aliyuncs.com:443 外,還需允許存取實際上傳目標 OSS 網域名稱(如 outin-*.oss-cn-shanghai.aliyuncs.com)的 443 連接埠。建議一併允許存取 vod-upload.cn-shanghai.aliyuncs.com(上傳入口)和 sts.cn-shanghai.aliyuncs.com(擷取臨時憑證)的 443 連接埠。若伺服器位於 VPC 內,需配置 NAT Gateway或公網 IP 以支援訪問上述公網網域名稱。

ApsaraVideo for VOD平台是否提供上傳視頻的 MD5 或 CRC64 雜湊值?

ApsaraVideo for VOD平台不直接提供上傳視頻的 MD5、CRC64 等雜湊值查詢功能。如業務需要校正檔案完整性,建議在上傳前由用戶端或服務端自行計算並記錄雜湊值。

相關連結

如需瞭解詳細上傳流程及說明,請根據實際業務需求參見以下文檔:

  • 通過ApsaraVideo for VOD控制台上傳,或PC端上傳工具上傳的詳細操作,請參見工具上傳

  • 基於點播上傳SDK、OSS原生SDK、URL批量拉取上傳、OSS API上傳等方式上傳的詳細操作,請參見開發上傳