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

ApsaraVideo Live:ライブストリームのトランスコード

最終更新日:Dec 10, 2024

取り込まれたストリームのビットレートは、視聴者クライアントのネットワーク条件に適していない可能性があり、吃音などのビデオ再生の問題を引き起こします。 ApsaraVideo Liveのトランスコード機能は、これらの問題の解決に役立ちます。 このトピックでは、トランスコードの適用シナリオ、制限、および設定について説明します。

シナリオ

  • ストリーム取り込みクライアントで高いビットレートが設定されているが、ビューアクライアントの帯域幅が不十分な場合、ビデオ再生中に吃音が発生します。 ストリーム取り込みクライアントで低いビットレートが設定されている場合、ビデオ品質は低くなります。 これらのシナリオでは、トランスコーディング機能を使用して表示エクスペリエンスを向上させることができます。

  • マルチビットレートストリーミングを実装するために、プレーヤプラグインは、異なるビットレートで取り込まれたストリームのストリーミングURLを必要とする。 このシナリオでは、リアルタイムトランスコード機能を使用して複数のURLを生成できます。

重要

トランスコードの標準、解像度、および期間に基づいて、トランスコードに対して課金されます。 詳細については、「ライブストリームトランスコードの課金」をご参照ください。

制限事項

  • トランスコードテンプレートは、アプリケーション名に基づいて設定されます。 トランスコード設定を有効にするには、テンプレートで指定されるアプリケーション名が取り込みURLのアプリケーション名と同じである必要があります。 サブストリーミングドメインは、そのメインストリーミングドメインのトランスコードテンプレートを使用します。

  • 中国 (北京) 、中国 (上海) 、中国 (深セン) リージョンのライブセンターでは、各ドメイン名は最大300の同時トランスコードストリームをサポートします。 他の地域のライブセンターの場合、上限は50です。 高解像度 (HD) ストリームを標準解像度 (SD) と低解像度 (LD) にトランスコードすると、2つのトランスコードされたストリームが生成されます。 上限に達すると、追加のストリームが元のビットレートで再生されます。 ストリーミングドメインの [基本設定] > [基本情報] ページで、現在の使用状況を表示するか、クォータを増やすことができます。

  • ApsaraVideo Liveがビジネス要件を満たせない場合は、アカウントマネージャーまたはAlibaba Cloudカスタマーサービスにお問い合わせください。

概要

ApsaraVideo Liveは、デフォルトのトランスコードカスタムトランスコードマルチビットレートトランスコード、およびHTML5自動トランスコードをサポートしています。

デフォルトのトランスコード: 事前設定されたトランスコードテンプレートを選択できます。 このようなテンプレートのテンプレートID、出力解像度、および出力ビットレートは調整できません。

カスタムトランスコード: エンコード形式、解像度、ビットレート、フレームレート、グループオブピクチャ (GOP) サイズ、テンプレートID、およびトランスコードのトリガー方法を指定できます。

マルチビットレートコード変換: 複数のコード変換テンプレートをテンプレートグループに追加できます。 プレーヤーは、ネットワーク条件に基づいて最も適切なビットレートでストリームを自動的に再生します。

HTML5自動トランスコード: この機能は、ネイティブブラウザーがApsaraVideo Real-time Communication (ARTC) を使用した超低レイテンシーのライブストリーミングでBフレームとAACオーディオエンコーディングをサポートしていないという問題を解決します。

プリセットテンプレート

  • 狭帯域 HDTM

テンプレート

テンプレートID (H264、quality-first)

テンプレートID (H265、quality-first)

テンプレートID (H264, latency-first)

テンプレートID (H265, latency-first)

解像度

ビットレート

低解像度 (ランドスケープ)

ld

ld265

ld-ll

ld265-ll

幅: 适応

高さ: 360

≤ 450

標準定義 (ランドスケープ)

sd

sd265

sd-ll

sd265-ll

幅: 适応

高さ: 432

≤ 480

高解像度 (ランドスケープ)

hd

hd265

hd-ll

hd265-ll

幅: 适応

高さ: 648

≤ 1200

超高精细 (ランドスケープ)

ud

ud265

ud-ll

ud265-ll

幅: 适応

高さ: 1080

≤ 1300

標準定義 (ランドスケープ)

sd540

sd265-540

sd540-ll

sd265-540-ll

幅: 适応

高さ: 540

≤ 480

低解像度 (ポートレート)

ld-v

ld265-v

ld-v-ll

ld265-v-ll

幅: 360

高さ: 适応

≤ 450

標準定義 (ポートレート)

sd-v

sd265-v

sd-v-ll

sd265-v-ll

幅: 432

高さ: 适応

≤ 480

高い定義 (肖像画)

hd-v

hd265-v

hd-v-ll

hd265-v-ll

幅: 648

高さ: 适応

≤ 1200

超高い定义 (肖像画)

ud-v

ud265-v

ud-v-ll

ud265-v-ll

幅: 1080

高さ: 适応

≤ 1300

標準定義 (ポートレート)

sd540-v

sd265-540-v

sd540-v-ll

sd265-540-v-ll

幅: 540

高さ: 适応

≤ 480

重要
  • 課金のトランスコード標準は、テンプレートIDではなく、出力ビデオの幅と高さによって決まります。 低解像度のテンプレート (テンプレートID: ld) を選択したとします。 もし短いエッジが480ピクセル以下で、長いエッジが640ピクセル以下であれば、課金のためのトランスコード標準は480 p (LD) である。 出力ビデオの解像度が700 × 360ピクセルの場合、課金のトランスコード規格は720p (SD) です。 詳細については、「ライブストリームのトランスコーディングの課金」をご参照ください。

トランスコードルール

  • ApsaraVideo Liveは遅延トランスコードをサポートしています。 この機能により、ApsaraVideo Liveは、視聴者がライブストリームに参加した場合にのみライブストリームのトランスコードを開始し、5分間視聴者が検出されない場合にトランスコードを停止できます。

  • 各ストリームは1回だけトランスコードできます。

  • トランスコーディングはオプションです。 ビジネス要件に基づいて機能を設定します。

  • Flash Video (FLV) 、Real-Time Messaging Protocol (RTMP) 、HTTP Live Streaming (HLS) 、およびReal-Time Streaming (RTS) 形式でストリームをトランスコードできます。

広告の解決策

ApsaraVideo Liveは、トランスコーディング中にビデオのアスペクト比を維持します。

  • テンプレートの向きがの場合、出力ビデオの幅は自動的に固定された高さに合わせられます。

  • テンプレートの向きが縦向きの場合、出力ビデオの高さは自動的に固定幅に合わせられます。

例:

高度自适应

低解像度 (ランドスケープ) テンプレート (ID: ld) を使用して1920x1080のビデオをトランスコードすると、出力ビデオの高さは固定 (360ピクセル) になり、幅は比例して640ピクセルになります。

低解像度 (ポートレート) テンプレート (ID: ld-v) を使用して1920x1080のビデオをトランスコードする場合、出力ビデオの幅は固定 (360ピクセル) になり、高さは比例して203ピクセルになります。

重要

デフォルトのトランスコードカスタムトランスコードのみがアダプティブ解像度をサポートしています。

機能の設定

デフォルトのトランスコード

デフォルトのトランスコーディングは、ApsaraVideo LiveコンソールまたはAPI操作で設定できます。

ApsaraVideo Liveコンソール

  1. ApsaraVideo Live コンソール にログインします。

  2. 左側のナビゲーションウィンドウで、機能管理>コード変換を選択します。

  3. 管理するドメイン名を選択します。 [デフォルトのトランスコーディング] タブで、[追加] をクリックしてトランスコードテンプレートを設定します。

    49cf8e84bff12e8a7c7ae3d078f2cecf

    次の表に、デフォルトのトランスコーディング用に設定できるパラメーターを示します。

    パラメーター

    説明

    アプリケーション名

    • このパラメーターの値は、取り込みURLで指定されたアプリケーション名と同じである必要があります。 それ以外の場合、コード変換テンプレートは有効になりません。

      名前は最大256文字で、数字、文字、ハイフン (-) 、およびアンダースコア (_) を使用できます。

    • このパラメーターをアスタリスク (*) に設定して、空の文字列を含む任意の文字列を指定することもできます。

    説明

    AppNameが取り込みURLで指定されたアプリケーション名と一致するトランスコードテンプレートを優先します。 そのようなテンプレートが存在しない場合、システムはAppNameがアスタリスク (*) に設定されているトランスコードテンプレートを使用します。

    トリガートランスコーディング

    • スイッチをオンにすると、ストリームが初めてプルされたときにのみトランスコードがトリガーされます。

    • スイッチをオフにすると、ストリームが取り込まれるたびにトランスコードがトリガーされます。

    トランスコードタイプ

    Narrowband HDTMトランスコードは、Low DefinitionStandard DefinitionHigh Definition、およびUltra High Definitionのトランスコードテンプレートをサポートしています。

    説明

    一度に複数のトランスコードテンプレートを選択できます。

    テンプレートIDは、トランスコードされたストリームのURLを作成するために使用されます。 トランスコードされたストリームURLを作成する方法の詳細については、「取り込みURLとストリーミングURLの生成」をご参照ください。

    プリセットのコード変換テンプレートには、次のパラメーターを指定します。

    テンプレート名: 有効な値には、Low Definition、Standard Definition、High Definition、およびUltra High Definitionが含まれます。

    テンプレートID: トランスコードテンプレートごとにテンプレートIDが異なります。 詳細については、「プリセットテンプレート」をご参照ください。

    画面の向き: 有効な値には、ランドスケープとポートレートが含まれます。

    解像度 (幅 × 高さ): 出力ビデオの幅と高さ。

    エンコード標準: 有効な値にはH.264とH.265が含まれます。

    トランスコードモード: 有効な値には、Quality-firstとLatency-firstが含まれます。 レイテンシファーストモードでは、トランスコードされたストリームは低レイテンシを有する。

    暗号化

    スイッチをオンにした後、Alibaba Cloud独自の暗号化またはDRM暗号化を選択できます。

    説明

    デジタル著作権管理 (DRM) 暗号化は、中国 (上海) およびシンガポールリージョンでのみサポートされています。

    • Alibaba Cloud独自の暗号

      • ビデオは、HLSおよびFLV形式でのみ生成できます。

      • KMS CMK ID: key Management Service (KMS) でカスタマーマスターキー (CMK) を指定します。 CMKのリージョンは、ライブセンターが存在するリージョンと同じでなければなりません。 CMKがない場合は、KMSコンソールに移動してCMKを作成します。 詳細については、「KMSインスタンスの購入と有効化」をご参照ください。

      • CMKローテーション期間: 60から3,600の整数を入力します。

      • 詳細については、「Alibaba Cloud独自の暗号化」をご参照ください。

    • DRM暗号化

      • この機能を有効にする前に、DRM暗号化を設定する必要があります。 詳細については、「DRM暗号化の設定」をご参照ください。

      • HLS形式のビデオは、WidevineとFairPlay DRMを使用して暗号化できます。FairPlay DRMを使用するには、Appleから取得したFairPlayストリーミング証明書をDRM管理ページにアップロードする必要があります。 FairPlayストリーミング証明書の申請方法については、「FairPlayストリーミング証明書の申請」をご参照ください。

API

// Replace the placeholders with actual values.
DefaultProfile profile = DefaultProfile.getProfile("<regionId>", "<ALIBABA_CLOUD_ACCESS_KEY_ID>", "<ALIBABA_CLOUD_ACCESS_KEY_SECRET>");
IAcsClient client = new DefaultAcsClient(profile);
AddLiveStreamTranscodeRequest addLiveStreamTranscodeRequest = new AddLiveStreamTranscodeRequest();
addLiveStreamTranscodeRequest.setDomain("<DomainName>");
addLiveStreamTranscodeRequest.setApp("<AppName>");
addLiveStreamTranscodeRequest.setTemplate("<ld>");
addLiveStreamTranscodeRequest.setLazy("<true>");

try {
    AddLiveStreamTranscodeResponse addLiveStreamTranscodeResponse = client.getAcsResponse(addLiveStreamTranscodeRequest);
    System.out.println(new Gson().toJson(addLiveStreamTranscodeResponse));
    // todo something.
} catch (ServerException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (ClientException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}           
説明
  • この例では、プリセットのトランスコードテンプレート <ld> が、AppNameパラメーターで指定されたアプリケーションのライブストリームに適用されます。 プリセットテンプレートの詳細については、「プリセットテンプレート」をご参照ください。

  • setLazy("<true>") は、ストリームがプルされたときにのみトランスコーディングがトリガーされることを指定します。 setLazy("false") は、ストリームが取り込まれたときにトランスコーディングがトリガーされることを指定します。

  • APIパラメーターの詳細については、「AddLiveStreamTranscode」をご参照ください。

使用法のノート:

  • 新しく設定または変更されたテンプレートは、進行中のライブストリームには適用されません。 ストリームを再取り込みする必要があります。

  • AppNameパラメーターの値は、取り込みURLで指定されたアプリケーション名と同じである必要があります。 名前は最大256文字で、数字、文字、ハイフン (-) 、およびアンダースコア (_) を使用できますが、ハイフン (-) およびアンダースコア (_) で始めることはできません。

  • AppNameパラメーターをアスタリスク (*) に設定して、空の文字列を含む任意の文字列を指定できます。

  • AppNameが取り込みURLで指定されたアプリケーション名と一致するトランスコードテンプレートを優先します。 そのようなテンプレートが存在しない場合、システムはAppNameがアスタリスク (*) に設定されているトランスコードテンプレートを使用します。

  • テンプレートIDとAppNameは、複合主キーとして機能します。

トランスコードされたストリームのURLを表示するには、ApsaraVideo Liveコンソールにログインし、左側のナビゲーションウィンドウで [ストリーム] を選択します。 [アクティブストリーム] タブで、表示する取り込みストリームを見つけ、[操作] 列の [URLの表示] をクリックします。

説明
  • ApsaraVideo Liveコンソールには、ソースストリームとトランスコードされたストリームのURLが表示されます。

  • トランスコードされたストリームのURLを生成するには、ソースストリームのURLのStreamNameの後に _<Transcoding template ID> を追加します。 詳細については、「取り込みURLとストリーミングURLの生成」をご参照ください。

カスタムトランスコード

カスタムトランスコードを使用すると、エンコード形式、解像度、ビットレート、フレームレート、GOPサイズ、テンプレートID、およびトランスコードのトリガー方法をカスタマイズできます。

カスタムトランスコーディングは、ApsaraVideo LiveコンソールまたはAPI操作で設定できます。

ApsaraVideo Liveコンソール

  1. ApsaraVideo Live コンソール にログインします。

  2. 左側のナビゲーションウィンドウで、機能管理>コード変換を選択します。

  3. 管理するドメイン名を選択します。 [カスタムトランスコーディング] タブで、[追加] をクリックしてトランスコードテンプレートを設定します。

    image.png

    次の表に、カスタムトランスコーディング用に設定できるパラメーターを示します。

    パラメーター

    説明

    アプリケーション名

    このパラメーターの値は、取り込みURLで指定されているアプリケーション名と同じである必要があります。 それ以外の場合、コード変換テンプレートは有効になりません。

    テンプレートID

    コード変換テンプレートのID。

    このパラメーターの値は、トランスコードされたストリームのURLを構築するために使用されます。 詳細については、「取り込みURLとストリーミングURLの生成」をご参照ください。 テンプレートIDをストリーミングURLに追加して、トランスコードされたストリームを指定された解像度で再生できます。

    : テンプレートIDは、lldlsdlhdludldsdhdudなどのデフォルトのトランスコードテンプレートIDとは異なる必要があります。

    テンプレートタイプ

    有効な値: Narrowband HD™トランスコーディングオーディオのみのトランスコーディング

    オーディオのみのコード変換テンプレートは、ビデオコンテンツを削除し、オーディオのみのストリームを生成します。

    推奨パラメーター設定

    有効な値: Low Definition、Standard Definition、High Definition、Ultra High Definition。

    1つを選択すると、システムは対応するフレームレート、ビットレート、および解像度を自動的に入力します。 ビジネス要件に基づいて変更できます。

    解像度

    出力ストリームの解像度。 単位: ピクセル。 固定解像度を指定するか、ソースベースの値を設定できます。

    ソースベース: ソースストリームの解像度が適応解像度よりも小さい場合、出力解像度はソース解像度と等しくなります。 そうでなければ、出力解像度は適応解像度に等しい。 次のいずれかの適応方法を選択できます。

    • より短い側面に適応

    • より長い側面に適応

    • オリエンテーション

    修正: 異なる価格は異なる解像度に適用されます。 課金には、次のトランスコード標準を使用できます。

    • 低い定義 (LD): 640 × 480およびより低い

    • 標準定義 (SD): 1280 × 720以下

    • 高い定義 (HD): 1920 × 1080およびより低い

    • 2K: 2560 × 1440およびより低い

    • 4K: 3840 × 2160以下

    • コンソールで1080pを超えるカスタム解像度を指定することはできません。 ビジネスシナリオで2Kまたは4Kの解像度が必要な場合は、チケットを起票してください

    • 課金のトランスコード標準は、出力ビデオの幅と高さによって決まり、Narrowband HDのプリセットテンプレートIDとは無関係です。™ld、sd、hd、udを含むトランスコーディング。

      SD解像度 (1280 × 720) を例にとる。

      • 出力ストリームの長辺が1,280ピクセル以下で、短辺が720ピクセル以下の場合、課金のトランスコード標準はSDです。

      • 出力ストリームの長辺が1,280ピクセルを超える場合、または短辺が720ピクセルを超える場合、課金のトランスコード標準はSDより高くなります。

    ビデオフレームレート (FPS)

    ソースベース: ソースストリームのフレームレートが指定された制限内にある場合、出力フレームレートはソースフレームレートと等しくなります。 上限を超える場合、出力は最大フレームレートでキャップされます。 下限を下回る場合、出力は最小フレームレートに設定される。

    修正: 出力ストリームは指定されたフレームレートを使用します。 値は、入力ストリームのフレームレート以下でなければなりません。

    ビデオビットレート (Kbit/s)

    ソースベース: ソースストリームのビットレートが指定された制限内にある場合、出力ビットレートはソースビットレートと等しくなります。 上限を超えると、出力は最大ビットレートで上限になります。 下限を下回る場合、出力は最小ビットレートに設定される。 係数を指定することもできます。

    修正: 出力ストリームは指定されたビットレートを使用します。 次のリストでは、さまざまな解像度のビットレート範囲について説明します。

    • LD: 100 800 Kbit/s

    • SD: 200 1,500 Kbit/s

    • HD: 500 4,000 Kbit/s

    • 2K: 2,000 8,000 Kbit/s

    • 4K: 4,000 30,000 Kbit/s

    ビデオGOP

    GOPサイズは、2つのIフレーム間の間隔を示す。 出力ストリームのGOPサイズは、入力ストリームのGOPサイズ以下でなければならない。 低レイテンシを確保するため、値は3秒を超えることはできません。

    オーディオビットレート (Kbit/s)

    このパラメーターは、テンプレートタイプ音声のみのトランスコーディングに設定した場合に使用できます。

    単位:Kbit/秒 有効値: 8 ~ 1000

    プロフィール

    このパラメーターは、テンプレートタイプ音声のみのトランスコーディングに設定した場合に使用できます。

    • LC-AAC: 複雑さの低い高度なオーディオコーディング。 トランスコーディング効率は高い。

    • HE-AAC: 高効率の高度なオーディオコーディング。 HE-AACの効果音は、オーディオビットレートが128 Kbit/sより低い場合、LC-AACの効果音よりも優れています。

    サンプリングレート

    このパラメーターは、テンプレートタイプ音声のみのトランスコーディングに設定した場合に使用できます。

    有効な値: 22050、32000、44100、48000、96000

    サウンドチャンネル

    このパラメーターは、テンプレートタイプ音声のみのトランスコーディングに設定した場合に使用できます。

    有効な値: 1と2。

    トランスコードモード (詳細設定)

    quality-firstモードとlatency-firstモードがサポートされています。 レイテンシ優先モードでは、低レイテンシがトランスコードされたストリームに対して保証される。

    トランスコーディングのトリガー (詳細設定)

    • スイッチをオンにすると、ストリームが初めてプルされたときにのみトランスコードがトリガーされます。

    • スイッチをオフにすると、ストリームが取り込まれるたびにトランスコードがトリガーされます。

    ビデオ暗号化 (詳細設定)

    スイッチをオンにした後、Alibaba Cloud独自の暗号化またはDRM暗号化を選択できます。

    説明

    DRM暗号化は、中国 (上海) およびシンガポールリージョンでのみサポートされています。

    • Alibaba Cloud独自の暗号

      • ビデオは、HLSおよびFLV形式でのみ生成できます。

      • KMS CMK ID: key Management Service (KMS) でカスタマーマスターキー (CMK) を指定します。 CMKのリージョンは、ライブセンターが存在するリージョンと同じでなければなりません。 CMKがない場合は、KMSコンソールに移動してCMKを作成します。 詳細については、「KMSインスタンスの購入と有効化」をご参照ください。

      • CMKローテーション期間: 60から3,600の整数を入力します。

      • 詳細については、「Alibaba Cloud独自の暗号化」をご参照ください。

    • DRM暗号化

      • この機能を有効にする前に、DRM暗号化を設定する必要があります。 詳細については、「DRM暗号化の設定」をご参照ください。

      • HLS形式のビデオは、WidevineとFairPlay DRMを使用して暗号化できます。FairPlay DRMを使用するには、Appleから取得したFairPlayストリーミング証明書をDRM管理ページにアップロードする必要があります。 FairPlayストリーミング証明書の申請方法については、「FairPlayストリーミング証明書の申請」をご参照ください。

    すべてのSEIパススルー (詳細設定)

    この機能を有効にすると、すべてのSEIメッセージが通過します。

    ソースベースのキーフレーム (詳細設定)

    この機能を有効にすると、トランスコードされたストリームのキーフレームは、ソースストリームのキーフレームと同じになります。

    ソースベースのPTS (詳細設定)

    この機能を有効にすると、トランスコードされたストリームのプレゼンテーションタイムスタンプ (PTS) は、ソースストリームのPTSと同じになります。

  4. OKをクリックします。

API

関連するAPI操作のパラメーター設定は複雑です。 コンソールは解像度プレビューを提供し、プリセットテンプレートの自動入力をサポートするため、APIをコンソールと組み合わせて使用することをお勧めします。

手順

  1. ApsaraVideo Liveコンソールでカスタムトランスコード用のテンプレートを追加します。

  2. DescribeLiveStreamTranscodeInfo操作を呼び出して、追加されたテンプレートを照会します。 SDK for Javaサンプルコード:

        // Replace the placeholders with actual values.
        DefaultProfile profile = DefaultProfile.getProfile("<regionId>", "<ALIBABA_CLOUD_ACCESS_KEY_ID>", "<ALIBABA_CLOUD_ACCESS_KEY_SECRET>");
        IAcsClient client = new DefaultAcsClient(profile);
        DescribeLiveStreamTranscodeInfoRequest describeLiveStreamTranscodeInfoRequest=new DescribeLiveStreamTranscodeInfoRequest();
        describeLiveStreamTranscodeInfoRequest.setAppName("<AppName>");
        describeLiveStreamTranscodeInfoRequest.setDomainTranscodeName("<DomainName>");
        DescribeLiveStreamTranscodeInfoResponse describeLiveStreamTranscodeInfoResponse = null;
        try {
            describeLiveStreamTranscodeInfoResponse = client.getAcsResponse(describeLiveStreamTranscodeInfoRequest);
        } catch (ClientException e) {
            e.printStackTrace();
        }
        System.out.println(new Gson().toJson(describeLiveStreamTranscodeInfoResponse));
説明
  • クエリ結果をテンプレートとしてビジネスシステムに保存できます。

  • レスポンスパラメーターの詳細については、「DescribeLiveStreamTranscodeInfo」をご参照ください。

  1. AddCustomLiveStreamTranscode操作を呼び出して、ドメイン名とアプリケーション名に基づいてカスタムトランスコード設定を追加します。

        AddCustomLiveStreamTranscodeRequest addCustomLiveStreamTranscodeRequest=new AddCustomLiveStreamTranscodeRequest();
        addCustomLiveStreamTranscodeRequest.setDomain("<DomainName>");
        addCustomLiveStreamTranscodeRequest.setApp("<AppName>");
        /**
         * Configure transcoding parameters.
         */
        AddCustomLiveStreamTranscodeResponse addCustomLiveStreamTranscodeResponse = null;
        try {
            addCustomLiveStreamTranscodeResponse = client.getAcsResponse(addCustomLiveStreamTranscodeRequest);
        } catch (ClientException e) {
            e.printStackTrace();
        }
        System.out.println(new Gson().toJson(addCustomLiveStreamTranscodeResponse));
説明
  • コード変換パラメーターの設定方法については、「AddCustomLiveStreamTranscode」をご参照ください。 ステップ2で取得したクエリ結果を参照することができます。

使用法のノート:

  • 新しく設定または変更されたテンプレートは、進行中のライブストリームには適用されません。 ストリームを再取り込みする必要があります。

  • AppNameパラメーターの値は、取り込みURLで指定されたアプリケーション名と同じである必要があります。 名前は最大256文字で、数字、文字、ハイフン (-) 、およびアンダースコア (_) を使用できますが、ハイフン (-) およびアンダースコア (_) で始めることはできません。

  • AppNameパラメーターをアスタリスク (*) に設定して、空の文字列を含む任意の文字列を指定できます。

  • AppNameが取り込みURLで指定されたアプリケーション名と一致するトランスコードテンプレートを優先します。 そのようなテンプレートが存在しない場合、システムはAppNameがアスタリスク (*) に設定されているトランスコードテンプレートを使用します。

  • テンプレートIDとAppNameは、複合主キーとして機能します。

トランスコードされたストリームのURLを表示するには、ApsaraVideo Liveコンソールにログインし、左側のナビゲーションウィンドウで [ストリーム] を選択します。 [アクティブストリーム] タブで、表示する取り込みストリームを見つけ、[操作] 列の [URLの表示] をクリックします。

説明
  • ApsaraVideo Liveコンソールには、ソースストリームとトランスコードされたストリームのURLが表示されます。

  • トランスコードされたストリームのURLを生成するには、ソースストリームのURLのStreamNameの後に _<Transcoding template ID> を追加します。 詳細については、「取り込みURLとストリーミングURLの生成」をご参照ください。

マルチビットレートトランスコーディング

ApsaraVideo Liveでは、複数のトランスコードテンプレートをグループに追加して、ストリームを複数のビットレートにトランスコードできます。 これにより、ネットワークのジッターが再生体験に与える影響が軽減されます。 マルチビットレートコード変換を設定すると、プレーヤーはネットワークの状態に基づいて最適なビットレートでストリームを自動的に再生します。

マルチビットレートトランスコーディングは、ApsaraVideo Liveコンソールでのみ設定できます。

ApsaraVideo Liveコンソール

  1. ApsaraVideo Live コンソール にログインします。

  2. 左側のナビゲーションウィンドウで、[機能管理] > [トランスコーディング] を選択します。

  3. 管理するドメイン名を選択します。 [マルチビットレートトランスコーディング] タブをクリックし、[追加] をクリックしてマルチビットレートトランスコーディングテンプレートグループを作成します。

    1. 基本情報タブで、マルチビットレートコード変換テンプレートグループの基本情報を設定します。

      多码率转码模板组-基本信息

      下表に、各パラメーターを説明します。

      パラメーター

      説明

      アプリ名

      トランスコードテンプレートは、このパラメーターの値が取り込みURLのアプリケーション名と同じである場合にのみ有効になります。

      テンプレートグループID

      コード変換テンプレートグループのID。 IDは、トランスコードされたストリームのURLに連結される。 値の長さは最大10文字で、数字、文字、およびハイフン (-) を使用できます。

      コンテナー形式

      HLSのみがサポートされています。

      トリガートランスコーディング

      マルチビットレートトランスコーディングは、ストリームの取り込み時にのみトリガーできます。

      タイムスタンプの配置

      この機能を有効にすると、テンプレートのGOPサイズを指定できなくなります。 ソースビデオのGOPサイズが使用される。

    2. + 追加をクリックしてテンプレートを追加します。image

      追加したテンプレートをクリックしてパラメーターを設定します。パラメーターはテンプレートの種類によって異なります。 下表に、各パラメーターを説明します。

      パラメーター

      説明

      テンプレートID

      コード変換テンプレートのID。

      このパラメーターの値は、トランスコードされたストリームのURLを作成するために使用されます。 トランスコードされたストリームURLを作成する方法の詳細については、「取り込みURLとストリーミングURLの生成」をご参照ください。 テンプレートIDをストリーミングURLに追加して、トランスコードされたストリームを指定された解像度で再生できます。

      : テンプレートIDは、デフォルトのトランスコードテンプレートIDとは異なる必要があります。 デフォルトのトランスコードテンプレートIDには、lld、lsd、lhd、lud、ld、sd、hd、udが含まれます。

      テンプレートタイプ

      有効な値:

      Narrowband HD™オーディオのみ

      解像度

      出力ストリームの解像度。 単位: ピクセル。

      異なる解像度には異なる価格が適用されます。 課金には、次のトランスコード標準を使用できます。

      • 低い定義 (LD): 640 × 480およびより低い

      • 標準定義 (SD): 1280 × 720以下

      • 高い定義 (HD): 1920 × 1080およびより低い

      • 2K: 2560 × 1440およびより低い

      • 4K: 3840 × 2160以下

      • 課金のトランスコード標準は、出力ビデオの幅と高さによって決まり、Narrowband HDのプリセットテンプレートIDとは無関係です。™ld、sd、hd、udを含むトランスコーディング。

        SD解像度 (1280 × 720) を例にとる。

        • 出力ストリームの長辺が1,280ピクセル以下で、短辺が720ピクセル以下の場合、課金のトランスコード標準はSDです。

        • 出力ストリームの長辺が1,280ピクセルを超える場合、または短辺が720ピクセルを超える場合、課金のトランスコード標準はSDより高くなります。

      ビデオビットレート

      解像度に対応するビットレート。 単位:Kbit/秒 次のリストでは、さまざまな解像度のビットレート範囲について説明します。

      • LD: 100 800 Kbit/s

      • SD: 200 1,500 Kbit/s

      • HD: 500 4,000 Kbit/s

      • 2K: 2,000 8,000 Kbit/s

      • 4K: 4,000 30,000 Kbit/s

      ビデオフレーム率

      出力ストリームのフレームレート。 単位: FPS。 値は、入力ストリームのフレームレート以下でなければなりません。

      ビデオGOP

      GOPサイズは、2つのIフレーム間の間隔を示す。 出力ストリームのGOPサイズは、入力ストリームのGOPサイズ以下でなければならない。 低レイテンシを確保するため、値は3秒を超えることはできません。

      エンコード標準

      このパラメーターは、テンプレートタイプ音声のみに設定した場合に使用できます。 Advanced Audio Coding (AAC) のみがサポートされています。

      コーデック

      このパラメーターは、テンプレートタイプ音声のみに設定した場合に使用できます。 有効な値:

      • LC-AAC: 複雑さの低い高度なオーディオコーディング。 トランスコーディング効率は高い。

      • HE-AAC: 高効率の高度なオーディオコーディング。 HE-AACの効果音は、オーディオビットレートが128 Kbit/sより低い場合、LC-AACの効果音よりも優れています。

      ビットレート (Kbit/s)

      オーディオのビットレート このパラメーターは、テンプレートタイプ音声のみに設定した場合に使用できます。 有効値: 8 ~ 1000

      チャンネル

      サウンドチャンネルの数。 このパラメーターは、テンプレートタイプ音声のみに設定した場合に使用できます。 有効な値: 1と2。

      最大帯域幅

      有効値: 100 Kbit/s〜100 Mbit/s。 値は小数点以下2桁まで正確です。 最大帯域幅をビデオのビットレートの1.2〜1.5倍に設定することを推奨します。

  4. OKをクリックします。

重要
  • マルチビットレートトランスコーディングは、ソースストリームとHLS形式のトランスコードされたストリームのURLを提供します。

  • トランスコードされたストリームを再生するには、aliyunols=onフィールドをストリーミングURLに追加する必要があります。

トランスコードされたストリームのサンプルURL:

http://<DomainName>/<AppName>/<StreamName>_<Template group ID>.m3u8?aliyunols=on&auth_key=1234****

次の例は、ビジネスシナリオでマルチビットレートトランスコーディングを使用する方法を示しています。

まず、次の図に示すように、マルチビットレートのトランスコードテンプレートグループを追加します。 このグループには、異なるトランスコード標準用の4つのテンプレートがあります。

image

次に、ストリームを取り込み、ApsaraVideo Player for Webを使用してストリームを再生します。 デバッグ後、プレーヤーがネットワークの状態に基づいて最適なビットレートでストリームを自動的に再生することがわかります。

image

説明

ApsaraVideo Playerの使用方法については、「ApsaraVideo Player SDK」をご参照ください。

HTML5自動トランスコード

RTSは、Webリアルタイム通信 (WebRTC) によって提供される通信規格およびメカニズムを利用して、低レイテンシーストリーミングを実現します。 ネイティブブラウザーでは、WebRTC用のBフレームとAACオーディオエンコーディングはサポートされていません。 HTML5自動トランスコーディングは、この問題の解決に役立ちます。

RTSを有効にすると、この機能を有効にできます。 詳細については、「RTSの有効化」をご参照ください。

説明
  • HTML5自動トランスコードは、ネイティブブラウザーのRTS用のBフレームとAACオーディオエンコーディングのみを処理します。 ビデオコンテンツ (ビットレート、フレームレート、解像度など) を調整する場合は、デフォルトまたはカスタムのトランスコードを設定する必要があります。

  • HTML5自動トランスコードは、デフォルトまたはカスタムのトランスコードと一緒に使用できます。

ビデオ暗号化

デフォルトおよびカスタムコード変換テンプレートを設定するときに、ビデオ暗号化を有効にできます。 Alibaba Cloud独自の暗号化の詳細については、「Alibaba Cloud独自の暗号化」をご参照ください。

関連ドキュメント

トランスコーディング機能に関連するAPIについては、「トランスコーディングのAPIリファレンス」をご参照ください。

Java用サーバーSDKの使用方法については、「Java用サーバーSDKの使用」をご参照ください。