ライブトランスコーディングは、オンライン ビデオストリーミングのニーズを満たすように設計された Intelligent Media Management (IMM) のリアルタイム トランスコーディング機能です。このトピックでは、ライブトランスコーディングの利点と使用方法について説明します。
概要
再生を開始する前にビデオ全体をトランスコードする必要がある メディアトランスコーディング とは異なり、ライブトランスコーディングは必要なビデオセグメントのみを処理し、元のビデオファイルをアップロードした直後に再生を開始できます。ライブトランスコーディングには、次の利点があります。
トランスコード中のインスタント再生とバッファリングなし
最適化されたトランスコーディングとスムーズな再生、数秒で完了するスクラブ
オンデマンド トランスコーディング、トランスコード済みファイルの削除時の再トランスコード、トランスコーディングとストレージ コストの削減
多数のカスタム トランスコーディング パラメーターを使用したカスタム トランスコーディング
300 を超えるオーディオおよびビデオ フォーマットとの優れた互換性
ライブトランスコーディングは匿名再生をサポートしていません。
使用プロセス
ビデオファイルを Object Storage Service (OSS) にアップロードします。
GenerateVideoPlaylist オペレーションを呼び出してプレイリストを作成し、OSS の署名機能を使用してプレイリストに署名します。
プレーヤーを使用してプレイリストを取得し、再生を開始します。ビデオ再生は、ライブトランスコーディングを自動的にトリガーします。
シナリオ
ネットワークドライブに保存されているビデオの再生:ライブトランスコーディングを使用すると、ネットワークドライブ内のビデオを、実際のネットワーク状況に最適な解像度でクライアントのリクエストに応じて即座に再生できます。これにより、リアルタイム再生が保証され、デバイス間で優れたビデオ互換性が提供されます。また、ライブトランスコーディングでは、リクエストされない場合、ネットワークドライブ内のビデオはトランスコードされないため、ストレージ コストも削減されます。
ソーシャルメディア プラットフォームでのビデオのプレビューと再生:ライブトランスコーディングを使用すると、インスタントメッセージおよびソーシャルメディア プラットフォームのユーザーは、受信したビデオをすぐに再生できます。これにより、コミュニケーションの適時性が向上します。さらに、ユーザーが長時間視聴されていないチャット履歴のビデオを再生する場合でも、ストレージの使用量を削減するためにビデオ用に生成された TS オブジェクトが定期的にクリアされても、ビデオを即座に再生できます。
フォーラムおよびブログ プラットフォームでのビデオコンテンツの共有:ライブトランスコーディングは、フォーラムおよびブログ プラットフォームのユーザーに、スムーズでデバイス互換性のあるビデオ視聴体験を提供します。ユーザーは、ネットワーク状況に最適な解像度で共有ビデオをすぐに再生できます。
利点
次の表に、ライブトランスコーディングの利点を詳しく説明します。
利点 | 説明 |
標準化 |
|
費用対効果 |
|
高効率 |
|
サポートされているオーディオおよびビデオ フォーマット
ライブトランスコーディング機能は、 300 を超えるさまざまなタイプを含む、事実上すべてのオーディオおよびビデオ フォーマットをサポートしています。次の表に、ライブトランスコーディングでサポートされている一般的なオーディオおよびビデオ フォーマットの一部を示します。
入力ビデオ フォーマット | AVI、MOV、FLV、MKV、WebM、MPEG、WMV、RM、VOB、TS などの主流フォーマット |
入力オーディオ フォーマット | MP3、WAV、AAC、FLAC、WMA などの主流フォーマット |
出力コンテナ フォーマット | ts |
前提条件
AccessKey ペアが作成され、取得されます。詳細については、「AccessKey ペアを作成する」をご参照ください。
関連オブジェクトが OSS バケットにアップロードされます。詳細については、「OSS コンソールを使用して開始する」をご参照ください。
IMM がアクティブ化され、IMM プロジェクトが作成されます。詳細については、「IMM をアクティブ化する」および「プロジェクトを作成する」をご参照ください。
CreateProject オペレーションを呼び出してプロジェクトを作成することもできます。詳細については、「CreateProject」をご参照ください。
ListProjects オペレーションを呼び出して、特定のリージョンにある既存のプロジェクトをクエリできます。詳細については、「ListProjects」をご参照ください。
RAM ユーザーに、ライブトランスコーディングを使用するために必要な権限が付与されます。詳細については、「権限」をご参照ください。
OSS バケットは IMM プロジェクトにバインドされています。OSS コンソールまたは IMM API を使用して OSS バケットを IMM プロジェクトにバインドする方法の詳細については、「開始する」および「AttachOSSBucket」をご参照ください。
ソースビデオまたはデスティネーション ビデオを保存するバケットにホットリンク保護が構成されている場合は、Referer フィールドが空のリクエストを許可するホットリンク保護ポリシーがバケットに構成されます。詳細については、「他の Web サイトが OSS オブジェクトにリンクするのを防ぐために Referer ホワイトリストまたはブラックリストを構成する」をご参照ください。
プレーヤーがデスティネーション ビデオを保存するバケットへのクロスオリジン リクエストを開始する必要がある場合は、プレーヤーからのバケットへのクロスオリジン アクセスが許可されていることを確認してください。詳細については、「CORS」をご参照ください。
例
メディアプレイリストを使用する
トランスコーディング タスク
ソースビデオ
ビデオ フォーマット:AVI
ビデオ URI:oss://your-oss-bucket-name/test.avi
デスティネーション ビデオ
セグメント時間: 10 秒
プリトランスコードされたビデオの長さ: 36 秒
ビデオストリーム フォーマット:H.264
ビデオ解像度: 1280 × 720
フレームレート: 25 fps
ビデオ ビットレート: 2 Mbit/s
オーディオストリーム フォーマット:AAC
オーディオ ビットレート: 128 Kbit/s
デスティネーション オブジェクトのパス プレフィックス:oss://your-oss-bucket-name/output/media
ステップ 1:プレイリストを生成する
ステップ 2:プレイリストに署名する
ステップ 3:ビデオを再生する
マスタープレイリストを使用する
トランスコーディング タスク
ソースビデオ
ビデオ フォーマット:AVI
ビデオ URI:oss://your-oss-bucket-name/test.avi
マスタープレイリスト URI:oss://your-oss-bucket-name/output/master.m3u8
デスティネーション ビデオ 1
セグメント時間: 10 秒
プリトランスコードされたビデオの長さ: 36 秒
ビデオストリーム フォーマット:H.264
ビデオ解像度: 1920 × 1080
フレームレート: 25 fps
オーディオストリーム フォーマット:AAC
オーディオ ビットレート: 128 Kbit/s
デスティネーション オブジェクトのパス プレフィックス:oss://your-oss-bucket-name/output/1080p/1080p
デスティネーション ビデオ 2
セグメント時間: 10 秒
プリトランスコードされたビデオの長さ: 36 秒
ビデオストリーム フォーマット:H.264
ビデオ解像度: 1280 × 720
フレームレート: 25 fps
オーディオストリーム フォーマット:AAC
オーディオ ビットレート: 96 Kbit/s
デスティネーション オブジェクトのパス プレフィックス:oss://your-oss-bucket-name/output/720p/720p
デスティネーション ビデオ 3
セグメント時間: 10 秒
プリトランスコードされたビデオの長さ: 36 秒
ビデオストリーム フォーマット:H.264
ビデオ解像度: 720 × 540
フレームレート: 25 fps
オーディオストリーム フォーマット:AAC
オーディオ ビットレート: 64 Kbit/s
デスティネーション オブジェクトのパス プレフィックス:oss://your-oss-bucket-name/output/540p/540p
ステップ 1:プレイリストを生成する
ステップ 2:プレイリストに署名する
ステップ 3:ビデオを再生する
FAQ
ライブトランスコーディングを使用してトランスコードされたビデオを再生するには、カスタムプレーヤーが必要ですか?
いいえ、必要ありません。ライブトランスコーディングは HLS プロトコルをサポートしています。[Web 用 ApsaraVideo Player] や Safari など、HLS 互換のビデオプレーヤーとブラウザを使用して、ライブトランスコーディングでトランスコードされたビデオを再生できます。
ライブトランスコーディングではどのようなデスティネーション オブジェクトが生成されますか?
ライブトランスコーディングでは、指定されたパスに M3U8 オブジェクトと TS オブジェクトが生成されます。M3U8 オブジェクトはすぐに生成されます。
プリトランスコーディングの長さを指定した場合、TS オブジェクトは指定された長さに対して非同期的に生成され、プリトランスコーディングが指定されていない部分に対して非同期オンデマンド トランスコーディングがトリガーされます。ビデオが再生されたことがない場合、プリトランスコーディングの対象外のビデオ部分に対して TS オブジェクトは生成されません。たとえば、 15 分目からビデオを再生する場合、トランスコーディングも 15 分目から開始されます。次のコンテンツは、出力オブジェクトの例を示しています。
.
├── outobjprefix.m3u8
├── outobjprefix-c280f054328fcde47c1732a8f2915009-0.ts
├── outobjprefix-c280f054328fcde47c1732a8f2915009-1.ts
├── outobjprefix-c280f054328fcde47c1732a8f2915009-2.ts
├── outobjprefix-c280f054328fcde47c1732a8f2915009-3.ts
TS オブジェクトが削除されたビデオを再生できますか?
はい、一部またはすべての TS オブジェクトが削除されていても、ビデオを再生できます。ただし、ビデオと M3U8 オブジェクトが削除されていないことを確認してください。これは、M3U8 プレイリストのリクエストによって TS オブジェクトの再生成がトリガーされるためです。このメカニズムにより、長時間視聴されていないビデオ用に生成された TS オブジェクトを削除して、将来の再生パフォーマンスに影響を与えることなくストレージ コストを削減できます。
ライブトランスコーディングは、ライブトランスコーディングから作成されていない M3U8 プレイリストをサポートしていますか?
いいえ、ライブトランスコーディングは、ライブトランスコーディングから作成されていない M3U8 プレイリストをサポートしていません。
Alibaba Cloud CDN を使用してライブトランスコーディングを高速化できますか?
はい、できます。詳細については、「Alibaba Cloud CDN とライブトランスコーディングを併用してビデオ再生を高速化する」をご参照ください。