通過云工作流和函數計算對視頻分片轉碼
更新時間 2025-07-28 09:27:40
最近更新時間: 2025-07-28 09:27:40
分享文章
本文介紹如何通過云工作流調用函數,使用FFmpeg工具并行對視頻進行轉碼。
使用場景
由于視頻大小限制,或有轉換效率需求時,通過分片并行執行對視頻轉碼。
準備工作
已開通函數計算。
已創建開通bucket。
已創建。
操作步驟
進入函數計算控制臺,在左側導航點擊應用,然后單擊創建應用按鈕。
在文件處理分類中,找到視頻轉碼云工作流,點擊立即創建。
依照提示填入網絡參數、ZOS和Nas參數。
點擊創建應用,隨后函數資源和工作流資源將根據應用名創建完成。
上傳視頻至ZOS Bucket中。
進入,新工作流應當已經創建完成,工作流名與應用名一致。
點擊進入新創建的工作流,點擊啟動執行,參考以下參數填入執行輸入,等待執行完成。
{
"dst_formats": [
"avi"
],
"oss_bucket_name": "workflow-bucket",
"output_prefix": "workflow/video/output",
"segment_time_seconds": 2,
"video_key": "workflow/video/demo.mp4"
}8. 工作流成功執行后,轉碼后的文件將存儲在對象存儲output_prefix路徑下。
更多控制臺操作與執行結果分析請參照控制臺操作文檔。
方案架構
在以上操作中,我們通過應用中心創建了3個函數與1個云工作流,3個函數都掛載了Nas作為本地存儲。工作流對3個函數做了編排,首先通過splitVideo函數將視頻分片,隨后使用foreach狀態遍歷分片列表,調用Transcode函數并行轉碼,foreach結束后,調用MergeVideo函數聚合分片。
該方案中,函數完成了視頻處理的具體邏輯,工作流定義了對函數的編排和數據流轉。用戶只需要維護ZOS和Nas資源,ZOS作為持久化存儲,Nas作為臨時存儲,其它資源均為serverless資源,相比傳統自建方案,減少了運維成本。
此外,該方案還降低了開發難度與迭代周期,以添加通知邏輯為例,只需要在畫布上簡單拖動,添加通知節點即可實現。