本文檔指導開發人員通過智能工作流程實現智能ApsaraVideo for Media Processing,協助使用者將ApsaraVideo for Media Processing功能流程化、模組化,並自訂處理流程。
情境一:直播翻譯
通過智能工作流程對直播流進行語音辨識後,即時產生中英文翻譯結果,並將每句話的中間結果與最終結果回調至HTTP商務服務器。
整體拓撲配置

包含開始、ASR、LLM、代碼執行、HTTP請求、結束六個節點。
節點配置詳情如下:
開始節點

啟動工作流程時,可傳入如下參數作為開始節點入參:
{
"live_url": {
"Url": "rtmp://test.com/test_app/test_stream?auth_key=test",
"MaxIdleTime": 20
},
"source_language_id": "es"
}參數名 | 必填項 | 說明 |
live_url | 是 | 需以Object格式傳入,其中:
|
source_language_id | 是 | 源語種資訊,取值可從以下列表中擷取。 |
中文普通話:zh
英文:en
西班牙:es
日語:ja
韓語:ko
法語:fr
泰語:th
俄語:ru
德語:de
廣西方言:guangxi
葡萄牙語:pt
粵語:yue
繁體粵語:yue_hant
閩南語:minnan
波蘭語情境:pl
意大利語情境:it
烏克蘭語情境:uk
荷蘭語:nl
阿拉伯語:ar
印尼語:id
土耳其語:tr
越南語:viASR節點

輸入變數引用開始節點live_url參數,輸入語種引用開始節點source_language_id參數,其他參數保持預設或根據需求進行自訂配置。
LLM節點

此處以自有模型接入(符合OpenAI規範)方式配置qwen-mt-turbo模型,API Key擷取請參考擷取API Key,模型參數中需設定翻譯的源語種(可設為auto)及目標語種,使用者提示詞可直接引用ASR的中間結果或最終結果。
代碼執行節點

為將ASR識別結果與大模型翻譯結果合并後回調至商務服務器,需使用Python指令碼通過代碼執行節點進行結果組裝:將大模型輸出設定到ASR結果的TransText欄位,最終返回JSONObject作為回調資料。
HTTP請求節點

此處需要配置:
API配置:回調伺服器公網地址。
URL參數:result_type=mid_en(可自訂回調類型)。
請求體類型:json。
請求體資料:引用回調資料輸出的JSON結果。
情境二:RTC字幕識別
通過智能工作流程對RTC房間內指定的音頻流進行ASR識別,識別結果通過DataChannel回調至用戶端顯示字幕。
整體拓撲配置

包含開始、ASR、RTC推流、結束四個節點。
節點配置詳情如下:
開始節點

變數說明如下:
rtc:啟動時需傳入RTC參數,其中包含AppId(應用ID)、ChannelId(頻道ID)、UserId(使用者ID),並選擇輸出音頻流。
source_language_id:需要識別的源語種。
push_app_id:DataChannel回調的RTC應用Id。
push_channel_id:DataChannel回調的RTC頻道Id。
push_uid:DataChannel回調的RTC使用者Id。
變數樣本:
{
"rtc": {
"AppId": "xxx",
"ChannelId": "rtcaitest1",
"UserId": "userA"
},
"source_language_id": "zh",
"push_app_id": "app_id",
"push_channel_id": "channel_id",
"push_uid": "user_id"
}ASR節點

輸入變數引用開始節點輸入直播流的音頻,輸入語種引用開始節點source_language_id參數,其他參數保持預設或根據需求進行自訂配置。
RTC推流節點

輸入變數text需引用ASR輸出文本,App ID、頻道ID、使用者ID分別對應開始節點的push_app_id、push_channel_id、push_uid欄位,表示DataChannel推流角色資訊。