動画ファイルを M3U8 ファイルに変換するジャストインタイムトランスコードプレイリストを作成し、プレイリスト生成後すぐに再生できるようにします。再生の進行状況に応じてオンデマンドでトランスコードが実行されるため、トランスコードの待機時間が大幅に短縮され、オフライントランスコードと比較してトランスコードおよびストレージのコストを削減できます。
操作説明
この操作を使用する前に、Intelligent Media Management の課金体系および料金を完全に理解していることを確認してください。
この操作を呼び出す前に、現在のリージョンでプロジェクトがアクティブであることを確認してください。詳細については、「プロジェクト管理」をご参照ください。
- デフォルトでは、この操作は 1 つのビデオ、オーディオ、または字幕ストリームのみを処理します。処理するビデオ、オーディオ、および字幕ストリームの数を設定できます。
重要 Targets 配下の Video、Audio、Subtitle パラメーターをすべて空にすることはできません。値が空の場合、対応する処理が無効になることを示します。たとえば、Video が空の場合、ビデオ処理は無効になり、出力される TS ファイルにはビデオストリームが含まれません。
ソースビデオの最小持続時間は約 0.x 秒であり、出力フレームレートによって異なります。
この操作は、メディアプレイリストと Master プレイリストの両方の生成をサポートしています。本ドキュメントのメトリックの説明にアテンションしてください。
これは同期操作です。同期または非同期のトランスコードは、再生中または事前トランスコード時のみにトリガーされます。通知メッセージ通知パラメーターを設定することで、メッセージ通知を通じてトランスタスク結果を取得できます。
この特徴の詳細については、「ジャストインタイムトランスコード」をご参照ください。
OSS のデータ処理機能でもプレイリスト生成特徴が提供されていますが、簡略化されたパラメーターによるメディアプレイリストの生成のみをサポートしています。詳細については、OSS データ処理の「プレイリストの生成」をご参照ください。
今すぐお試しください
テスト
RAM 認証
|
アクション |
アクセスレベル |
リソースタイプ |
条件キー |
依存アクション |
|
imm:GenerateVideoPlaylist |
none |
*Project
|
なし | なし |
リクエストパラメーター
|
パラメーター |
型 |
必須 / 任意 |
説明 |
例 |
| 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 |
任意 |
プレイリスト生成の開始時刻。単位: 秒。有効な値:
説明
このパラメーターを SourceDuration と一緒に設定することで、ソースビデオの特定の部分に対するプレイリストを生成できます。 |
0 |
| SourceDuration |
number |
任意 |
プレイリスト生成の持続時間。単位: 秒。有効な値:
説明
指定されたパラメーターに対応する時点がソースビデオの終了時刻を超える場合、デフォルト値が使用されます。 |
0 |
| SourceSubtitles |
array<object> |
任意 |
追加する字幕のリスト。デフォルトではこのパラメーターは空です。最大 2 つの字幕がサポートされています。 |
|
|
object |
任意 |
字幕情報。 |
||
| URI |
string |
必須 |
埋め込む字幕の OSS URI。 OSS URI は oss://${Bucket}/${Object} のフォーマットに従います。${Bucket} は現在のプロジェクトと同じリージョンにある OSS バケットの名前、${Object} はファイルの完全なパスです。 説明
MasterURI パラメーターは空であってはならず、字幕の OSS URI |
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} はファイル拡張子を含まないファイルの完全なパスプレフィックスです。
説明
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 分間のビデオが事前にトランスコードされます。
|
12 |
| Duration |
number |
任意 |
単一 TS ファイルの再生持続時間。単位: 秒。デフォルト値: 10。有効な値: [5, 15]。 |
10 |
| InitialTranscode |
number |
任意 |
初期トランスコードの持続時間。単位: 秒。デフォルト値: 30。
説明
このパラメーターは主に、最初のビデオ再生の待機時間を短縮し、再生体験を向上させるために使用されます。従来の VOD ビジネスシナリオを置き換えたい場合は、ビデオ全体を最初にトランスコードすることを試してください。 |
30 |
| InitialSegments |
array |
任意 |
初期トランスコード TS ファイル持続時間の配列。配列の最大長は 6 です。デフォルトではこのパラメーターは空であり、Duration パラメーターとは独立しています。 |
|
|
number |
任意 |
初期トランスコード TS ファイルの持続時間。有効な値: [1, Duration]。
説明
初期トランスコード 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 |
レスポンスフィールド
|
フィールド |
型 |
説明 |
例 |
|
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
}
]
}
エラーコード
完全なリストについては、「エラーコード」をご参照ください。
変更履歴
完全なリストについては、「変更履歴」をご参照ください。