創建邊轉邊播播放列表能夠將視頻文件生成m3u8文件。生成播放列表后即時播放,并根據播放進度實施按需轉碼,相比離線轉碼能極大減少了轉碼等待時間并大幅度降低了轉碼和存儲開銷。
接口說明
- 請確保在使用該接口前,已充分了解智能媒體管理產品的收費方式和價格。
- 調用該接口前,請確保當前 Region 已經存在可用的項目(Project),詳見項目管理。
- 使用該接口時,默認只處理一路視頻/音頻/字幕流,同時支持配置處理的視頻/音頻/字幕流數量。
- 該接口同時能支持生成 Media playlist 和 Master playlist,請注意文檔參數說明。
- 該接口為同步接口。播放或預轉時才會觸發同步或異步轉碼。可以通過設置 Notification 消息通知參數,通過消息通知獲取轉碼任務結果。
- 該接口的功能說明參見邊轉邊播。
- OSS 的數據處理能力也提供了生成播放列表功能,但只提供生成 Media Playlist 且參數進行了簡化。詳情參見 OSS 數據處理能力生成播放列表。
調試
您可以在OpenAPI Explorer中直接運行該接口,免去您計算簽名的困擾。運行成功后,OpenAPI Explorer可以自動生成SDK代碼示例。
授權信息
下表是API對應的授權信息,可以在RAM權限策略語句的Action
元素中使用,用來給RAM用戶或RAM角色授予調用此API的權限。具體說明如下:
- 操作:是指具體的權限點。
- 訪問級別:是指每個操作的訪問級別,取值為寫入(Write)、讀取(Read)或列出(List)。
- 資源類型:是指操作中支持授權的資源類型。具體說明如下:
- 對于必選的資源類型,用背景高亮的方式表示。
- 對于不支持資源級授權的操作,用
全部資源
表示。
- 條件關鍵字:是指云產品自身定義的條件關鍵字。
- 關聯操作:是指成功執行操作所需要的其他權限。操作者必須同時具備關聯操作的權限,操作才能成功。
操作 | 訪問級別 | 資源類型 | 條件關鍵字 | 關聯操作 |
---|---|---|---|---|
imm:GenerateVideoPlaylist | none | *Project acs:imm:{#regionId}:{#accountId}:project/{#ProjectName} |
| 無 |
請求參數
名稱 | 類型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
ProjectName | string | 是 | 項目名稱,獲取方式請參見創建項目。 | immtest |
UserData | string | 否 | 用戶自定義信息,在異步消息通知中會返回,方便您在系統內對消息通知進行關聯處理。最大長度為 2048 字節。 | {"ID": "user1","Name": "test-user1","Avatar": "http://example.com?id=user1"} |
SourceURI | string | 是 | 視頻的 OSS 地址。 OSS 地址規則為 oss://${Bucket}/${Object},其中${Bucket}為和當前項目處于同一區域(Region)的 OSS Bucket 名稱,${Object}為包含文件擴展名的文件完整路徑。 說明
只支持 OSS 標準存儲 Bucket。
不支持設置了防盜鏈白名單訪問 bucket。
| oss://test-bucket/test-source-object/video.mp4 |
SourceStartTime | float | 否 | 生成播放列表的起始時間點,單位為秒(s)。取值范圍如下:
說明
通過與參數 SourceDuration 一同設置可以對源視頻的部分內容生成播放列表。
| 0 |
SourceDuration | float | 否 | 生成播放列表的持續時間。單位為秒(s),取值范圍如下:
說明
當設定參數所對應的時間點超過源視頻結尾時按默認值處理。
| 0 |
SourceSubtitles | array<object> | 否 | 添加字幕列表,默認為空。最大支持 2 個。 | |
object | 否 | 字幕信息。 | ||
URI | string | 是 | 被嵌入字幕的 OSS 地址。 OSS 地址規則為 oss://${Bucket}/${Object},其中${Bucket}為和當前項目處于同一區域(Region)的 OSS Bucket 名稱,${Object}為文件的完整路徑。 說明
參數 MasterURI 必須不為空,并且被嵌入字幕的 OSS 地址 oss://${Bucket}/${Object} 必須處于參數 MasterURI 所在目錄或它的子目錄。
| oss://test-bucket/test-object/subtitle/eng.vtt |
Language | string | 否 | 字幕語言,參考標準為 ISO 639-2,默認為空。 | eng |
MasterURI | string | 否 | Master Playlist 的 OSS 地址。 OSS 地址規則為 oss://${Bucket}/${Object},其中${Bucket}為和當前項目處于同一區域(Region)的 OSS Bucket 名稱,${Object}為帶".m3u8"后綴名的文件完整路徑。 說明
如果 Playlist 有字幕輸入或有多 Target 輸出,MasterURI 為必填,并且字幕 URI 或 Target URI 必須處于 MasterURI 所在目錄或子目錄。
| oss://test-bucket/test-object/master.m3u8 |
Targets | array<object> | 是 | 邊轉邊播播放列表數組,數組長度最大為 6。每個 Target 對應至多一個視頻 Media Playlist 和一個或多個字幕 Media Playlist 說明
如果配置了大于一個 Target,參數 MasterURI 必須不為空。
| |
object | 是 | 邊轉邊播任務詳細信息。 | ||
URI | string | 否 | 邊轉邊播輸出文件的 OSS 地址前綴,輸出文件包括 m3u8 文件和 ts 文件。 OSS 地址規則為 oss://${Bucket}/${Object},其中${Bucket}為和當前項目處于同一地域的 OSS Bucket 名稱,${Object}為不包含文件擴展名的文件完整路徑前綴。
說明
如果參數 MasterURI 不為空,URI 地址必須處于參數 MasterURI 所在目錄或它的子目錄。
| oss://test-bucket/test-object/output-video |
Video | TargetVideo | 否 | 視頻處理參數配置,空值(默認)表示禁用視頻處理,輸出 ts 文件中將不包含視頻流。 說明
同一 Target 內的 Video 和 Subtitle 字段互斥。如果設置了 Video 字段會忽略 Subtile 字段。
| |
Audio | TargetAudio | 否 | 音頻處理參數配置,空值(默認)表示禁用音頻處理,輸出 ts 文件中將不包含音頻流。 說明
同一 Target 內的 Audio 和 Subtitle 字段互斥。如果設置了 Audio 字段會忽略 Subtile 字段。Audio 和 Video 可以同時設置,Audio 表示輸出視頻中的音頻信息。也可以只設置 Audio,只生成音頻信息。
| |
Subtitle | TargetSubtitle | 否 | 字幕處理參數配置。 說明
同一 Target 內的 Subtile 和 Video 或 Audio 字段互斥,只有單獨設置 Subtile 才能生成字幕。
| |
TranscodeAhead | integer | 否 | 觸發邊轉邊播時向前轉碼的 ts 文件數量。默認向前轉碼 2 分鐘時長的視頻。
| 12 |
Duration | float | 否 | 單個 ts 文件的播放時長。單位為秒(s),默認為 10,取值范圍為[5,15]。 | 10 |
InitialTranscode | float | 否 | 初始轉碼時長,單位為秒(s),默認值為 30。
說明
該參數主要用于加快視頻初次播放的等待時間,提升播放體驗。若您需要替換傳統 VOD 業務場景則可嘗試初始轉碼整段視頻。
| 30 |
InitialSegments | array | 否 | 初始轉碼 ts 文件時長數組,數組長度最大為 6,默認為空,與參數 Duration 獨立。 | |
float | 否 | 初始轉碼 ts 文件時長,取值范圍為[1,Duration],
說明
自定義更小的初始轉碼 ts 文件時長可以讓視頻加載更加流暢。
| [2, 2, 4, 4, 8, 8] | |
Tags | object | 否 | 為生成的 ts 文件添加 OSS 對象標簽。可以使用 OSS 標簽來控制 OSS 文件的生命周期。 說明
當前標簽值與上一級中定義的 Tags 取并集作為當前 Target 的標簽值。如有同名,取當前值。
| |
string | 否 | 標簽值。 | {\"key1\":\"value1\"} | |
Tags | object | 否 | 為生成的 ts 文件添加 OSS 對象標簽。可以使用標簽來控制 OSS 文件的生命周期。 | |
string | 否 | 標簽值。 | {"key1": "value1", "key2": "value2"} | |
CredentialConfig | CredentialConfig | 否 | 如無特殊需求,請保持留空即可。 鏈式授權配置,非必填。更多信息,請參見使用鏈式授權訪問其他實體資源。 | |
Notification | Notification | 否 | 消息通知配置,詳細內容請單擊 Notification 查看,異步通知消息格式請參見異步通知消息格式。 | |
OverwritePolicy | string | 否 | 當 Media Playlist 存在時的覆蓋策略,取值范圍:
| overwrite |
返回參數
示例
正常返回示例
JSON
格式
{
"RequestId": "CA995EFD-083D-4F40-BE8A-BDF75FFF*****",
"Duration": 1082,
"Token": "92376fbb-171f-4259-913f-705f7ee0****",
"MasterURI": "oss://test-bucket/test-object/master.m3u8",
"VideoPlaylist": [
{
"Token": "affe0c6042f09722fec95a21b8b******",
"URI": "oss://test-bucket/test-object/output-video.m3u8",
"Resolution": "640x480",
"FrameRate": "25/1"
}
],
"AudioPlaylist": [
{
"Token": "affe0c6042f09722fec95a21b8b******",
"URI": "oss://test-bucket/test-object/output-audio.m3u8",
"Channels": 1
}
],
"SubtitlePlaylist": [
{
"Token": "affe0c6042f09722fec95a21b8b******",
"URI": "oss://test-bucket/test-object/output-subtitle.m3u8",
"Language": "eng",
"Index": 1
}
]
}
錯誤碼
訪問錯誤中心查看更多錯誤碼。
變更歷史
變更時間 | 變更內容概要 | 操作 |
---|---|---|
2024-03-26 | OpenAPI 返回結構發生變更 | 查看變更詳情 |
2023-04-04 | API 內部配置變更,不影響調用 | 查看變更詳情 |