如果需要制作多碼率、多音軌、多字幕或多格式等類型視頻,或希望預先編排好一系列任務流程,然后按照編排好的環節和條件依次執行任務,您可以創建工作流并在工作流中設置轉碼、分析、截圖、打包(封裝)、審核、提取視頻DNA、設置智能封面等任務節點。
背景信息
工作流(Workflow)是預先編排好的一系列任務流程,可以實現在指定OSS Bucket上傳一個文件后,自動(或手動)觸發按照預先編排好的環節和條件依次執行作業。您可以在工作流中設置轉碼、分析、截圖、打包、審核、視頻DNA、智能封面等節點,各節點自由組合之后可以實現多分辨率轉碼、多語言字幕打包、HLS標準加密等典型功能場景。
了解工作流完整流程,請參見快速使用工作流,本文主要介紹如何通過控制臺創建工作流。
前提條件
設置輸入Bucket和輸出Bucket。具體操作,請參見添加媒體Bucket。
根據任務類型開啟對應管道。具體操作,請參見創建管道。
可選:創建模板。如果預置轉碼模板不能滿足您的業務需求,您可以自定義轉碼模板。具體操作,請參見轉碼模板。
操作步驟
工作流創建后,將自動激活為啟用狀態,且觸發模式為自動觸發。即無論以何種方式新增上傳(OSS上傳、控制臺上傳)至輸入節點綁定的輸入路徑的文件,只要滿足觸發規則,就會自動觸發工作流執行。觸發規則詳細說明,請參見工作流的文件匹配規則。
工作流也支持新增文件手動觸發工作流(推薦輸入文件為直播錄制的M3U8文件使用)、歷史文件手動觸發工作流,詳細說明請參見本文后續步驟。
登錄媒體處理控制臺。
在頂部菜單欄左側選擇地域。
在左側導航欄,選擇
。單擊創建工作流。
按需設置工作流參數。
工作流名稱:在輸入框中填寫工作流名稱。
配置方案:在下拉列表中選擇配置方案,各方案說明如下表。
說明為滿足通用場景需求,媒體處理提供了多種預置工作流,您可以選擇一個預置工作流進行快速編輯,也可以根據自身需求自定義創建。
方案名稱
說明
自定義
無任何預置信息,從零開始自由創建工作流。
M3U8
進行單張封面截圖,并把視頻轉為M3U8格式。
預置智能模板工作流
進行單張封面截圖,并根據視頻信息進行智能分析后轉碼,對轉碼后的標清視頻截圖。
多碼率多格式工作流
進行單張封面截圖,并生成多種視頻格式和碼率視頻。
FLV多碼率工作流
進行單張封面截圖,并生成FLV格式的多碼率視頻。
M3U8多碼率工作流
進行單張封面截圖,并生成M3U8格式的多碼率視頻。
MP4多碼率工作流
進行單張封面截圖,并生成MP4格式的多碼率視頻。
編輯工作流拓撲結構。請按需添加和設置節點,各節點說明請參見下文節點說明。
單擊保存,完成工作流創建。
節點說明
通過控制臺創建工作流,可添加如下節點:
下表節點為MPS所有工作流節點,實際添加時會根據當前地域功能支持情況顯示對應節點。各地域功能支持情況,請參見服務地域。
節點名稱 | 節點說明 |
輸入(必選) | 設置輸入路徑、綁定消息通知。 |
分析 | 對輸入文件進行智能分析,推薦出適合輸入文件的預置模板。 |
轉碼 | 可以將視頻文件轉碼成適合在全平臺播放的格式。 |
截圖 | 截取指定時間點的畫面,用做視頻封面或生成雪碧圖。 |
打包 | 將多字幕、多音軌、多碼率視頻流生成一個Master Playlist文件的過程。 |
審核 | 智能識別視頻內語音、文字、畫面的色情、暴恐涉政、不良畫面等內容,大幅節省人工審核人力成本,降低違規風險。 |
視頻DNA | 用來唯一標記一個視頻,實現對視頻中的圖像、音頻等指紋特征的提取和比對,解決重復視頻查找、視頻片段查源、原創識別等問題。 |
智能封面 | 通過對視頻內容的理解,結合畫面和海量用戶行為數據,基于算法選出最優的關鍵幀或關鍵片段作為視頻封面,提升視頻點擊轉化及用戶體驗。 |
發布(必選) | 設置手動發布、自動發布。 |
輸入節點
單擊輸入節點右側的筆形圖標。進入輸入設置頁面。
設置輸入參數。
參數
說明
輸入路徑
單擊選擇。在Bucket下拉列表中,選擇Bucket名稱。路徑下方會顯示對應Bucket已經創建好的文件夾,在文件夾下選擇一個地址作為輸入路徑。
轉碼管道
在下拉列表中選擇管道。
(可選)消息通知
單擊開關按鈕,選擇消息隊列或消息主題,并設定隊列或消息的實例。
說明設置消息通知后,當工作流中的任務開始執行和執行完成時,會向指定的主題或隊列發送消息通知。具體操作,請參見設置消息通知。
單擊確定,完成輸入節點設置。
分析節點
在輸入節點、審核節點、視頻DNA節點、智能封面節點,單擊加號圖標,均可以添加分析節點。
單擊相關節點右側的加號圖標,在下拉列表中選擇分析節點。
單擊分析節點右側的筆形圖標,進入分析配置頁面。
在條件轉碼下拉列表中選擇清晰度。
單擊確定,完成分析節點設置。
轉碼節點
在輸入節點、審核節點、視頻DNA節點,單擊加號圖標,均可以添加轉碼節點。
單擊相關節點右側的加號圖標,在下拉列表中選擇轉碼節點。
單擊轉碼節點右側的筆形圖標,進入基礎配置頁面。
設置轉碼。
參數
說明
名稱
在文本框中輸入本節點名稱。
轉碼模板
單擊選擇,在彈出窗中設置轉碼模板。
選擇模板類型。
選擇輸出格式。
選擇模板。
單擊確定。
輸出路徑
單擊選擇。在Bucket下拉列表中,選擇Bucket名稱。路徑下方會顯示對應Bucket已經創建好的文件夾,在文件夾下選擇一個地址作為輸出路徑。
說明當輸出路徑和輸入路徑相同時:
若文件不同名,則輸出文件不會覆蓋源文件。
若文件同名,是否覆蓋由OSS配置決定。無需覆蓋的配置方法請參見Java禁止覆蓋同名文件。配置后會導致同名文件轉碼完成后寫入OSS失敗,建議不要設置輸出文件與源文件同名。
為避免媒體工作流多次執行時覆蓋輸出文件,您可以組合使用系統內置的UC變量參數:
{RunId}:媒體工作流執行ID。
{ObjectPrefix}:不含Bucket信息的原文件路徑。
{FileName}:含擴展名的原文件名,根據轉碼模板的format補齊后綴。
{ExtName}:原文件擴展名。
(可選)水印開關
單擊開關按鈕。
在水印模板下拉列表中選擇模板名稱。
說明如果下拉列表中沒有水印模板,請創建水印模板。
在水印圖片右側單擊選擇添加水印圖片路徑。
說明圖片水印支持PNG圖片、PNG動圖、MOV格式的動圖。
(可選)加密
單擊開關按鈕。
在加密方式選項中,選擇阿里云私有加密或HLS標準加密。視頻加密詳細介紹,請參見視頻加密。
(可選)剪輯
單擊開關按鈕。
在剪輯方式選項中,選擇視頻片段剪輯或片尾剪輯。
在剪輯開始時間輸入框中選擇時間。
在時長輸入框中選擇時間。
說明剪輯開始時間需要小于視頻總時長,否則會導致轉碼失敗。
如果剪輯時長超出可剪輯的視頻時長,則最多截取到源視頻片尾。
(可選)添加片尾
單擊開關按鈕。在文件路徑右側,單擊選擇,選擇添加固定片尾視頻的路徑。
(可選)旋轉角度
在輸入框中輸入順時針旋轉角度,取值范圍[0,360]。
單擊確定,完成轉碼節點設置。
截圖節點
在輸入節點、轉碼節點、審核節點、視頻DNA節點、智能封面節點,單擊加號圖標,均可以添加截圖節點。
單擊相關節點右側的加號圖標,在下拉列表中選擇截圖節點。
單擊截圖節點右側筆形圖標,進入截圖配置頁面。
設置截圖參數。
參數
是否必選
說明
截圖方式
必選
單張截圖:設置一個明確的截圖時間點,截取對應的視頻圖像。
多張截圖:按照設置的間隔時間,均勻的截取對應視頻的多幀圖像,每幀圖像都是一個圖片文件。也叫批量截圖、序列截圖。
平均截圖:按照設定的截圖張數,均勻地對視頻進行切分并截取指定數量的圖像。
截圖間隔時間(秒)
多張截圖時必選
在文本框中輸入截圖間隔時間,單位為秒。
截圖數量
平均截圖時必選
在文本框中輸入截圖數量。
說明不設置截圖數量時,表示按照間隔時間,一直截取到視頻結尾。
截圖數量大于1時,表示按照間隔時間,截取到指定數量的圖像時就停止截圖。
只設置截圖數量時,表示按總時長/截圖數量的時間間隔,平均截圖。
名稱
必選
在文本框中輸入本節點名稱。
輸出路徑
必選
單擊選擇,在Bucket下拉列表中,選擇Bucket名稱。路徑下方會顯示對應Bucket已經創建好的文件夾,在文件夾下選擇一個地址作為輸出路徑。
說明單張截圖路徑格式:
http://bucket.oss-cn-hangzhou.aliyuncs.com/path/{RunId}/{SnapshotTime}.jpg
。多張截圖/平均截圖路徑格式:需要使用{Count}占位符,即path后為
/{RunId}/{SnapshotTime}/{Count}.jpg
。
開始時間
非必選
在下拉列表中按時、分、秒,選擇時間。
寬度×高度
非必選
在輸入框中分別填寫寬度和高度值。
說明如果寬和高都不設置時,圖片的尺寸和視頻相同。
如果只設置寬(或高)時,另一邊會按照視頻的分辨率保持比例不變,避免圖像變形。
生成Webvtt索引文件
多張截圖、平均截圖時可選
單擊開關按鈕,表示需要生成webVTT格式的索引文件。
設為封面
非必選
單擊開關按鈕,此節點截取的圖片會自動設置為媒體庫中該媒體的封面,當有多張截圖時,默認第一張設為封面。
關鍵幀
非必選
單擊開關按鈕,截圖類型如果為關鍵幀,則表示只截取關鍵幀,如對應指定時間點為非關鍵幀,則就近選取關鍵幀。
黑屏檢測
多張截圖、平均截圖時可選
單擊開關按鈕,會檢測視頻的前5秒,如果前5秒內存在畫面,則截取第一幀非黑屏的畫面。
打包節點
只能在輸入節點單擊加號圖標進行添加。
單擊輸入節點右側的加號圖標,在下拉列表中選擇打包節點。
打包節點分為以下3個子節點:
添加后默認顯示打包配置、視頻提取、打包生產等3個子節點。請參考下方說明添加更多子節點,實現多媒體流打包。
實現多碼率:請單擊打包配置節點右側的加號圖標,在下拉列表中選擇視頻提取節點。
實現多音軌:請單擊打包配置節點右側的加號圖標,在下拉列表中選擇音頻組節點。再單擊音頻組節點右側的加號圖標,在下拉列表中選擇音頻提取節點。
實現多字幕:請單擊打包配置節點右側的加號圖標,在下拉列表中選擇字幕組節點。再單擊字幕組節點右側的加號圖標,在下拉列表中選擇字幕提取節點。
依次單擊打包配置右側筆形圖標,進入配置頁面。各子節點配置說明如下。
打包配置
參數
說明
打包名稱
文本框中輸入本節點名稱。
打包類型
默認為HLS。
輸出Bucket
選擇輸入路徑后自動顯示。
輸出路徑
單擊選擇,在Bucket下拉列表中,選擇Bucket名稱。路徑下方會顯示對應Bucket下已經創建好的文件夾,請選擇一個作為輸出路徑。
視頻提取
參數
說明
名稱
在文本框中輸入本節點名稱。
轉碼模板
單擊選擇,選擇轉碼模板。
資源路徑
建議您使用默認值。您也可以根據具體需求進行修改。
說明若打包配置節點的輸出路徑為a/b/c.m3u8,視頻提取節點的資源路徑為d/e/f.m3u8,則提取文件實際存放位置為a/b/d/e/f.m3u8。
(可選)水印開關
單擊開關按鈕。
在水印模板下拉列表中選擇模板名稱。創建水印模板,請參見水印模板。
在水印圖片右側單擊選擇添加水印圖片路徑。
說明圖片水印支持PNG圖片、PNG動圖、MOV格式的動圖。
(可選)加密
單擊開關按鈕,在加密方式選項中,選擇阿里云私有加密或HLS標準加密。視頻加密詳細介紹,請參見視頻加密。
(可選)剪輯
單擊開關按鈕。
在剪輯方式選項中,選擇視頻片段剪輯或片尾剪輯。
在剪輯開始時間輸入框中選擇時間。
在時長輸入框中選擇時間。
說明剪輯開始時間需要小于視頻總時長,否則會導致轉碼失敗。
如果剪輯時長超出可剪輯的視頻時長,則最多截取到源視頻片尾。
(可選)添加片尾
單擊開關按鈕,在文件路徑右側,單擊選擇,選擇添加固定片尾視頻的路徑。
(可選)旋轉角度
在文本框中輸入順時針旋轉角度,取值范圍[0,360]。
打包生成
參數
說明
網絡帶寬
為本路視頻流,設置適合播放的帶寬值。
音頻組
為本路視頻流,綁定已創建的音頻組。
字幕組
為本路視頻流,綁定已創建的字幕組。
音頻組及音頻提取
子節點
參數
說明
音頻組
名稱
在文本框中輸入本組音頻名稱。
音頻提取
名稱
在文本框中輸入本節點名稱。
轉碼模板
單擊選擇,在彈出窗中設置轉碼模板。
資源路徑
建議您使用默認值。您也可以根據具體需求進行修改。
說明若打包配置節點的輸出路徑為a/b/c.m3u8,視頻提取節點的資源路徑為d/e/f.m3u8,則提取文件實際存放位置為a/b/d/e/f.m3u8。
音軌名稱
在文本框中填寫音軌名稱。
提取音軌
在文本框中填寫輸入文件中的待提取音軌的音軌序號。
音軌語言
在下拉列表中選擇對應語言。
字幕組及字幕提取
子節點
參數
說明
字幕組
名稱
在文本框中輸入本組字幕名稱。
字幕提取
名稱
在文本框中輸入本節點名稱。
字幕上傳URI
單擊選擇,在Bucket下拉列表中,選擇Bucket名稱。路徑下方會顯示對應Bucket下已經創建好的文件夾,請選擇一個文件作為輸入字幕路徑。輸入字幕支持STL、TTML、VTT格式。
資源路徑
建議您使用默認值。您也可以根據具體需求進行修改。
說明若打包配置節點的輸出路徑為a/b/c.m3u8,視頻提取節點的資源路徑為d/e/f.m3u8,則提取文件實際存放位置為a/b/d/e/f.m3u8。
字幕名稱
在文本框中填寫字幕名稱。
字幕語言
在下拉列表中選擇對應語言。
單擊確定,完成各節點設置。
審核節點
審核節點僅支持華北2(北京)、華東2(上海)、新加坡地域。在輸入節點、轉碼節點,單擊加號圖標,均可以添加審核節點。
單擊相關節點右側的加號圖標,在下拉列表中選擇審核節點。
單擊審核節點筆形圖標,進入審核配置頁面。
設置審核參數。
參數
說明
審核管道
在下拉列表中選擇管道。
說明如果審核管道下拉列表中沒有管道名稱,請先開啟審核專用管道。具體操作,請參見創建管道。
輸出路徑
單擊選擇,在Bucket下拉列表中,選擇Bucket名稱。路徑下方會顯示對應Bucket下已經創建好的文件夾,請選擇一個作為輸出路徑。
說明當輸出路徑和輸入路徑相同時:
若文件不同名,則輸出文件不會覆蓋源文件。
若文件同名,是否覆蓋由OSS配置決定。無需覆蓋的配置方法請參見Java禁止覆蓋同名文件。配置后會導致同名文件轉碼完成后寫入OSS失敗,建議不要設置輸出文件與源文件同名。
為避免媒體工作流多次執行時覆蓋輸出文件,您可以組合使用系統內置的UC變量參數:
{RunId}:媒體工作流執行ID。
{ObjectPrefix}:不含Bucket信息的原文件路徑。
{FileName}:含擴展名的原文件名,根據轉碼模板的format補齊后綴。
{ExtName}:原文件擴展名。
是否終止工作流
您可根據審核結果決定是否終止工作流,選項如下:
不終止工作流
審核結果為“人工審核”或“攔截”時,終止工作流
審核結果為“攔截”時,終止工作流
單擊確定,完成審核節點設置。
視頻DNA節點
視頻DNA節點僅支持華北2(北京)、華東1(杭州)、華東2(上海)、新加坡區域。在輸入節點、轉碼節點,單擊加號圖標,均可以添加視頻DNA節點。
單擊相關節點右側的加號圖標,在下拉列表中選擇視頻DNA節點。
單擊視頻DNA節點右側的筆形圖標,進入視頻DNA配置頁面。
設置視頻DNA參數。
參數
說明
視頻DNA管道
在下拉列表中選擇管道。
說明如果視頻DNA管道下拉列表中沒有管道名稱,請先開啟視頻DNA專用管道。具體操作,請參見創建管道。
入庫規則
僅入庫不重復內容:表示DNA庫中只保存不重復的視頻的DNA,重復視頻將不會對其DNA進行入庫操作。
所有視頻均不入庫:表示對視頻只做比對并不需要保留視頻DNA。
是否終止工作流
您可根據處理結果決定是否終止工作流,選項如下:
不終止工作流
視頻重復時,終止工作流
單擊確定,完成視頻DNA節點設置。
智能封面節點
智能封面節點僅支持華北2(北京)、華東2(上海)、新加坡地域。在輸入節點、轉碼節點,單擊加號圖標,均可以添加智能封面節點。
單擊相關節點右側的加號圖標,在下拉列表中選擇智能封面節點。
單擊智能封面節點右側筆形圖標,進入智能封面頁面。
設置智能封面參數。
參數
說明
名稱
在文本輸入框中輸入封面名稱。
智能封面管道
在下拉列表中選擇管道。
說明如果智能封面管道下拉列表中沒有管道名稱,請先開啟智能封面管道。具體操作,請參見創建管道。
輸出路徑
單擊選擇,在Bucket下拉列表中,選擇Bucket名稱。路徑下方會顯示對應Bucket下已經創建好的文件夾,請選擇一個作為輸出路徑。
說明當輸出路徑和輸入路徑相同時:
若文件不同名,則輸出文件不會覆蓋源文件。
若文件同名,是否覆蓋由OSS配置決定。無需覆蓋的配置方法請參見Java禁止覆蓋同名文件。配置后會導致同名文件轉碼完成后寫入OSS失敗,建議不要設置輸出文件與源文件同名。
為避免媒體工作流多次執行時覆蓋輸出文件,您可以組合使用系統內置的UC變量參數:
{RunId}:媒體工作流執行ID。
{ObjectPrefix}:不含Bucket信息的原文件路徑。
{FileName}:含擴展名的原文件名,根據轉碼模板的format補齊后綴。
{ExtName}:原文件擴展名。
(可選)設置封面
單擊開關按鈕,將圖片設為封面。
單擊確定,完成智能封面節點設置。
發布節點
單擊發布節點右側筆形圖標,進入發布設置頁面。
設置發布參數。
參數
說明
媒體發布類型
選擇工作流任務完成后的媒體發布方式。
手動發布:工作流執行成功后,將媒體設置為未發布狀態,之后您可以手動發布該媒體。手動發布媒體文件,請參見管理媒體。
自動發布:工作流執行成功后,將媒體設置為發布狀態。
說明發布狀態會影響輸出文件的訪問權限。
不發布:視頻、音頻、截圖文件的訪問權限為私有。
已發布:視頻、音頻、截圖文件的訪問權限繼承所在Bucket的訪問權限。
單擊確定,完成發布節點設置。
后續步驟
直播錄制的M3U8文件,如果在錄制過程中多次調用OSS PutObject來更新M3U8文件,會導致多次觸發工作流執行。為了避免重復觸發,建議將工作流設置為手動觸發,待M3U8文件最終更新完畢再調用AddMedia接口觸發工作流。或工作流設置為自動觸發,但需要等整場直播錄制完畢,再一次性上傳到OSS。
工作流創建后,將自動激活為啟用狀態,且觸發模式為自動觸發。即無論以何種方式新增上傳(OSS上傳、控制臺上傳)至輸入節點綁定的輸入路徑的文件,只要滿足觸發規則,就會自動觸發工作流執行。上傳文件請參見上傳視頻,觸發規則請參見工作流的文件匹配規則。
如果您希望新增文件通過手動觸發工作流執行,可以:
調用UpdateMediaWorkflowTriggerMode接口,配置TriggerMode參數為NotInAuto,將已有工作流修改為不自動觸發。或調用AddMediaWorkflow接口,配置TriggerMode參數為NotInAuto,創建一個不自動觸發的新工作流。
當需要觸發時,調用AddMedia提交新增媒體作業接口以觸發工作流執行。
如果您希望對歷史文件觸發工作流執行,請調用AddMedia提交新增媒體作業接口以觸發工作流執行。
如您希望編輯、停用工作流,請參見編輯、停用工作流。