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

:GenerateVideoPlaylist

最終更新日:Jan 27, 2026

ビデオファイルからライブトランスコーディング用のプレイリストを生成します。出力は M3U8 ファイルで、再生の進行状況に基づいて即時再生とオンデマンドトランスコーディングを可能にします。オフラインのトランスコーディングと比較して、このメソッドはトランスコーディングの待機時間を大幅に短縮し、トランスコーディングとストレージのオーバーヘッドを削減します。

操作説明

  • この API を使用する前に、Intelligent Media Management (IMM) の課金方法と料金を必ずご確認ください。

  • この API を呼び出す前に、現在のリージョンにアクティブなプロジェクトが存在することを確認してください。詳細については、「プロジェクト管理」をご参照ください。

  • デフォルトでは、この API はビデオ、オーディオ、または字幕ストリームを 1 つだけ処理します。処理するビデオ、オーディオ、字幕ストリームの数を設定することもできます。
    重要 `Targets` 内の `Video`、`Audio`、`Subtitle` パラメーターをすべて空にすることはできません。パラメーターが空の場合、対応する処理は無効になります。たとえば、`Video` パラメーターが空の場合、ビデオ処理は無効になり、出力される TS ファイルにはビデオストリームが含まれません。
  • ソースビデオの長さは 0.x 秒以上である必要があります。最小時間は、出力フレームレートによって若干異なります。

  • この API は、メディアプレイリストとマスタープレイリストの両方の生成をサポートしています。詳細については、このドキュメントのパラメーターの説明をご参照ください。

  • これは同期 API です。トランスコーディングは、再生中または事前トランスコーディング中にのみトリガーされます。Notification パラメーターを設定して、非同期通知メッセージを通じてトランスコーディングタスクの結果を受信できます。

  • この API の特徴の詳細については、「ライブトランスコーディング」をご参照ください。

  • OSS のデータ処理機能を使用してプレイリストを生成することもできます。ただし、この機能はメディアプレイリストのみを生成し、簡略化されたパラメーターを使用します。詳細については、OSS データ処理のトピック「プレイリストの生成」をご参照ください。

今すぐお試しください

この 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 ロールに付与する必要があります。

アクション

アクセスレベル

リソースタイプ

条件キー

依存アクション

imm:GenerateVideoPlaylist

none

*Project

acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}

なし なし

リクエストパラメーター

パラメーター

必須 / 任意

説明

ProjectName

string

必須

プロジェクト名。プロジェクト名の取得方法の詳細については、「プロジェクトの作成」をご参照ください。

immtest

UserData

string

任意

カスタム情報。この情報は、非同期通知メッセージで返され、メッセージとサービスを関連付けるのに役立ちます。最大長は 2,048 バイトです。

{"ID": "user1","Name": "test-user1","Avatar": "http://example.com?id=user1"}

SourceURI

string

必須

ビデオの OSS URI。

OSS URI は `oss://${Bucket}/${Object}` の形式である必要があります。`${Bucket}` は、現在のプロジェクトと同じリージョンにある OSS バケットの名前です。`${Object}` は、ファイル名拡張子を含むファイルの完全なパスです。

説明

OSS 標準ストレージバケットのみがサポートされています。ホットリンク保護のホワイトリストが設定されたバケットはサポートされていません。

oss://test-bucket/test-source-object/video.mp4

SourceStartTime

number

任意

プレイリストを生成する開始時刻。単位:秒 (s)。有効値:

  • 0 (デフォルト) または空:ソースビデオの最初から開始します。

  • 0 より大きい値:ソースビデオの指定した時点から開始します。

説明

このパラメーターを SourceDuration パラメーターと一緒に設定して、ソースビデオの特定の部分のプレイリストを生成できます。

0

SourceDuration

number

任意

プレイリストが生成される時間。単位:秒 (s)。有効値:

  • 0 (デフォルト) または空:ソースビデオの最後まで続行します。

  • 0 より大きい値:開始時刻から指定された時間だけ続きます。

説明

指定された時間がソースビデオの終わりを超える場合、デフォルト値が使用されます。

0

SourceSubtitles

array<object>

任意

追加する字幕のリスト。デフォルト値は空です。最大 2 つの字幕を追加できます。

object

任意

字幕情報。

URI

string

必須

埋め込む字幕ファイルの OSS URI。

OSS URI は `oss://${Bucket}/${Object}` の形式である必要があります。`${Bucket}` は、現在のプロジェクトと同じリージョンにある OSS バケットの名前です。`${Object}` は、ファイルの完全なパスです。

説明

MasterURI パラメーターは空にできません。埋め込む字幕ファイルの OSS URI、oss://${Bucket}/${Object} は、MasterURI で指定されたディレクトリと同じディレクトリまたはそのサブディレクトリにある必要があります。

oss://test-bucket/test-object/subtitle/eng.vtt

Language

string

任意

字幕の言語。値は ISO 639-2 標準に準拠する必要があります。デフォルト値は空です。

eng

MasterURI

string

任意

マスタープレイリストの OSS URI。

OSS URI は `oss://${Bucket}/${Object}` の形式である必要があります。`${Bucket}` は、現在のプロジェクトと同じリージョンにある OSS バケットの名前です。`${Object}` は、`.m3u8` ファイル名拡張子を持つファイルの完全なパスです。

説明

プレイリストに字幕入力または複数のターゲット出力がある場合、`MasterURI` は必須です。字幕 URI またはターゲット URI は、`MasterURI` で指定されたディレクトリと同じディレクトリまたはそのサブディレクトリにある必要があります。

oss://test-bucket/test-object/master.m3u8

Targets

array<object>

必須

ライブトランスコーディングプレイリストの配列。配列の最大長は 6 です。各ターゲットは、最大 1 つのビデオメディアプレイリストと 1 つ以上の字幕メディアプレイリストに対応します。

説明

複数のターゲットを設定する場合、MasterURI パラメーターは空にできません。

array<object>

任意

ライブトランスコーディングタスクの詳細。

URI

string

任意

ライブトランスコーディングの出力ファイル (M3U8 ファイルと TS ファイルを含む) の OSS URI プレフィックス。

OSS URI は `oss://${Bucket}/${Object}` の形式である必要があります。`${Bucket}` は、現在のプロジェクトと同じリージョンにある OSS バケットの名前です。`${Object}` は、ファイル名拡張子を含まないファイルの完全なパスのプレフィックスです。

  • 例:`URI` が `oss://test-bucket/test-object/output-video` の場合、1 つの `oss://test-bucket/test-object/output-video.m3u8` ファイルと複数の `oss://test-bucket/test-object/output-video-${token}-${index}.ts` ファイルが生成されます。`${token}` は、トランスコーディングパラメーターに基づいて生成される一意の文字列で、API 応答に含まれます。`${index}` は、生成される TS ファイルのシーケンス番号で、0 から始まります。

説明

MasterURI パラメーターが空でない場合、URI は MasterURI で指定されたディレクトリと同じディレクトリまたはそのサブディレクトリにある必要があります。

oss://test-bucket/test-object/output-video

Video TargetVideo

任意

ビデオ処理のパラメーター設定。空の値 (デフォルト) はビデオ処理を無効にします。出力 TS ファイルにはビデオストリームが含まれません。

説明

同じターゲット内の `Video` フィールドと `Subtitle` フィールドは相互排他的です。`Video` フィールドが設定されている場合、`Subtitle` フィールドは無視されます。

Audio TargetAudio

任意

オーディオ処理のパラメーター設定。空の値 (デフォルト) はオーディオ処理を無効にします。出力 TS ファイルにはオーディオストリームが含まれません。

説明

同じターゲット内の `Audio` フィールドと `Subtitle` フィールドは相互排他的です。`Audio` フィールドが設定されている場合、`Subtitle` フィールドは無視されます。`Audio` と `Video` の両方を設定できます。`Audio` は出力ビデオのオーディオ情報を指定します。`Audio` のみを設定してオーディオ情報のみを生成することもできます。

Subtitle TargetSubtitle

任意

字幕処理のパラメーター設定。

説明

`Subtitle` フィールドは、同じターゲット内の `Video` フィールドおよび `Audio` フィールドと相互排他的です。字幕は、`Subtitle` フィールドが独立して設定されている場合にのみ生成できます。

TranscodeAhead

integer

任意

ライブトランスコーディングがトリガーされたときに事前にトランスコーディングする TS ファイルの数。デフォルトでは、2 分間のビデオが事前にトランスコーディングされます。

  • 例:Duration が 10 の場合、TranscodeAhead のデフォルト値は 12 です。このパラメーターを指定して、非同期フォワードトランスコーディングの数をコントロールできます。値は [10, 30] の範囲内である必要があります。

12

Duration

number

任意

単一の TS ファイルの再生時間。単位:秒 (s)。デフォルト値:10。有効値:[5, 15]。

10

InitialTranscode

number

任意

初期トランスコーディング時間。単位:秒 (s)。デフォルト値:30。

  • このパラメーターを 0 に設定すると、事前トランスコーディングは実行されません。

  • このパラメーターを 0 未満の値、またはソースビデオの長さを超える値に設定すると、ビデオ全体が初期トランスコーディングされます。

  • 指定された時間が TS ファイルの途中で終了する場合、トランスコーディングはその TS ファイルの最後まで続行されます。

説明

このパラメーターは主に、最初の再生の待機時間を短縮し、ユーザーエクスペリエンスを向上させるために使用されます。従来の VOD シナリオを置き換えるには、ビデオ全体を初期トランスコーディングすることを試みることができます。

30

InitialSegments

array

任意

初期トランスコーディングされた TS ファイルの時間の配列。配列の最大長は 6 です。デフォルト値は空です。このパラメーターは Duration パラメーターとは独立しています。

number

任意

初期トランスコーディングされた TS ファイルの時間。値は [1, Duration] の範囲内である必要があります。

  • 例:初期 TS ファイルの時間の配列が [2, 2, 4, 4, 8, 8] の場合、シーケンス番号 0 の TS ファイルの時間は 2、シーケンス番号 1 の TS ファイルの時間は 2、シーケンス番号 2 の TS ファイルの時間は 4、シーケンス番号 3 の TS ファイルの時間は 4、シーケンス番号 4 の TS ファイルの時間は 8、シーケンス番号 5 の TS ファイルの時間は 8 です。

説明

初期トランスコーディングされた TS ファイルの時間を短くカスタマイズすると、ビデオの読み込みがスムーズになります。

[2, 2, 4, 4, 8, 8]

Tags

object

任意

生成された TS ファイルに OSS オブジェクトタグを追加します。OSS タグを使用して、OSS ファイルのライフサイクルをコントロールできます。

説明

現在のターゲットのタグは、このレベルで定義されたタグと親レベルで定義されたタグの UNION です。タグ名が同じ場合、現在のレベルの値が使用されます。

string

任意

タグの値。

{\"key1\":\"value1\"}

Tags

object

任意

生成された TS ファイルに OSS オブジェクトタグを追加します。タグを使用して、OSS ファイルのライフサイクルをコントロールできます。

{"key1": "value1", "key2": "value2"}

string

任意

タグの値。

{"key1": "value1", "key2": "value2"}

CredentialConfig CredentialConfig

任意

特別な要件がない場合は、このパラメーターを空のままにしてください。

チェーン権限付与の構成。このパラメーターは必須ではありません。詳細については、「チェーン権限付与を使用して他のエンティティのリソースにアクセスする」をご参照ください。

Notification Notification

任意

メッセージ通知の構成。詳細については、Notification をクリックしてください。非同期通知メッセージのフォーマットの詳細については、「非同期通知メッセージのフォーマット」をご参照ください。

OverwritePolicy

string

任意

既存のメディアプレイリストを上書きするポリシー。有効値:

  • overwrite (デフォルト):既存のメディアプレイリストを上書きします。

  • skip-existing:生成をスキップし、既存のメディアプレイリストを保持します。

overwrite

レスポンスフィールド

フィールド

説明

object

応答のスキーマ

RequestId

string

リクエスト ID。

CA995EFD-083D-4F40-BE8A-BDF75FFF*****

Duration

number

出力ビデオの合計時間。

1082

Token

string

マスタープレイリストのトークン。

92376fbb-171f-4259-913f-705f7ee0****

MasterURI

string

マスタープレイリストの OSS URI。

oss://test-bucket/test-object/master.m3u8

VideoPlaylist

array<object>

ビデオメディアプレイリストファイルのリスト。

object

ビデオメディアプレイリストファイルに関する情報。

Token

string

ビデオメディアプレイリスト用に生成されたトークン。このパラメーターを使用して、生成された TS ファイルの URI を構築できます。

説明

返されたトークン値を使用して、トランスコーディングされた TS ファイルの URI を構築できます。フォーマットは `oss://${Bucket}/${Object}-${Token}-${Index}.ts` です。`oss://${Bucket}/${Object}` はリクエストパラメーターで指定されたターゲット URI です。`${Token}` は返されたパラメーターです。`${Index}` は TS ファイルのシーケンス番号です。

affe0c6042f09722fec95a21b8b******

URI

string

ビデオメディアプレイリストの OSS URI。

oss://test-bucket/test-object/output-video.m3u8

Resolution

string

ビデオの解像度。

640x480

FrameRate

string

ビデオフレームレート。

25/1

AudioPlaylist

array<object>

オーディオメディアプレイリストファイルのリスト。

object

オーディオメディアプレイリストファイルに関する情報。

Token

string

オーディオメディアプレイリスト用に生成されたトークン。このパラメーターを使用して、生成された TS ファイルの URI を構築できます。

affe0c6042f09722fec95a21b8b******

URI

string

オーディオメディアプレイリストの OSS URI。

oss://test-bucket/test-object/output-audio.m3u8

Channels

integer

オーディオチャンネルの数。

1

SubtitlePlaylist

array<object>

字幕メディアプレイリストファイルのリスト。

object

字幕メディアプレイリストファイルに関する情報。

Token

string

字幕メディアプレイリスト用に生成されたトークン。このパラメーターを使用して、生成された字幕ファイルの URI を構築できます。

説明

返されたトークン値を使用して、トランスコーディングされた字幕ファイルの URI を構築できます。フォーマットは `oss://${Bucket}/${Object}-${Token}_${Index}.ts` です。`oss://${Bucket}/${Object}` はリクエストパラメーターで指定された字幕 URI です。`${Token}` は返されたパラメーターです。`${Index}` は字幕のシーケンス番号です。

affe0c6042f09722fec95a21b8b******

URI

string

字幕メディアプレイリストの OSS URI。

oss://test-bucket/test-object/output-subtitle.m3u8

Language

string

字幕ストリームの言語。

説明

言語は、`SourceURI` で指定されたソースビデオの字幕ストリーム情報から取得されます。ソースビデオに言語情報が含まれていない場合、このパラメーターは空になります。

eng

Index

integer

字幕ストリームのシーケンス番号。0 から始まります。

1

成功レスポンス

JSONJSON

{
  "RequestId": "CA995EFD-083D-4F40-BE8A-BDF75FFF*****",
  "Duration": 1082,
  "Token": "92376fbb-171f-4259-913f-705f7ee0****",
  "MasterURI": "oss://test-bucket/test-object/master.m3u8",
  "VideoPlaylist": [
    {
      "Token": "affe0c6042f09722fec95a21b8b******",
      "URI": "oss://test-bucket/test-object/output-video.m3u8",
      "Resolution": "640x480",
      "FrameRate": "25/1"
    }
  ],
  "AudioPlaylist": [
    {
      "Token": "affe0c6042f09722fec95a21b8b******",
      "URI": "oss://test-bucket/test-object/output-audio.m3u8",
      "Channels": 1
    }
  ],
  "SubtitlePlaylist": [
    {
      "Token": "affe0c6042f09722fec95a21b8b******",
      "URI": "oss://test-bucket/test-object/output-subtitle.m3u8",
      "Language": "eng",
      "Index": 1
    }
  ]
}

エラーコード

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

変更履歴

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