全部產品
Search
文件中心

CDN:配置聽視頻

更新時間:Jun 19, 2026

開啟聽視頻功能後,CDN節點會將視頻檔案中的音頻分離,並返回給用戶端,實現聽視頻的同時降低頻寬的使用,有效節省流量。通過本文您可以瞭解開啟音視頻分離的操作方法。

背景資訊

當用戶端請求訪問視頻檔案時,向伺服器端發送URL請求,例如:http://www.aliyun.com/test.flv?ali_audio_only=1,CDN伺服器端僅向用戶端發送純音頻資料。用戶端必須支援Transfer-Encoding:chunked傳輸方式。

說明
  • 聽視頻功能不支援Range請求,但是播放視頻時許多用戶端都會發起Range請求(包括但不限於Safari、iOS裝置上的瀏覽器),建議您使用自研的用戶端對接該功能。

  • 聽視頻過程中如果需要拖動進度條播放,需同時配置拖拽功能。進行拖拽時,會先讀取原音視頻檔案的meta資訊擷取播放時間長度,將播放時間長度作為播放進度來實現播放進度的拖拽具體操作。更多資訊,請參見配置拖拽播放

  • 目前聽視頻功能不支援 MP4 Box Header Size 等於 16 的情境(64 位元),僅支援 MP4 Box Header Size 等於 8 的情境。關於 Header Size 的詳細說明和查看方法,請參見下方 MP4 Box Header Size 說明。

操作步驟

  1. 登入CDN控制台

  2. 在左側導覽列,單擊域名管理

  3. 域名管理頁面,找到目標網域名稱,單擊操作列的管理

  4. 在指定網域名稱的左側導覽列,單擊视频相关

  5. 聽視頻地區,開啟聽視頻開關。

    開啟聽視頻功能後,需要配合請求參數ali_audio_only使用。支援的檔案格式如下表所示。

    檔案格式

    meta資訊

    ali_audio_only參數

    舉例

    MP4

    來源站點視頻的meta資訊必須在檔案頭部,不支援meta資訊在尾部的視頻。

    ali_audio_only參數表示該請求為音視頻分離請求,服務端只返回meta資訊和音頻資訊,視頻資訊會被過濾掉。如果不帶該參數或參數值非1,則該功能失效。

    請求http://domain/video.mp4?ali_audio_only=1

    FLV

    無要求。

    ali_audio_only參數表示該請求為音視頻分離請求,服務端只返回meta資訊和音頻資訊,視頻資訊會被過濾掉。如果不帶該參數或參數值非1,則該功能失效。

    請求http://domain/video.flv?ali_audio_only=1

MP4 Box Header Size 說明

如果 MP4 檔案在使用聽視頻功能時無法正常提取音頻,可能是檔案的 mdat Box 使用了擴充 Header(16 位元組),不符合當前聽視頻功能的要求。

說明

此限制主要針對 mdat Box(儲存實際音視頻資料的容器)。moov 等其他 Box 通常預設使用 8 位元組 Header,不受此限制影響。

通過本節可以瞭解 Header Size 的概念,並檢查檔案是否相容。

什麼是 MP4 Box Header Size

MP4 檔案由多個 Box(容器單元)組成,例如 moov box、mdat box 等。每個 Box 包含一個 Header,用於描述該 Box 的大小和類型。Header 有以下兩種規格:

規格

Header 大小

說明

標準 Header

8 位元組(32 位)

包含 size(4 位元組)和 box type(4 位元組)。size 欄位直接儲存 Box 的實際大小。適用於 Box 資料量可用 4 位元組表示的情境。

擴充 Header

16 位元組(64 位元)

包含 size(4 位元組,固定值為 1)、box type(4 位元組)和 largesize(8 位元組)。當 size 值為 1 時,表示啟用 largesize 機制,真實大小儲存在 largesize 欄位中。常見於 mdat Box 資料量較大的情境。

查看 MP4 檔案的 Box Header Size

可以使用以下工具查看 MP4 檔案的 Box Header Size。

方式一:使用 MP4Box.js 線上工具(推薦)

  1. 開啟 MP4Box.js ISOBMFF Box Structure Viewer

  2. 上傳 MP4 檔案。

  3. 在左側 Box View 的 Tree View 中,單擊 mdat (MediaDataBox)

  4. 在右側 Box Property View 中查看 original_size 欄位,判斷 Header Size:

    • original_size 顯示為 1:mdat Box Header Size 為 16 位元組,不支援聽視頻功能。

    • original_size 不顯示或不為 1:mdat Box Header Size 為 8 位元組,支援聽視頻功能。

以下為兩種情況的屬性對比:

屬性欄位

Header Size = 8 位元組(支援)

Header Size = 16 位元組(不支援)

size

實際大小數值

實際大小數值

box_name

MediaDataBox

MediaDataBox

start

位移位元組數

位移位元組數

original_size

不顯示

顯示為 1

方式二:使用 Bento4 命令列工具

運行以下命令:

./mp4dump 檔案名稱.mp4 | grep -E "\[mdat\]|\[moov\]"

根據輸出結果判斷:

  • [mdat] size=8+xxxxxx:Header Size 為 8 位元組,支援聽視頻功能。

  • [mdat] size=16+xxxxxx:Header Size 為 16 位元組,不支援聽視頻功能。