すべてのプロダクト
Search
ドキュメントセンター

Intelligent Media Services:インテリジェントワークフロー設定のベストプラクティス

最終更新日:Aug 14, 2026

インテリジェントワークフローを使用すると、モジュール化され、カスタマイズ可能なメディア処理パイプラインを構築できます。このトピックでは、ライブストリーム翻訳と RTC 字幕認識の設定例を紹介します。

シナリオ 1:ライブストリーム翻訳

インテリジェントワークフローはライブストリームに対して音声認識を実行し、リアルタイム翻訳を生成します。さらに、各文の中間結果と最終結果をコールバックを通じて HTTP サーバーに送信します。

全体トポロジー設定

image

このトポロジーは 6 つのノードで構成されています:[Start]、[自動音声認識 (ASR)]、[大規模言語モデル (LLM)]、[コード実行]、[HTTP リクエスト]、[End]。

各ノードの設定は次のとおりです:

Start ノード

ワークフローの開始時に、次の入力パラメーターを Start ノードに渡します:

{
  "live_url": {
      "Url": "rtmp://test.com/test_app/test_stream?auth_key=test",
      "MaxIdleTime": 20
  },
  "source_language_id": "es"
}

パラメーター

必須

説明

live_url

はい

次のフィールドを含むオブジェクトとして渡します:

  • Url:公開アクセス可能なライブストリーミング URL です。

  • MaxIdleTime:ライブストリームのプルに対するタイムアウト期間です。20 秒を超えてデータを受信しない場合、タスクは停止します。

source_language_id

はい

ソース言語です。以下のリストから値を選択します。

Mandarin Chinese: zh
English: en
Spanish: es
Japanese: ja
Korean: ko
French: fr
Thai: th
Russian: ru
German: de
Guangxi dialect: guangxi
Portuguese: pt
Cantonese: yue
Traditional Cantonese: yue_hant
Minnan: minnan
Polish: pl
Italian: it
Ukrainian: uk
Dutch: nl
Arabic: ar
Indonesian: id
Turkish: tr
Vietnamese: vi

ASR ノード

ASR ノードの設定パネルには、以下の設定項目があります:

  • [モデル設定]:[システムプリセット] を選択します(他のオプションには [サードパーティプラグイン][カスタム統合] が含まれます)

  • [無音タイムアウト]:デフォルト値は 400 ms です

  • [カスタムホットワード]: TXT ファイルをアップロード (最大 500 単語、各単語最大 10 文字、ファイルサイズ最大 100 KB、UTF-8 エンコーディング (BOM なし))

入力変数には Start ノードの live_url パラメーターを、入力言語には Start ノードの source_language_id パラメーターを設定します。その他のパラメーターはデフォルトのままにするか、必要に応じて設定してください。

LLM ノード

この例では、qwen-mt-turbo モデルを、[カスタムモデル統合 (OpenAI 互換)] 方式で設定します。[ターゲットプロトコルアドレス]https://dashscope.aliyuncs.com/compatible-mode/v1 に設定します。API キーの取得方法の詳細については、「API キーの取得」をご参照ください。モデルパラメーター (JSON) で、translation_options オブジェクト内の source_lang および target_lang フィールドを設定します。ユーザープロンプトは、ASR ノードからの中間結果または最終結果を直接参照できます。

コード実行ノード

このノードの名前は [Intermediate English Translation Result Assembly] です。2 つの入力変数を設定します:arg1 (オブジェクトタイプ、ASR の認識結果を参照) と arg2 (文字列タイプ、翻訳結果を参照)。Python 3 のコードでは arg1['TransText'] = arg2 を実行し、return {"result": arg1} を返します。出力変数 result はオブジェクトタイプです。

コールバック用に ASR と LLM の翻訳結果をマージするには、[コード実行] ノードで Python スクリプトを使用します。LLM の出力を ASR 結果の TransText フィールドに設定し、その後、コールバックデータとして JSONObject を返します。

HTTP リクエストノード

以下の項目を設定します:

  • リクエストメソッド: [POST]。

  • API 設定:コールバックサーバーのパブリックアドレスです。

  • URL パラメーター:result_type=mid_en です。コールバックタイプはカスタマイズできます。

  • リクエストボディタイプ:json です。

  • リクエストボディデータ:コールバックデータの JSON 出力を参照します。

シナリオ 2:RTC 字幕認識

インテリジェントワークフローは、リアルタイム通信 (RTC) のチャネル内で指定したオーディオストリームに対して ASR を実行します。認識結果は DataChannel のコールバックを通じてクライアントに送信され、字幕として表示されます。

全体トポロジー設定

image

このトポロジーは 4 つのノードで構成されています:[Start]、[ASR]、[RTC インジェスト]、[End]。

各ノードの設定は次のとおりです:

Start ノード

変数の説明:

  • rtc:ワークフローの開始時に RTC パラメーターを渡します。これには AppIdChannelIdUserId が含まれます。また、出力するオーディオストリームを選択する必要があります。

  • source_language_id:認識用のソース言語です。

  • push_app_id:DataChannel コールバック用の RTC AppId です。

  • push_channel_id:DataChannel コールバック用の RTC ChannelId です。

  • push_uid:DataChannel コールバック用の RTC UserId です。

変数の例:

{
  "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 ノード

ASR ノード設定パネルでは、[モデル設定][システムプリセット][サードパーティプラグイン]、および [カスタム統合] の 3 つのモードをサポートしています。[無音タイムアウト] のデフォルトは 400 ms です。[カスタムホットワード] は、最大 500 ワード (各単語は最大 10 文字)、ファイルサイズ最大 100 KB、BOM なし UTF-8 エンコーディングの TXT ファイルのアップロードをサポートしています。

入力変数には Start ノードの RTC 入力のオーディオを、入力言語には Start ノードの source_language_id パラメーターを設定します。その他のパラメーターはデフォルトのままにするか、必要に応じてカスタマイズしてください。

RTC インジェストノード

[オーディオ] 入力変数の型は Stream です。オーディオストリーム変数の値を参照してください。

text 入力変数は、ASR ノードからの出力テキストを参照します。App ID、チャネル ID、ユーザー ID は Start ノードの push_app_idpush_channel_idpush_uid フィールドに対応し、DataChannel ストリームインジェストのロール情報を表します。