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

ApsaraVideo Live:ライブストリームトランスコーディング

最終更新日:Sep 11, 2026
A["ApsaraVideo Live にプッシュされたライブストリーム"]-->B["ApsaraVideo Live がテンプレートに基づいてストリームをトランスコーディングする"]; B-->C["異なるビットレートと解像度の出力ストリーム"]; C-->D("エンドユーザーが最適なストリームを再生する");

ライブストリームトランスコーディングは、インジェストビットレートが高すぎたり低すぎたりすることによる再生の問題を防ぎます。このトピックでは、シナリオ、制限、機能、テンプレートパラメーター、トランスコーディングルール、およびアダプティブ幅について説明します。

ユースケース

  • インジェストビットレートが高く、クライアントの帯域幅が制限されている場合、動画再生でスタッタリングが発生する可能性があります。逆に、インジェストビットレートが低い場合は、再生品質が低下します。ライブストリームトランスコーディングは、これらの問題を解決します。

  • プレーヤープラグインは、マルチビットレート切り替えをサポートしている必要があります。これを有効にするには、同じインジェストストリームに対して、ビットレートの異なる複数のストリーミング URL をプレーヤーに提供します。ApsaraVideo Live のリアルタイムトランスコーディング機能は、これらの URL を生成します。

    • H.264 でエンコードされたストリームをインジェストし、リアルタイムで H.265 ライブストリームにトランスコーディングして帯域幅を削減できます。

    • H.265 でエンコードされたストリームをインジェストし、リアルタイムで低ビットレートの H.265 ライブストリームにトランスコーディングできます。

    • ブラウザが H.265 に対応していない問題を解決するために、リアルタイムでストリームを H.264 ライブストリームにトランスコーディングできます。

重要

ライブストリームトランスコーディング機能を使用すると、トランスコーディング料金が発生します。料金は、トランスコーディング標準、解像度、および合計トランスコーディング時間に基づいて計算されます。課金ルールの詳細については、「ライブストリームトランスコーディング料金」をご参照ください。

制限事項

  • ドメイン名と AppName にトランスコードテンプレートを設定する場合、1 つのテンプレートの [トランスコードタイプ] を [標準] と ナローバンド HDTM テンプレート の両方に設定することはできません。

  • 特定の AppName にトランスコードテンプレートを設定する場合、インジェスト URL 内の AppName がテンプレート内の AppName と一致する場合にのみ適用されます。サブストリーミングドメインは、プライマリストリーミングドメインからトランスコードテンプレートを継承するため、サブストリーミングドメイン固有の設定は無視されます。

  • 中国 (北京)、中国 (上海)、および中国 (深圳) のライブセンターでは、各ドメイン名は最大 300 の同時トランスコードストリームをサポートします。その他のライブセンターでは、各ドメイン名は最大 50 の同時トランスコードストリームをサポートします。たとえば、高解像度のライブストリームがインジェストされ、再生用に標準解像度と低解像度のストリームにトランスコードされる場合、これは 2 つの同時トランスコードストリームとしてカウントされます。制限に達すると、制限を超えた接続はオリジナルストリームを再生します。現在の使用状況を確認し、クォータの引き上げをリクエストするには、ストリーミングドメインの 基本設定 > 基本情報 にアクセスしてください。

  • ライブストリーミングサービスがお客様のビジネス要件を満たさない場合は、Alibaba Cloud アカウントマネージャーにお問い合わせいただくか、その他のチャネル を通じてご連絡ください。

機能

トランスコーディング機能には、[デフォルト]、[トランスコードのカスタム設定]、[マルチビットレートトランスコーディング]、および [H5 オートトランスコーディング] が含まれます。

[デフォルト]:テンプレート ID と出力解像度を含むシステムプリセットテンプレートを使用できます。出力ビットレートはシステムによってプリセットされるため、変更できません。

[トランスコードのカスタム設定]:エンコード形式、解像度、ビットレート、フレームレート、ビデオ GOP、トランスコーディングトリガー、およびテンプレート ID を設定できます。

[マルチビットレートトランスコーディング]:トランスコーディングテンプレートには、複数のトランスコーディング設定を含めることができます。マルチビットレートトランスコーディングを設定すると、プレーヤーはクライアントのネットワーク帯域幅に基づいて適切なビットレートでライブストリームを自動的に再生できます。これにより、再生エクスペリエンスが向上します。

[H5 オートトランスコーディング]:この機能は、ネイティブブラウザにおけるリアルタイムストリーミング (RTS) (artc://) のビデオ B フレームと AAC エンコーディングのサポート不足などの問題を解決します。

システムプリセットテンプレート

テンプレートの詳細

  • 標準テンプレート

テンプレート

品質 ID (H.264)

品質 ID (H.265)

レイテンシー ID (H.264)

レイテンシー ID (H.265)

解像度

ビットレート

LD (ランドスケープ)

lld

lld265

lld-ll

lld265-ll

アダプティブ幅、高さ:360

≤470

SD (ランドスケープ)

lsd

lsd265

lsd-ll

lsd265-ll

アダプティブ幅、高さ:432

≤680

HD (ランドスケープ)

lhd

lhd265

lhd-ll

lhd265-ll

アダプティブ幅、高さ:648

≤1500

UHD (ランドスケープ)

lud

lud265

lud-ll

lud265-ll

アダプティブ幅、高さ:1080

≤2500

SD (ランドスケープ)

lsd540

lsd265-540

lsd540-ll

lsd265-540-ll

アダプティブ幅、高さ:540

≤680

LD (ポートレート)

lld-v

lld265-v

lld-v-ll

lld265-v-ll

幅:360、アダプティブ高さ

≤470

SD (ポートレート)

lsd-v

lsd265-v

lsd-v-ll

lsd265-v-ll

幅:432、アダプティブ高さ

≤680

HD (ポートレート)

lhd-v

lhd265-v

lhd-v-ll

lhd265-v-ll

幅:648、アダプティブ高さ

≤1500

UHD (ポートレート)

lud-v

lud265-v

lud-v-ll

lud265-v-ll

幅:1080、アダプティブ高さ

≤2500

SD (ポートレート)

lsd540-v

lsd265-540-v

lsd540-v-ll

lsd265-540-v-ll

幅:540、アダプティブ高さ

≤680

オリジナル品質 - 音声のみのトランスコーディング

oriopus

オリジナル品質 - 音声のみのトランスコーディング

oriaac

  • ナローバンド HD テンプレート

テンプレート

品質 ID (H.264)

品質 ID (H.265)

レイテンシー ID (H.264)

レイテンシー ID (H.265)

解像度

ビットレート

LD (ランドスケープ)

ld

ld265

ld-ll

ld265-ll

アダプティブ幅、高さ:360

≤450

SD (ランドスケープ)

sd

sd265

sd-ll

sd265-ll

アダプティブ幅、高さ:432

≤480

HD (ランドスケープ)

hd

hd265

hd-ll

hd265-ll

アダプティブ幅、高さ:648

≤1200

UHD (ランドスケープ)

ud

ud265

ud-ll

ud265-ll

アダプティブ幅、高さ:1080

≤1300

SD (ランドスケープ)

sd540

sd265-540

sd540-ll

sd265-540-ll

アダプティブ幅、高さ:540

≤480

LD (ポートレート)

ld-v

ld265-v

ld-v-ll

ld265-v-ll

幅:360、アダプティブ高さ

≤450

SD (ポートレート)

sd-v

sd265-v

sd-v-ll

sd265-v-ll

幅:432、アダプティブ高さ

≤480

HD (ポートレート)

hd-v

hd265-v

hd-v-ll

hd265-v-ll

幅:648、アダプティブ高さ

≤1200

UHD (ポートレート)

ud-v

ud265-v

ud-v-ll

ud265-v-ll

幅:1080、アダプティブ高さ

≤1300

SD (ポートレート)

sd540-v

sd265-540-v

sd540-v-ll

sd265-540-v-ll

幅:540、アダプティブ高さ

≤480

重要
  • [テンプレート ID] は、必ずしも請求書のトランスコーディング仕様に対応するものではありません。請求書の実際のトランスコーディング仕様は、トランスコーディングされたビデオの 解像度 によって異なります。たとえば、LD (ld) トランスコーディングを設定し、トランスコーディングされたビデオの 短辺 ≤ 480 および長辺 ≤ 640 の場合、LD 仕様に基づいて課金されます。LD (ld) トランスコーディングを設定しても、トランスコーディングされたビデオの解像度が 700 × 360 の場合、SD 仕様に基づいて課金されます。詳細については、「ライブストリームトランスコーディング料金」をご参照ください。

  • システムは、ビデオがランドスケープかポートレートかに基づいて、トランスコーディングされたビデオの解像度を調整します。詳細については、「アダプティブ解像度」をご参照ください。

トランスコーディングルール

  • ApsaraVideo Live は、デフォルトでオンデマンドトランスコーディングをサポートしています。システムは、トランスコーディングされたライブストリームを監視します。ストリームに視聴者がいない場合、システムはトランスコーディングを実行しません。トランスコーディングは、最初の視聴者がストリームの視聴を開始したときに開始されます。トランスコーディングプロセス中に、システムは再生ステータスとバックエンドタスクのステータスの両方に基づいて、トランスコーディングを停止するかどうかを決定します。以下のルールが適用されます:

    • 録画、タイムシフト、スナップショット、コンテンツモデレーションなどのバックエンドタスクがまだ実行されている場合、視聴者がいなくても、システムはストリームの接続を維持し、トランスコーディングを続行します。

    • バックエンドタスクが実行されておらず、システムが 5 分間視聴者を検出しない場合、システムは自動的にトランスコーディングを停止します。

    • バックエンドタスクのステータスに関係なく、視聴者がいないときはいつでもシステムがトランスコーディングを停止させたい場合は、チケットを送信してバックエンド設定をリクエストしてください。チケットの送信方法の詳細については、「Contact us」をご参照ください。

  • システムは各ストリームを 1 回だけトランスコーディングします。

  • トランスコーディングはオプションのサービスであり、必要に応じて設定できます。

  • トランスコーディング機能は、FLV、RTMP、HLS、および RTS プロトコルをサポートしています。

アダプティブ解像度

トランスコーディングでは、ビデオの向きがランドスケープかポートレートかに基づいて、アダプティブ解像度アルゴリズムが使用されます。

  • アダプティブランドスケープトランスコーディングの場合、システムはテンプレートの高さに基づいて、トランスコーディングされたビデオの幅を調整します。

  • アダプティブポートレートトランスコーディングの場合、システムはテンプレートの幅に基づいて、トランスコーディングされたビデオの高さを調整します。

アダプティブ幅は、次のように計算されます。

高度自适应

たとえば、1920 × 1080 のビデオを LD (ランドスケープ) テンプレート (テンプレート ID: ld) を使用してトランスコーディングする場合、テンプレートは高さを 360 に設定し、アダプティブな幅調整の結果、最終的な解像度は 640 × 360 になります。

たとえば、1920 × 1080 のビデオを LD (ポートレート) テンプレート (テンプレート ID: ld-v) を使用してトランスコーディングする場合、テンプレートは幅を 360 に設定し、アダプティブな高さ調整の結果、最終的な解像度は 360 × 203 になります。

重要

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

設定

重要

トランスコーディングテンプレートの設定を変更または削除しても、進行中のストリームインジェストタスクには影響しません。新しい設定を有効にする、またはトランスコーディングの課金を停止するには、現在のライブストリームを切断し、ストリームインジェストを再開する必要があります。

デフォルトトランスコーディング

ApsaraVideo Live でデフォルトトランスコーディングを設定するには、2つの方法があります。

コンソールでのデフォルトトランスコーディング設定

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

  2. 左側のナビゲーションペインで、機能管理 > ライブストリームトランスコード をクリックします。

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

    image

    次の表では、トランスコーディングテンプレートのパラメーターについて説明します。

    パラメーター

    説明

    [アプリケーション名]

    システムは、まずアップストリーミング URL と同じ AppName を持つトランスコーディングテンプレートとの照合を試みます。一致するものが見つからない場合、システムは AppName がアスタリスク (*) に設定されているテンプレートを使用します。

    [トランスコーディングを開始]

    • 有効:トランスコードされたストリームが初めてフェッチされたときにのみ、トランスコーディングが開始されます。

    • 無効:ストリームがフェッチされていなくても、アップストリーミング時にトランスコーディングが開始されます。

    [トランスコードタイプ]

    • テンプレートタイプには、品質、パフォーマンス、価格が異なる 標準 と ナローバンド HD TM テンプレート の 2 種類があります。標準 には、[オリジナル品質 - 音声のみのトランスコーディング] オプションが含まれています。

    • 複数のトランスコーディングテンプレートを選択できます。

    • トランスコーディングテンプレートを使用する場合、テンプレート ID はトランスコーディング URL を構築するためのパラメーターです。URL の構築方法については、「ライブストリーミングURLの生成」をご参照ください。テンプレート ID の詳細については、「システムプリセットテンプレート」をご参照ください。トランスコーディングモードには、品質優先とレイテンシ優先があります。レイテンシ優先モードでは、トランスコードされたストリームのレイテンシが低くなります。

    • 同じドメイン名の場合、AppName とテンプレート ID の組み合わせが 複合プライマリキー として機能します。

    [ライブストリーミングの暗号化]

    この機能を有効にすると、Alibaba Cloud 独自のビデオ暗号化 または DRM の暗号化 を設定できます。

    説明

    DRM 暗号化は、上海およびシンガポールのライブセンターでのみサポートされます。

    • [Alibaba Cloud 独自のビデオ暗号化]

      • Alibaba Cloud 動画暗号化は、HLS および FLV 出力形式のみをサポートします。

      • [KMS メインキー ID]:Key Management Service (KMS) キーのリージョンは、ドメイン名のライブセンターと同じにする必要があります。キーがない場合は、KMS コンソールにアクセスして作成してください。詳細については、「KMSインスタンスの購入と有効化」をご参照ください。

      • [キー変更サイクル]:60 から 3600 までの整数。

      • Alibaba Cloud 動画暗号化の使用方法の詳細については、「Alibaba Cloud 動画暗号化」をご参照ください。

    • [DRM の暗号化]

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

      • DRM 暗号化は、HLS 経由の Widevine および FairPlay でサポートされます。FairPlay の場合、DRM 証明書管理で Apple から取得した証明書をアップロードする必要があります。詳細については、「FairPlay証明書のリクエスト」をご参照ください。

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

API を使用したデフォルトトランスコーディング設定

// このファイルは自動生成されています。編集しないでください。
package demo;

import com.aliyun.auth.credentials.Credential;
import com.aliyun.auth.credentials.provider.StaticCredentialProvider;
import com.aliyun.core.http.HttpClient;
import com.aliyun.core.http.HttpMethod;
import com.aliyun.core.http.ProxyOptions;
import com.aliyun.httpcomponent.httpclient.ApacheAsyncHttpClientBuilder;
import com.aliyun.sdk.service.live20161101.models.*;
import com.aliyun.sdk.service.live20161101.*;
import com.google.gson.Gson;
import darabonba.core.RequestConfiguration;
import darabonba.core.client.ClientOverrideConfiguration;
import darabonba.core.utils.CommonUtil;
import darabonba.core.TeaPair;

//import javax.net.ssl.KeyManager;
//import javax.net.ssl.X509TrustManager;
import java.net.InetSocketAddress;
import java.time.Duration;
import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.io.*;

public class AddLiveStreamTranscode {
    public static void main(String[] args) throws Exception {

        // HttpClient 設定
        /*HttpClient httpClient = new ApacheAsyncHttpClientBuilder()
                .connectionTimeout(Duration.ofSeconds(10)) // 接続タイムアウト時間を設定します。デフォルトは 10 秒です
                .responseTimeout(Duration.ofSeconds(10)) // レスポンスタイムアウト時間を設定します。デフォルトは 20 秒です
                .maxConnections(128) // 接続プールサイズを設定します
                .maxIdleTimeOut(Duration.ofSeconds(50)) // 接続プールタイムアウトを設定します。デフォルトは 30 秒です
                // プロキシを設定します
                .proxy(new ProxyOptions(ProxyOptions.Type.HTTP, new InetSocketAddress("<YOUR-PROXY-HOSTNAME>", 9001))
                        .setCredentials("<YOUR-PROXY-USERNAME>", "<YOUR-PROXY-PASSWORD>"))
                // https 接続の場合、証明書を設定するか、証明書を無視する必要があります (.ignoreSSL(true))
                .x509TrustManagers(new X509TrustManager[]{})
                .keyManagers(new KeyManager[]{})
                .ignoreSSL(false)
                .build();*/

        // Credentials 認証情報を設定します (ak、secret、token を含む)
        StaticCredentialProvider provider = StaticCredentialProvider.create(Credential.builder()
                // 環境変数 ALIBABA_CLOUD_ACCESS_KEY_ID と ALIBABA_CLOUD_ACCESS_KEY_SECRET が設定されていることを確認してください。
                .accessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
                .accessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"))
                //.securityToken(System.getenv("ALIBABA_CLOUD_SECURITY_TOKEN")) // STS トークンを使用
                .build());

        // クライアントを設定します
        AsyncClient client = AsyncClient.builder()
                .region("<Your RegionId>") // リージョン ID
                //.httpClient(httpClient) // 設定された HttpClient を使用します。それ以外の場合はデフォルトの HttpClient (Apache HttpClient) を使用します
                .credentialsProvider(provider)
                //.serviceConfiguration(Configuration.create()) // サービスレベル設定
                // クライアントレベル設定の上書き。Endpoint、Http リクエストパラメーターなどを設定できます。
                .overrideConfiguration(
                        ClientOverrideConfiguration.create()
                                  // エンドポイントの詳細については、https://api.alibabacloud.com/product/live をご参照ください。
                                .setEndpointOverride("live.aliyuncs.com")
                        //.setConnectTimeout(Duration.ofSeconds(30))
                )
                .build();

        // API リクエストのパラメーター設定
        AddLiveStreamTranscodeRequest addLiveStreamTranscodeRequest = AddLiveStreamTranscodeRequest.builder()
                .regionId("<Your RegionId>")
                .domain("<Your Domain>")
                .app("<Your App Name>")
                .template("<Your Template>")
                .lazy("true") // true: ストリームフェッチング時にトランスコーディングをトリガーします。false: アップストリーミング時にトランスコーディングをトリガーします。
                .encryptParameters("<Your EncryptParameters>")
                // リクエストレベル設定の上書き。Http リクエストパラメーターなどを設定できます。
                // .requestConfiguration(RequestConfiguration.create().setHttpHeaders(new HttpHeaders()))
                .build();

        // API リクエストの戻り値を非同期で取得します
        CompletableFuture<AddLiveStreamTranscodeResponse> response = client.addLiveStreamTranscode(addLiveStreamTranscodeRequest);
        // API リクエストの戻り値を同期的に取得します
        AddLiveStreamTranscodeResponse resp = response.get();
        System.out.println(new Gson().toJson(resp));
        // 戻り値の非同期処理
        /*response.thenAccept(resp -> {
            System.out.println(new Gson().toJson(resp));
        }).exceptionally(throwable -> { // 例外処理
            System.out.println(throwable.getMessage());
            return null;
        });*/

        // 最後にクライアントを閉じます
        client.close();
    }

}
説明
  • 上記の例では、AppName が <AppName> のライブストリームに対してトランスコーディングを設定する方法を示します。トランスコーディングパラメーターとして、システムプリセットテンプレート <ld> を使用します。システムプリセットテンプレートの詳細については、このトピックの システムプリセットテンプレート をご参照ください。

  • lazy("true") は、ストリームフェッチング 時にのみトランスコーディングがトリガーされることを意味します。アップストリーミング 時にトランスコーディングをトリガーするには、lazy("false") を指定できます。

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

ApsaraVideo Live コンソール にログインし、アップストリーミング管理 を選択して、対応するアップストリーミングレコードを見つけ、[操作] 列の インジェスト/ストリーミング URL をクリックして、トランスコードストリーム URL を表示できます。

説明
  • ストリーミング URL には、元のストリーミング URL とトランスコードストリーム URL が含まれます。

  • 元のストリーミング URL から StreamName を取得し、_<Template ID> を付加することで、カスタムトランスコードストリーム URL を作成できます。詳細については、「ライブストリーミング URL を生成する」をご参照ください。

カスタムトランスコーディング

デフォルトトランスコーディング テンプレートが要件を満たさない場合は、[トランスコードのカスタム設定] 設定を使用できます。 [トランスコードのカスタム設定] 設定では、エンコーディング形式、解像度、ビットレート、フレームレート、ビデオ GOP、トランスコーディングのトリガー、およびトランスコーディングテンプレート ID を設定できます。

ApsaraVideo Live では、2 つの方法で[トランスコードのカスタム設定]を設定できます。

コンソールでのカスタムトランスコーディングの設定

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

  2. 左側のメニューで、機能管理 > ライブストリームトランスコード をクリックします。

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

    次の表に、トランスコーディングテンプレートのパラメーターを示します。

    パラメーター

    説明

    [アプリケーション名]

    システムはまず、インジェスト URL と同じ AppName を持つトランスコーディングテンプレートとの照合を試みます。 一致するものが見つからない場合、システムは AppName がアスタリスク (*) に設定されているテンプレートを使用します。

    [テンプレート ID]

    • トランスコーディングテンプレートを使用する場合、[テンプレート ID] はトランスコーディング URL を構築するためのパラメーターです。 URL の作成方法については、「ライブストリーミングURLの生成」をご参照ください。

    • システムプリセットのテンプレート ID と同じテンプレート ID を設定しないでください。 システムプリセットのテンプレート ID の詳細については、「システムプリセットテンプレート」をご参照ください。

    • 同一ドメイン名内では、AppName とテンプレート ID の組み合わせが複合プライマリキーとして機能します。

    [トランスコードタイプ]

    • オプションは[標準]、[ナローバンド HD TM テンプレート]、および[音声のみのコード変換テンプレート]です。 標準テンプレートと狭帯域 HD™ テンプレートでは、品質、パフォーマンス、価格が異なります。

    • [音声のみのコード変換テンプレート]は、ビデオを削除し、音声ストリームのみを出力します。

    [エンコード形式]

    H.264 と H.265 がサポートされています。

    [推奨されるテンプレートパラメーター]

    LD、SD、HD、UHD の 4 つの推奨パラメーターセットが利用可能です。 プリセットを選択すると、対応するフレームレート、ビットレート、解像度がシステムのデフォルト値で自動的に入力されます。 その後、必要に応じてこれらの値を調整できます。

    [解像度]

    ビデオの出力解像度 (ピクセル単位) 。 固定解像度を選択するか、解像度をソースに合わせることができます。

    ソースに合わせる:ソースストリームの幅と高さがアダプティブディメンションより小さい場合、出力解像度はソースと一致します。 幅と高さが大きい場合、出力解像度はアダプティブディメンションを使用します。 次のアダプティブメソッドのいずれかを選択できます:

    • アダプティブ短辺

    • アダプティブ長辺

    • アダプティブランドスケープ/ポートレート

    固定解像度:出力は指定された解像度になります。 解像度のティアが異なると、価格も異なります。 解像度のティアは次のとおりです:

    • LD: (640 × 480) 以下。

    • SD: (1280 × 720) 以下。

    • HD: (1920 × 1080) 以下。

    • 2K: (2560 × 1440) 以下。

    • 4K: (3840 × 2160) 以下。

    注

    • トランスコーディングは、解像度のティア (LD、SD、HD、2K、または 4K) に基づいて課金されます。 解像度のティアは、標準テンプレート (lld、lsd、lhd、lud など) および狭帯域 HD™ テンプレート (ld、sd、hd、ud など) のテンプレート ID とは無関係です。 テンプレート ID は API 呼び出しで識別子としてのみ使用され、課金ティアと混同しないでください。

    • コンソールでは、1080p を超える解像度のカスタム設定はサポートされていません。 シナリオで 2K または 4K の解像度が必要な場合は、チケットを送信してリクエストしてください。

      チケットの送信方法については、「お問い合わせ」をご参照ください。

    解像度ティアの決定ルール:出力仕様は、出力ビデオ解像度の長辺と短辺がそのティアに定義された範囲内にあるかどうかによって決まります。

    たとえば、SD (1280 × 720) ティアの場合:

    • 出力ビデオ解像度の長辺が 1280 以下で、短辺が 720 以下の場合、ビデオはこの出力仕様に該当します。

    • 出力ビデオの長辺が 1280 を超えるか、短辺が 720 を超える場合、出力ビデオはより高い出力仕様に該当します。

    [映像フレームレート]

    ソースに合わせる:ソースのフレームレートが許容範囲内にある場合、出力フレームレートはソースと一致します。 上限を超えた場合は、上限値が適用されます。 下限を下回った場合は、下限値が適用されます。

    固定フレームレート:出力には、指定されたビデオフレームレート (FPS) が適用されます。 値は、入力フレームレート以下である必要があります。

    [映像ビットレート]

    ソースに合わせる:ソースのビットレートが許容範囲内にある場合、出力ビットレートはソースと一致します。 上限を超えた場合は、上限値が適用されます。 下限を下回った場合は、下限値が適用されます。 比率による出力もサポートされています。

    固定ビットレート:指定されたビットレート (kbps) を使用します。 各解像度ティアに指定されたビットレートは次のとおりです:

    • LD:100~800。

    • SD:200~1500。

    • HD:500~4000。

    • 2K:2000~8000。

    • 4K:4000~30000。

    [ビデオ GOP (フレーム)]

    Group of Pictures (GOP) 、つまり 2 つの I フレーム間の間隔を指定します。 値はソースストリームの GOP 以下である必要があり、低レイテンシーを確保するために 3 秒を超えることはできません。

    [音声ビットレート] (音声のみのトランスコーディング)

    このパラメーターは、[トランスコードタイプ]を[音声のみ]に設定した場合に表示されます。 単位は kbps です。 値の範囲は 8~1,000 です。

    [コーデック] (音声のみのトランスコーディング)

    このパラメーターは、[トランスコードタイプ]を[音声のみ]に設定した場合に表示されます。

    • LC-AAC:Low Complexity-Advanced Audio Coding。 高いトランスコーディング効率を提供します。

    • HE-AAC:High-Efficiency Advanced Audio Coding。 低い音声ビットレート (通常 128 kbps 未満) で、LC-AAC よりも優れた音質を提供します。

    [サンプリングレート] (音声のみのトランスコーディング)

    このパラメーターは音声サンプリングレートを指定するもので、[トランスコードタイプ]を[音声のみ]に設定した場合に表示されます。 有効な値: 22050、32000、44100、48000、96000。

    [チャンネル数] (音声のみのトランスコーディング)

    このパラメーターは音声チャネル数を指定するもので、[トランスコードタイプ]を[音声のみ]に設定した場合に表示されます。 有効な値: 1 または 2。

    [トランスコーディングモード] (高度な設定)

    品質優先とレイテンシー優先に対応しています。 レイテンシー優先モードでは、トランスコーディングされたストリームのレイテンシーが低くなります。

    [トランスコーディングのトリガー] (高度な設定)

    • 有効:トランスコーディングは、ストリームが初めてフェッチされたときにのみ開始されます。

    • 無効:ストリームがフェッチされていなくても、ストリームインジェスト時にトランスコーディングが開始されます。

    [ビデオの暗号化] (高度な設定)

    この機能を有効にすると、[Alibaba Cloud 独自のビデオ暗号化]または[DRM の暗号化]を設定できます。

    説明

    DRM 暗号化は、上海とシンガポールのライブセンターでのみサポートされています。

    • [Alibaba Cloud 独自のビデオ暗号化]

      • Alibaba Cloud ビデオ暗号化は、HLS および FLV 出力フォーマットのみをサポートします。

      • KMS CMK ID: KMS キーのリージョンは、ドメイン名のライブセンターと同じである必要があります。 キーがない場合は、KMS コンソールに移動して作成してください。 詳細については、「KMSインスタンスの購入と有効化」をご参照ください。

      • キーのローテーション期間:60~3600 の整数。

      • Alibaba Cloud ビデオ暗号化の使用方法の詳細については、「Alibaba Cloud ビデオ暗号化」をご参照ください。

    • [DRM の暗号化]

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

      • DRM 暗号化は、HLS 経由の Widevine と FairPlay に対応しています。 FairPlay の場合、Apple から取得した証明書を「DRM 証明書管理」にアップロードする必要があります。 詳細については、「FairPlay証明書のリクエスト」をご参照ください。

    [すべてのタイプの SEI をパススルーする] (高度な設定)

    有効にすると、すべてのタイプの SEI メッセージがパススルーされます。 無効にすると、SEI メッセージはパススルーされません。

    [キーフレームはソースに従う] (高度な設定)

    有効にすると、トランスコーディングされた出力ストリームのキーフレームが、ソースストリームのキーフレームに揃えられます。

    [pts はソースに従う] (高度な設定)

    有効にすると、トランスコーディングされた出力ストリームのプレゼンテーションタイムスタンプ (PTS) が、ソースストリームの PTS に揃えられます。

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

API を使用したカスタムトランスコーディングの設定

特定のドメイン名と AppName の[トランスコードのカスタム設定]設定情報を追加するには、AddCustomLiveStreamTranscode API を呼び出します。

[トランスコードのカスタム設定]のパラメーター設定は複雑なため、コンソールと API を組み合わせて[トランスコードのカスタム設定]を設定することを推奨します。

まず、コンソールで[トランスコードのカスタム設定]設定を追加します。

説明

コンソールでは、解像度効果をプレビューでき、LD、SD、HD、UHD のテンプレートパラメーターをすばやく入力できます。

パラメーターを調整した後、DescribeLiveStreamTranscodeInfo API を呼び出して、トランスコーディング設定情報を照会します。

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

[マルチビットレートトランスコーディング] を使用すると、1 つのテンプレートグループ内に複数のトランスコーディングプロファイルを設定できます。ネットワーク環境のばらつきが大きいリージョンでは、ネットワークの変動が再生体験に影響する可能性があります。複数のビットレートを設定することで、プレーヤーがユーザーの帯域幅に適応できるようになります。[マルチビットレートトランスコーディング] を設定すると、プレーヤーはクライアントのネットワークに最適なビットレートを自動的に選択でき、再生体験が向上します。

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

コンソールでのマルチビットレートトランスコーディングの設定

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

  2. 左側メニューで、機能管理 > ライブストリームトランスコード をクリックします。

  3. 設定するドメイン名を選択し、マルチビットレートトランスコーディング タブをクリックし、次に 追加 をクリックして マルチビットレートトランスコーディング テンプレートグループを追加します。

    1. 基本情報をクリックして、マルチビットレートトランスコーディングテンプレートグループの基本情報を編集します。

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

      次の表に、パラメーターを示します。

      パラメーター

      説明

      [アプリケーション名]

      この AppName がアップストリーミング URL 内の AppName と一致する場合にのみ、トランスコーディングテンプレートが適用されます。同一のドメイン名では、AppName と Template Group ID の組み合わせが 複合プライマリキー として扱われます。

      [テンプレートグループ ID]

      トランスコーディングテンプレートグループの ID です。この ID は マルチビットレートトランスコーディング URL の構築に使用されるパラメーターであり、数字、大文字、小文字、およびハイフン (-) を含む最大 10 文字で構成されます。

      [コンテナフォーマット]

      現在、HLS のみサポートされています。

      [トランスコーディングのトリガー]

      現在、トランスコーディングはアップストリーミングによってのみトリガーできます。この操作によりトランスコーディング料金が発生します。ストリームフェッチングによるトランスコーディングのトリガーはサポートされていません。

      [タイムスタンプの調整]

      有効にすると、この設定により個々のテンプレートの GOP 設定が上書きされ、ソース動画の GOP が使用されます。

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

      追加したテンプレートをクリックして、パラメーターを編集します。必要なパラメーターは、テンプレートタイプによって異なる場合があります。次の表に、パラメーターを示します。

      パラメーター

      説明

      [テンプレート ID]

      トランスコーディングテンプレートグループ内の個々のテンプレートの ID です。同一のテンプレートグループ内の Template ID は一意である必要があります。

      [テンプレートタイプ]

      有効な値: 標準、ナローバンド HD TM テンプレート、音声のみのコード変換テンプレート。

      音声のみのコード変換テンプレート は、映像を削除し、音声ストリームのみを出力します。

      [解像度]

      ピクセル単位の動画の出力解像度です。解像度ティアによって価格が異なります。解像度ティアは次のとおりです。

      • LD: (640 × 480) 以下。

      • SD: (1280 × 720) 以下。

      • HD: (1920 × 1080) 以下。

      • 2K: (2560 × 1440) 以下。

      • 4K: (3840 × 2160) 以下。

      説明

      トランスコーディングは、解像度ティア (LD、SD、HD、2K、または 4K) ごとに課金されます。これらの課金ティアは、識別子としてのみ使用される標準テンプレートのテンプレート ID (lld、lsd、lhd、lud など) およびナローバンド HD™ テンプレート ID (ld、sd、hd、ud など) とは異なります。この 2 つを混同しないでください。

      解像度ティアの判定ルール:解像度ティアは、出力動画の解像度の長辺と短辺が、そのティアで定義された範囲内に収まるかどうかで決まります。

      SD (1280 × 720) の出力仕様を例にします。

      • 出力動画の解像度の長辺が 1280 以下で、短辺が 720 以下の場合、動画はこの出力仕様に該当します。

      • 出力動画の長辺が 1280 を超える、または短辺が 720 を超える場合、出力動画はより上位の出力仕様に該当します。

      [映像ビットレート]

      指定の 解像度 におけるビットレートです。単位は kbps です。解像度ティアごとに指定できるビットレートは次のとおりです。

      • LD: 100 ~ 800。

      • SD: 200 ~ 1500。

      • HD: 500 ~ 4000。

      • 2K: 2000 ~ 8000。

      • 4K: 4000 ~ 30000。

      [映像フレームレート]

      FPS 単位の出力動画フレームレートです。値は入力フレームレート以下である必要があります。

      [ビデオ GOP (フレーム)]

      GOP (Group of Pictures) を指定します。これは 2 つの I フレーム間の間隔です。低レイテンシーを確保するため、値はソースストリームの GOP 以下である必要があり、3 秒を超えることはできません。

      [エンコード形式]

      現在、AAC のエンコーディング形式のみサポートされています。

      [コーデック] (音声のみのトランスコーディング)

      • LC-AAC: Low-Complexity Advanced Audio Coding。高いトランスコーディング効率を提供します。

      • HE-AAC: High-Efficiency Advanced Audio Coding。一般に 128 kbps 未満などの低い音声ビットレートにおいて、LC-AAC よりも優れた音質を提供します。

      [ビットレート] (音声のみのトランスコーディング)

      音声ビットレートです。値の範囲は 8 ~ 1,000 です。

      [チャンネル数] (音声のみのトランスコーディング)

      音声トラック数です。有効な値: 1 または 2。

      [最大帯域幅]

      100 Kbps ~ 100 Mbps の整数または小数 (小数第 2 位まで) を指定します。この値は、ビデオビットレートの 1.2 ~ 1.5 倍に設定することを推奨します。

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

重要
  • 現在、マルチビットレートトランスコーディング ストリームは HLS トランスコードストリーム URL としてのみ利用可能です。

  • マルチビットレートトランスコーディング ストリームを再生するには、aliyunols=on パラメーターを追加する必要があります。aliyunols=on パラメーターは必須であり、固定値です。

URL の例を次に示します:

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

次の例では、マルチビットレートトランスコーディング を実際のシナリオで使用する方法を説明します。

たとえば、次の図に示すようにマルチビットレートトランスコーディング設定を追加します。

image

説明

このテンプレートグループでは、4 段階のトランスコーディング設定をカスタマイズしています。各レベルのパラメーター値については、このトピックの「System-preset templates」をご参照ください。

次に、アップストリーミングを開始し、Web ベースの Alibaba Cloud Player SDK を使用して再生します。デバッグ時には、クライアントのネットワーク帯域幅に基づいて、プレーヤーが適切なビットレートのトランスコード済みストリームを自動的に選択することを確認できます。

stream_transcode-lld.m3u8?aliyunols=on&auth_key=17260391...  200
stream_transcode-lsd.m3u8?aliyunols=on&auth_key=17260391...  200
stream_transcode-lld.m3u8?aliyunols=on&auth_key=17260391...  200
stream_transcode-lsd.m3u8?aliyunols=on&auth_key=17260391...  200
stream_transcode-lld.m3u8?aliyunols=on&auth_key=17260391...  200
stream_transcode-lsd.m3u8?aliyunols=on&auth_key=17260391...  200
stream_transcode-lsd.m3u8?aliyunols=on&auth_key=17260391...  200
stream_transcode-lhd.m3u8?aliyunols=on&auth_key=1726039...   200
stream_transcode-lsd.m3u8?aliyunols=on&auth_key=1726039...   200
stream_transcode-lhd.m3u8?aliyunols=on&auth_key=1726039...   200
stream_transcode-lhd.m3u8?aliyunols=on&auth_key=1726039...   200
stream_transcode-lhd.m3u8?aliyunols=on&auth_key=1726039...   200
説明

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

H5 自動トランスコーディング

リアルタイムストリーミング (RTS) は WebRTC プロトコルを使用します。ネイティブブラウザでは WebRTC のビデオ B フレームや AAC エンコーディングがサポートされていないことが多いため、H5 自動トランスコーディング はこれらの非互換性に対応し、スムーズな再生を実現します。

RTS を有効化する際に、H5 自動トランスコーディングを有効にできます。詳細については、「ステップ 5:RTS 機能の有効化」をご参照ください。

説明
  • H5 自動トランスコーディング は、ネイティブブラウザでのリアルタイムストリーミング (RTS) 再生における、B フレームや AAC エンコーディングなどの互換性の問題を解決します。ビットレート、フレームレート、解像度の調整など、ビデオコンテンツをトランスコーディングするには、引き続き デフォルトトランスコーディング または [トランスコードのカスタム設定] を使用する必要があります。

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

  • H5 自動トランスコーディング を使用すると、音声のみのトランスコーディングには料金が発生します。詳細については、「ライブストリームトランスコーディング料金」をご参照ください。

重要
  • 音声のみのトランスコーディングを無効にするには、ApsaraVideo Live コンソールにログインし、左側メニューで 機能管理 > ライブストリームトランスコード を選択します。ドメイン名に [音声のみのコード変換テンプレート] が設定されているかどうかを確認します。設定されている場合は、そのテンプレートを削除または変更します。

  • Web SDK を使用した再生で、AAC から Opus へのトランスコーディングなど、[H5 オートトランスコーディング] が自動的にトリガーされる場合は、代わりに Alibaba Cloud Native SDK を使用することを推奨します。Native SDK は AAC などのフォーマットをネイティブにサポートしているため、この自動トランスコーディングをトリガーせず、追加のトランスコーディング料金を防ぐことができます。

動画の暗号化

デフォルトトランスコーディングと[トランスコードのカスタム設定]の設定には、動画暗号化のオプションが含まれています。これらの設定内で[Alibaba Cloud 独自のビデオ暗号化]を直接設定できます。詳細および設定手順については、「Alibaba Cloud 動画暗号化」をご参照ください。

リファレンス

トランスコーディング設定 API の詳細については、「ライブストリームトランスコーディング」をご参照ください。

Java SDK を使用するには、「Java SDK ガイド」をご参照ください。