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

Intelligent Media Management:GenerateVideoPlaylist

最終更新日:Jul 16, 2026

動画ファイルを M3U8 ファイルに変換するジャストインタイムトランスコードプレイリストを作成し、プレイリスト生成後すぐに再生できるようにします。再生の進行状況に応じてオンデマンドでトランスコードが実行されるため、トランスコードの待機時間が大幅に短縮され、オフライントランスコードと比較してトランスコードおよびストレージのコストを削減できます。

操作説明

  • この操作を使用する前に、Intelligent Media Management の課金体系および料金を完全に理解していることを確認してください。

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

  • デフォルトでは、この操作は 1 つのビデオ、オーディオ、または字幕ストリームのみを処理します。処理するビデオ、オーディオ、および字幕ストリームの数を設定できます。
    重要 Targets 配下の Video、Audio、Subtitle パラメーターをすべて空にすることはできません。値が空の場合、対応する処理が無効になることを示します。たとえば、Video が空の場合、ビデオ処理は無効になり、出力される TS ファイルにはビデオストリームが含まれません。
  • ソースビデオの最小持続時間は約 0.x 秒であり、出力フレームレートによって異なります。

  • この操作は、メディアプレイリストと Master プレイリストの両方の生成をサポートしています。本ドキュメントのメトリックの説明にアテンションしてください。

  • これは同期操作です。同期または非同期のトランスコードは、再生中または事前トランスコード時のみにトリガーされます。通知メッセージ通知パラメーターを設定することで、メッセージ通知を通じてトランスタスク結果を取得できます。

  • この特徴の詳細については、「ジャストインタイムトランスコード」をご参照ください。

  • 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

任意

プレイリスト生成の開始時刻。単位: 秒。有効な値:

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

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

説明

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

0

SourceDuration

number

任意

プレイリスト生成の持続時間。単位: 秒。有効な値:

  • 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

任意

Master プレイリストの OSS URI。

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

説明

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

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

Targets

array<object>

必須

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

説明

複数の Target を設定する場合、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 の場合、oss://test-bucket/test-object/output-video.m3u8 ファイルと複数の oss://test-bucket/test-object/output-video-${token}-${index}.ts ファイルが生成されます。${token} はトランスコードパラメーターに基づいて生成される一意の文字列であり、API 応答に含まれます。${index} は 0 から始まる TS ファイルのシーケンス番号です。

説明

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

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

Container

string

任意

Video TargetVideo

任意

ビデオ処理のパラメータ設定。値が空 (デフォルト) の場合、ビデオ処理が無効であり、出力される TS ファイルにビデオストリームが含まれないことを示します。

説明

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

Audio TargetAudio

任意

オーディオ処理のパラメータ設定。値が空 (デフォルト) の場合、オーディオ処理が無効であり、出力される TS ファイルにオーディオストリームが含まれないことを示します。

説明

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

Subtitle TargetSubtitle

任意

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

説明

Subtitle フィールドは、同じ Target 内の Video または Audio フィールドと相互排他です。字幕は、Subtitle が単独で設定された場合にのみ生成されます。

TranscodeAhead

integer

任意

ジャストインタイムトランスコードがトリガーされた際に事前にトランスコードする TS ファイルの数。デフォルトでは、2 分間のビデオが事前にトランスコードされます。

  • 例: Duration が 10 の場合、TranscodeAhead のデフォルト値は 12 です。このパラメーターを指定して、非同期の事前トランスコードファイルの数をコントロールできます。有効な値: [10, 30]。

12

Duration

number

任意

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

10

InitialTranscode

number

任意

初期トランスコードの持続時間。単位: 秒。デフォルト値: 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

Tags

object

任意

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

説明

このレベルのタグ値は、親レベルで定義された Tags とマージされ、現在の Target のタグ値が形成されます。同じ名前のタグが存在する場合、このレベルの値が優先されます。

string

任意

タグ値。

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

Tags

object

任意

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

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

string

任意

タグ値。

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

CredentialConfig CredentialConfig

任意

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

中国国内の権限付与構成。このパラメーターは任意です。詳細については、「中国国内の権限付与を使用した他エンティティのリソースへのアクセス」をご参照ください。

Notification Notification

任意

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

OverwritePolicy

string

任意

メディアプレイリストが既に存在する場合の上書きポリシー。有効な値:

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

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

overwrite

レスポンスフィールド

フィールド

説明

object

レスポンスのスキーマ。

RequestId

string

リクエスト ID。

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

Duration

number

出力ビデオの合計持続時間。

1082

Token

string

Master プレイリストのトークン。

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

MasterURI

string

Master プレイリストの OSS URI。

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

VideoPlaylist

array<object>

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

object

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

Token

string

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

説明

返された Token 値に基づいて、トランスコードされた TS ファイルのアドレスを構築できます。フォーマットは oss://${Bucket}/${Object}-${Token}-${Index}.ts です。ここで、oss://${Bucket}/${Object} は入力パラメーターで指定された Target 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 ファイルのアドレスを構築できます。

affe0c6042f09722fec95a21b8b******

URI

string

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

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

Channels

integer

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

1

SubtitlePlaylist

array<object>

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

object

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

Token

string

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

説明

返された Token 値に基づいて、トランスコードされた字幕ファイルのアドレスを構築できます。フォーマットは 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
    }
  ]
}

エラーコード

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

変更履歴

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