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

:StartLiveMPUTask

最終更新日:Jan 23, 2026

混合ストリームとトランスコードのタスクを作成します。

操作説明

デフォルトでは、各アプリケーション ID は最大 200 の単一ストリームのアップストリーミングタスクと 40 の混合ストリームとトランスコードのタスクをサポートします。クォータを増やすには、チケットを送信してください。

混合ストリームタスクのライフサイクル

開始

  • ストリーマーが初めてストリーミングを開始するときに、StartLiveMPUTask を呼び出してバイパスタスクを開始できます。

    • チャンネルにユーザーがいない場合、「channel does not exist」というエラーが返されます。

    • バイパスストリームは、ユーザーがアップストリーミングを開始した場合にのみ出力されます。単一ストリームタスクのユーザーがストリームをアップストリームしない場合、バイパスストリームは再生できません。

    • 混合ストリームタスクの場合、バイパスストリームを再生可能にするには、少なくとも 1 人のユーザーがストリームをアップストリームしている必要があります。ストリームをアップストリームしていないユーザーのレイアウトエリアは黒い画面で表示されます。

  • ご利用のビジネスサーバーで、バイパスタスクのステータス、タスクタイプ、およびタスクパラメーターを記録できます。

    • タスクステータス:開始、停止。

    • タスクタイプ:単一ストリーム、混合ストリーム。

    • タスクパラメーター:最新の入力パラメーター。たとえば、UpdateLiveMPUTask の呼び出しが成功した後、最新のタスクパラメーターを記録します。

  • 共同ストリーミングまたは PK シナリオで、タスクが混合ストリームタスクに更新された後、ストリーマーが予期せずチャンネルから退出してから再参加した場合、ご利用のビジネスサーバーは StartLiveMPUTask を呼び出して、保存されたタスクタイプとパラメーターに基づいて混合ストリームタスクを再開できます。

    • タスクを開始する前にシステムがタスクを自動的にクリアしていない場合、タスクは正常に開始されます。

    • システムがまだタスクをクリアしていない場合、Task already exists エラーコードが返されます。

終了

  • ストリーマーがチャンネルから退出するときは、StopLiveMPUTask を呼び出してバイパスタスクを停止します。

  • タスク内のすべてのユーザーがチャンネルから退出しても StopLiveMPUTask が呼び出されない場合、システムは 2 分後に自動的にバイパスタスクを停止します。

QPS 制限

この API の単一ユーザーに対する 1 秒あたりのクエリ数 (QPS) の上限は 500 回/秒です。この上限を超えると、API 呼び出しがスロットリングされます。これはビジネスに影響を与える可能性があります。この API は適切に呼び出すことを推奨します。

今すぐお試しください

この API を OpenAPI Explorer でお試しください。手作業による署名は必要ありません。呼び出しに成功すると、入力したパラメーターに基づき、資格情報が組み込まれた SDK コードが自動的に生成されます。このコードをダウンロードしてローカルで使用できます。

テスト

RAM 認証

下表に、この API を呼び出すために必要な認証情報を示します。認証情報は、RAM (Resource Access Management) ポリシーを使用して定義できます。以下で各列名について説明します。

  • アクション:特定のリソースに対して実行可能な操作。ポリシー構文ではAction要素として指定します。

  • API:アクションを具体的に実行するための API。

  • アクセスレベル:各 API に対して事前定義されているアクセスの種類。有効な値:create、list、get、update、delete。

  • リソースタイプ:アクションが作用するリソースの種類。リソースレベルでの権限をサポートするかどうかを示すことができます。ポリシーの有効性を確保するため、アクションの対象として適切なリソースを指定してください。

    • リソースレベルの権限を持つ API の場合、必要なリソースタイプはアスタリスク (*) でマークされます。ポリシーのResource要素で対応する ARN を指定してください。

    • リソースレベルの権限を持たない API の場合、「すべてのリソース」と表示され、ポリシーのResource要素でアスタリスク (*) でマークされます。

  • 条件キー:サービスによって定義された条件のキー。このキーにより、きめ細やかなアクセス制御が可能になります。この制御は、アクション単体に適用することも、特定のリソースに対するアクションに適用することもできます。Alibaba Cloud は、サービス固有の条件キーに加えて、すべての RAM 統合サービスに適用可能な一連の共通条件キーを提供しています。

  • 依存アクション:ある特定のアクションを実行するために、前提として実行が必要となる他のアクション。依存アクションの権限も RAM ユーザーまたは RAM ロールに付与する必要があります。

アクション

アクセスレベル

リソースタイプ

条件キー

依存アクション

live:StartLiveMPUTask

create

*All Resource

*

なし なし

リクエストパラメーター

パラメーター

必須 / 任意

説明

AppId

string

必須

アプリケーション ID。1 つの ID のみがサポートされます。大文字、小文字、数字、アンダースコア (_)、ハイフン (-) を使用できます。最大長は 64 文字です。

yourAppId

ChannelId

string

必須

チャンネル ID。1 つの ID のみがサポートされます。大文字、小文字、数字、アンダースコア (_)、ハイフン (-) を使用できます。最大長は 64 文字です。

yourChannelId

TaskId

string

必須

タスク ID。1 つの ID のみがサポートされます。大文字、小文字、数字、アンダースコア (_)、ハイフン (-) を使用できます。最大長は 55 文字です。この ID は、バイパスアップストリーミングタスクの一意の識別子です。 新しいタスクを開始する際に、同じ ID のタスクがまだ存在し、クリアされていない場合、`InvalidParam` が返されます。

yourTaskId

MixMode

string

必須

混合ストリームモード。有効値:

  • 0:単一ストリームのアップストリーミング。元の単一ストリームは、混合ストリームやトランスコードなしでアップストリームされます。混合ストリームとトランスコードのパラメーターを設定する必要はありません。

  • 1 (デフォルト):混合ストリームとトランスコード。

0

StreamURL

string

任意

ライブアップストリーミング URL。RTMP プロトコルのみがサポートされます。1 つの URL のみがサポートされます。最大長は 2048 文字です。URL の生成方法については、「アップストリーミング URL と再生 URL」をご参照ください。

説明
  • ホットリンク保護が有効になっているドメイン名の場合、アップストリーミング URL にはアクセストークンを含める必要があります。

  • 異なるタスクで同時に同じ StreamURL を使用しないでください。

  • タスクが停止してから 10 秒以内に同じ StreamURL を使用しないでください。

rtmp://example.com/live/stream

MultiStreamURL

array<object>

任意

複数の URL へのアップストリーミングのためのパラメーター。複数のライブアップストリーミング URL を指定できます。

説明

タスクのアップストリーミング URL を設定する際は、StreamURL パラメーターまたは MultiStreamURL パラメーターのいずれかを設定する必要がありますが、両方を設定することはできません。

object

任意

URL

string

任意

ライブアップストリーミング URL。RTMP プロトコルのみがサポートされます。最大長は 2048 文字です。URL の生成方法については、「アップストリーミング URL と再生 URL」をご参照ください。

rtmp://example.com/live/stream****

IsAliCdn

boolean

任意

ストリームを Alibaba Cloud CDN にアップストリームするかどうかを指定します。

  • false:Alibaba Cloud 以外の CDN にアップストリームします。

  • true:Alibaba Cloud CDN にアップストリームします。

説明

デフォルト値は false です。

false

Region

string

任意

混合ストリームサービスが配置されているリージョン。有効値:

  • CN-Shanghai:中国 (上海)。

  • AP-Singapore(デフォルト):シンガポール。

  • EMAA-Saudi:サウジアラビア。

CN-Shanghai

MaxIdleTime

string

任意

アイドルタイムアウト期間。単位:秒。値は [10, 86400] の範囲内である必要があります。

説明

このパラメーターを設定すると、タスクが MaxIdleTime より長い期間アイドル状態になったときに自動的に停止します。このパラメーターを設定しない場合、タスクはチャンネルが閉じられた直後に停止します。

10

SingleSubParams

object

任意

単一ストリームのアップストリーミングのパラメーター。このパラメーターは、MixMode が 0 に設定されている場合に必須です。混合ストリームとトランスコードにはこのパラメーターを設定しないでください。

SourceType

string

任意

単一ストリームのアップストリーミングモードでのビデオ入力ストリームのタイプ。このパラメーターはビデオストリーム (StreamType=2) にのみ有効です。有効値:

  • camera (デフォルト):カメラストリーム。

  • shareScreen:画面共有ストリーム。

camera

StreamType

string

任意

単一ストリームのアップストリーミングモードでアップストリームするストリームのタイプ。有効値:

  • 0 (デフォルト):元のストリームをアップストリームします。

  • 1:音声ストリームのみをアップストリームします。

  • 2:ビデオストリームのみをアップストリームします。

0

UserId

string

必須

ストリームがアップストリームされるユーザーの ID。一度に 1 つのストリームのみをアップストリームできます。

yourSubUserId

TranscodeParams

object

任意

混合ストリームとトランスコードのパラメーター。このパラメーターは、MixMode が 1 に設定されている場合に必須です。単一ストリームのアップストリーミングにはこのパラメーターを設定しないでください。

Background

object

任意

混合ストリームのグローバル背景画像。

RenderMode

string

任意

出力ビデオの表示モード。有効値:

  • 0:スケールして黒い背景を表示します。

  • 1 (デフォルト):クリップ。

1

URL

string

任意

グローバル背景画像の URL。最大長は 2048 文字です。

yourImageUrl

EncodeParams

object

任意

出力ストリームのエンコードパラメーター。

AudioOnly

string

任意

ストリームが音声のみであるかどうかを指定します。有効値:

  • true:音声のみ。音声関連のパラメーターのみを設定する必要があります。

  • false (デフォルト):音声のみではない。VideoCodec と EnhancedParam を除くすべてのパラメーターを指定する必要があります。

false

AudioBitrate

string

任意

音声ビットレート。単位:kbps。値は [8, 500] の範囲内である必要があります。

128

AudioChannels

string

任意

音声チャンネル数。有効値:1、2。

2

AudioSampleRate

string

任意

音声サンプリングレート。単位:Hz。有効値:8000、16000、32000、44100、48000。

44100

VideoCodec

string

任意

ビデオエンコード形式。有効値:

  • H.264 (デフォルト)。

  • H.265。

H.264

VideoBitrate

string

任意

ビデオビットレート。単位:kbps。値は [1, 10000] の範囲内である必要があります。

3500

VideoFramerate

string

任意

ビデオフレームレート。単位:fps。値は [1, 60] の範囲内である必要があります。

25

VideoGop

string

任意

ビデオ GOP サイズ。値は [1, 60] の範囲内である必要があります。

20

VideoHeight

string

任意

ビデオの高さ。単位:ピクセル。値は [0, 1920] の範囲内である必要があります。

1000

VideoWidth

string

任意

ビデオの幅。単位:ピクセル。値は [0, 1920] の範囲内である必要があります。

1920

EnhancedParam

string

任意

拡張エンコードパラメーター。これは JSON 文字列です。サポートされているオプションの設定には、`profile` と `preset` が含まれます。

  • `profile`:エンコードプロファイル。ビデオエンコード形式が H.264 の場合、`profile` の有効値は "baseline"、"main"、"high" です。ビデオエンコード形式が H.265 の場合、`profile` の有効値は "main" です。

  • `preset`:エンコード速度と品質のバランスを取ります。`preset` の有効値は "ultrafast"、"superfast"、"veryfast"、"faster"、"fast"、"medium"、"slow"、"slower"、"veryslow"、"placebo" です。各値は、"ultrafast" (最速のエンコード速度) から "placebo" (最高の品質、最も遅いエンコード速度) まで、エンコード速度と出力ビデオ品質のバランスを取る戦略を表します。

説明

たとえば、"superfast" は主にリアルタイム通信に使用されます。エンコーダーの専門家でない場合は、このオプションを設定しないでください。

{"profile": "high", "preset": "veryfast"}

Layout

object

任意

ビデオレイアウト情報。

説明

ビデオトランスコードの場合、座標 (X, Y)、ペインのディメンション (Width, Height)、および重ね順 (ZOrder) を含むビデオレイアウト情報を指定する必要があります。音声のみのトランスコードの場合、ビデオレイアウト情報を指定しないでください。

UserPanes

array<object>

任意

混合ストリーム内のユーザーペインに関する情報。

array<object>

任意

混合ストリーム内のユーザーペインに関する情報。

UserInfo

object

任意

このペインに対応するユーザーに関する情報。このパラメーターを設定しない場合、システムはストリーマーがチャンネルに参加する順序に基づいて自動的に入力します。

説明
  • ユーザー情報を指定する場合、そのユーザーは `TranscodeParams.UserInfos` パラメーターで既に設定されている必要があります。

  • このパラメーターは、元のストリームとビデオストリームにのみ有効です。

SourceType

string

任意

混合ストリームとトランスコードモードでのビデオ入力ストリームのタイプ。このパラメーターはビデオストリーム (StreamType=2) にのみ有効です。有効値:

  • camera (デフォルト):カメラストリーム。

  • shareScreen:画面共有ストリーム。

camera

ChannelId

string

任意

ユーザーが所在するチャンネルの ID。同じチャンネル内のユーザーに対してはこのパラメーターを設定する必要はありません。クロスチャンネルの混合ストリームの場合は、このパラメーターを設定します。

yourChannelId

UserId

string

任意

ユーザー ID。

yourSubUserId

Height

string

任意

ペインの高さ。正規化されたパーセンテージとして表されます。

0.2632

Width

string

任意

ペインの幅。正規化されたパーセンテージとして表されます。

0.3564

X

string

任意

X 座標。正規化されたパーセンテージとして表されます。

0.2456

Y

string

任意

Y 座標。正規化されたパーセンテージとして表されます。

0.3789

ZOrder

string

任意

重ね順。0 が最下層です。レイヤー 1 はレイヤー 0 の上にあり、以下同様です。

0

BackgroundImageUrl

string

任意

ビデオペインの背景画像の URL。最大長は 2048 文字です。ユーザーがカメラをオフにした場合、またはチャンネルに参加していない場合、この画像がそのレイアウト位置に表示されます。

yourImageUrl

RenderMode

string

任意

出力ビデオペインの表示モード。有効値:

  • 0:スケールして黒い背景を表示します。

  • 1 (デフォルト):クリップ。

1

UserInfos

array<object>

任意

混合ストリームのためにサブスクライブするユーザーに関する情報。ユーザーを指定しない場合、すべてのユーザーが混合ストリームに含まれます。

object

任意

混合ストリームのユーザー情報。

SourceType

string

任意

混合ストリームのためにサブスクライブするビデオ入力ストリームのタイプ。このパラメーターはビデオストリーム (StreamType=2) にのみ有効です。有効値:

  • camera (デフォルト):カメラストリーム。

  • shareScreen:画面共有ストリーム。

camera

StreamType

string

任意

混合ストリームでサブスクライブするストリームの種類です。 有効な値は次のとおりです:

  • 0 (デフォルト):オリジナルストリームを取り込みます。

  • 1:オーディオストリームのみを取り込みます。

  • 2:ビデオストリームのみを取り込みます。

0

ChannelId

string

任意

サブスクライブされたユーザーが所在するチャンネルの ID。同じチャンネル内のユーザーに対してはこのパラメーターを設定する必要はありません。クロスチャンネルの混合ストリームの場合は、このパラメーターを設定します。

yourChannelId

UserId

string

必須

混合ストリームのためにサブスクライブするユーザーの ID。

yourSubUserId

SeiParams

object

任意

SEI 設定パラメーター。

LayoutVolume

object

任意

レイアウトと音量の SEI。このパラメーターの内容は空にすることができ、その場合、デフォルトのレイアウトと音量の SEI が伝送されます。

FollowIdr

string

任意

IDR キーフレームを送信する際に SEI が伝送されることを保証するかどうかを指定します。有効値:

  • 0:SEI が伝送されることを保証しません。

  • 1:SEI が伝送されることを保証します。

0

Interval

string

任意

SEI の送信間隔。単位:ミリ秒。値は [1000, 5000] の範囲内である必要があります。

1000

PassThrough

object

任意

パススルー SEI。

FollowIdr

string

任意

IDR キーフレームを送信する際に SEI が伝送されることを保証するかどうかを指定します。有効値:

  • 0:SEI が伝送されることを保証しません。

  • 1:SEI が伝送されることを保証します。

0

Interval

string

任意

SEI の送信間隔。単位:ミリ秒。値は [1000, 5000] の範囲内である必要があります。

1000

PayloadContent

string

任意

パススルー SEI のペイロードコンテンツ。

yourPayloadContent

PayloadContentKey

string

任意

パススルー SEI のペイロードコンテンツに対応するキー。設定しない場合、デフォルトのキーは `udd` です。

yourPayloadContentKey

PayloadType

string

任意

SEI メッセージのカスタム payload_type。値は 100~254 の範囲内である必要があります。設定しない場合、デフォルトの payload_type は 5 です。

100

レイアウトと音量の SEI

パラメーター説明
canvasキャンバス情報。パラメーター:
- w:キャンバスの幅 (ピクセル)。
- h:キャンバスの高さ (ピクセル)。
- bgnd:キャンバスの背景色 (RGB 形式の 16 進整数)。







streamビデオストリーム情報。パラメーター:
- uid:ストリーマーのユーザー ID。
- paneid:リージョンのペイン ID ([0, 8] の範囲)。
- zorder:リージョンの重ね順 ([0, 99] の範囲)。
- x:キャンバス上のリージョンの X 座標 (正規化されたパーセンテージ)。
- y:キャンバス上のリージョンの Y 座標 (正規化されたパーセンテージ)。
- w:リージョンの幅 (正規化されたパーセンテージ)。
- h:リージョンの高さ (正規化されたパーセンテージ)。
- type:リージョン内のビデオストリームのタイプ。0:カメラ。1:画面共有。
- status:リージョン内のビデオストリームのステータス。0:まだプルされていない。1:プルされた。
- muted:ストリーマーのミュートステータス。0:ミュートされていない。1:ミュートされている。PK シナリオで、ストリーマー A がストリーマー B をミュートした場合、ストリーマー B の `muted` フィールドにはミュートステータスが表示されます。
- vol:ストリーマーの音量 (デシベル、[0, 255] の範囲)。
- vad:音声アクティビティ検出。値は [0, 150] の範囲です。150 は音声が検出されたことを示します。150 以外の値は、音声から無音へのトレイルオフ時間を示します。


































tsこの情報が生成されたときのオペレーティングシステムタイムスタンプ (ミリ秒)。
verSEI フォーマットのバージョン (例:1.0.0.20220915)。
udd`PassThrough` パラメーターを介して送信されるシナリオベースのカスタムイベント。コンテンツは `PayloadContent` パラメーターで指定されます。
説明

ユーザーがアップストリームされたストリームをプルすると、ストリーミングメディアデータには SEI 情報が含まれます。この機能を使用してカスタム情報を渡すことができます。SEI 情報は、ビデオストリームのデコード中にビデオフレームデータから取得できます。具体的なフォーマットについては、`PassThrough` パラメーターをご参照ください。

共同ストリーミングシナリオの例:

ストリーマーが 1 人しかいない場合、視聴者が受信する SEI 情報の `stream` コレクションには、1 人のメンバーの情報のみが含まれます。ストリーマーが共同ストリーミングまたは PK セッションに参加している場合、`stream` コレクションには複数のメンバーの情報が含まれます。 たとえば、ストリーマー `streamer111` が単独でストリーミングしている場合、視聴者が受信する SEI フレームフォーマットは次のようになります:
{"canvas":{"w":1920,"h":1080,"bgnd":0},"stream":[{"uid":"streamer111","paneid":-1,"zorder":0,"x":0,"y":0,"w":0,"h":0,"type":0,"status":1,"muted":0,"vol":0,"vad":0}],"ver":"1.0.0.20220915","ts":1697696105170} ストリーマー `streamer111` が視聴者 `viewer222` と共同ストリーミングしている場合、視聴者が受信する SEI フレームフォーマットは次のようになります:
{"canvas":{"w":1920,"h":1080,"bgnd":0},"stream":[{"uid":"streamer111","paneid":0,"zorder":1,"x":0,"y":0.25,"w":0.5,"h":0.5,"type":0,"status":1,"muted":0,"vol":1,"vad":119},{"uid":"viewer222","paneid":1,"zorder":1,"x":0.5018382,"y":0.25,"w":0.5,"h":0.5,"type":0,"status":1,"muted":0,"vol":60,"vad":123}],"ver":"1.0.0.20220915","ts":1697696106230} `stream` 配列の要素数を確認することで、ライブレイアウトが変更されたかどうかを判断できます。`stream` 配列に 1 つの要素がある場合、単一のストリーマーがストリームをアップストリームしています。`stream` 配列に複数の要素がある場合、ストリーマーは共同ストリーミングまたは PK セッションに参加しています。各メンバーのレイアウト情報は、混合ストリームレイアウトにおけるそれぞれの特定の位置を示します。




パススルー SEI

  • カスタム SEI を使用するには、StartLiveMPUTask コマンドを呼び出して混合ストリームとアップストリーミングタスクを開始し、`PassThrough` パラメーターで `PayloadContent` を指定します。また、UpdateLiveMPUTask コマンドを呼び出してタスクを更新し、`PassThrough` パラメーターで `PayloadContent` を指定することもできます。

  • カスタム SEI は定期的に送信できます。期間は `PassThrough` の `Interval` パラメーターを使用して設定できます。単位はミリ秒です。

  • カスタム SEI はキーフレームと共に送信することもできます。これは `PassThrough` の `FollowIdr` パラメーターを使用して設定できます。
    • SEI は定期的にもキーフレームと共にも送信できます。たとえば、`Interval:1000` と `FollowIdr: 1` は、カスタム SEI が 1000 ミリ秒ごとに送信され、すべてのキーフレームと共に送信されることを意味します。

    • `Interval` または `FollowIdr` を設定しない場合、カスタム SEI は API が呼び出されたときに一度だけ送信されます。

たとえば、ストリーマー `streamer111` が単独でストリーミングしている場合、UpdateLiveMPUTask コマンドを呼び出して定期的な SEI を送信できます。`PassThrough` パラメーターで、`Interval` を 1000、`FollowIdr` を 0、`PayloadContent` を "hello world" に設定します。すると、カスタム SEI メッセージが 1000 ミリ秒ごとに送信されます。視聴者が受信する SEI フレームフォーマットは次のようになります:
{"canvas":{"w":1920,"h":1080,"bgnd":0},"stream":[{"uid":"streamer111","paneid":-1,"zorder":0,"x":0,"y":0,"w":0,"h":0,"type":0,"status":1,"muted":0,"vol":0,"vad":0}],"ver":"1.0.0.20220915","ts":1697696109876,"udd":"hello world"}

クロスチャンネルの複数ユーザー混合ストリーム

複数のチャンネルにまたがる複数のストリーマーからのストリームを混合し、混合ストリームをライブストリーミングサービスにアップストリームするには、混合ストリームタスクを作成する際に、クロスチャンネルコールを開始したストリーマーの UserID と ChannelID、および他の参加者の UserID を入力パラメーターとして提供する必要があります。次の例をご参照ください: ライブ PK シナリオで、チャンネル `channelA` のストリーマー `userA` が、クライアント API を使用してチャンネル `channelB` のストリーマー `userB` とクロスチャンネル PK を開始します。両方のストリーマーの混合ストリームは、チャンネル `channelA` の視聴者に出力されます。この場合、混合ストリームタスクを作成するためのチャンネルとユーザーのパラメーターは次のように指定されます:

  • ChannelID:`channelA` を指定します。

  • UserInfos->UserId:それぞれ `userA` と `userB` を指定します。

説明

クロスチャンネルの複数ユーザー混合ストリームタスクを作成する前に、クライアントソフトウェア開発キット (SDK) を介してクロスチャンネルコールを開始する必要があります。異なるチャンネルのユーザーがコール中でない場合、クロスチャンネルの混合ストリームタスクを作成することはできません。クロスチャンネルコールの開始方法の詳細については、「クロスチャンネルサブスクリプション」をご参照ください。

レスポンスフィールド

フィールド

説明

object

リクエスト ID。

RequestId

string

リクエスト ID。

0F72851F-5DC1-1979-9B2C-450040316C3E

成功レスポンス

JSONJSON

{
  "RequestId": "0F72851F-5DC1-1979-9B2C-450040316C3E"
}

エラーコード

HTTP ステータスコード

エラーコード

エラーメッセージ

説明

400 InvalidParam %s.
400 InvalidAppId %s, please check and try again later.
400 MissingParam %s, please check and try again later.
500 InternalError InternalError
403 OperationDenied Your account has not enabled the Live service
403 Forbidden %s, please check and try again later.

完全なリストについては、「エラーコード」をご参照ください。

変更履歴

完全なリストについては、「変更履歴」をご参照ください。