ビデオファイルから M3U8 ファイルを生成するジャストインタイムトランスコードプレイリストを作成し、プレイリスト生成後の即時再生を可能にし、再生進捗に基づいてオンデマンドでトランスコードを実行します。オフライントランスコードと比較して、トランスコードの待機時間を大幅に短縮し、トランスコードおよびストレージコストを大きく削減できます。
操作説明
この操作を使用する前に、Intelligent Media Management の課金およびその料金を完全に理解していることを確認してください。
この操作を呼び出す前に、現在のリージョンにアクティブなプロジェクトが存在することを確認してください。詳細については、「プロジェクト管理」をご参照ください。
- デフォルトでは、この操作は 1 つのビデオ、音声、または字幕ストリームのみを処理します。処理するビデオ、音声、および字幕ストリームの数を設定できます。
重要 Targets 配下の Video、Audio、Subtitle パラメーターをすべて空にすることはできません。空の値は、対応する処理が無効であることを示します。たとえば、Video が空の場合、ビデオ処理は無効になり、出力される TS ファイルにはビデオストリームが含まれません。
この操作では、ソースビデオの最小値持続時間が約 0.x 秒必要です。具体的な値は出力フレームレートによって異なります。
この操作は、メディアプレイリストと Master プレイリストの両方の生成をサポートしています。本ドキュメントのメトリックの説明にアテンションを払ってください。
これは同期操作です。同期または非同期のトランスコードは、再生中または事前トランスコード時のみにトリガーされます。 Notification メッセージ通知パラメーターを設定して、メッセージ通知を通じてトランスコードタスク結果を取得できます。
この特徴の詳細については、「ジャストインタイムトランスコード」をご参照ください。
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 |
任意 |
HLS セグメントコンテナタイプ。有効な値:
|
ts |
| 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 |
任意 |
メッセージ通知構成。詳細については、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
}
]
}
エラーコード
完全なリストについては、「エラーコード」をご参照ください。
変更履歴
完全なリストについては、「変更履歴」をご参照ください。