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

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

最終更新日:Nov 22, 2025

ライブストリームトランスコーディングは、高いまたは低いアップストリーミングビットレートによって引き起こされる再生の問題を解決します。このトピックでは、ライブストリームトランスコーディングのシナリオ、制限、特徴、テンプレートパラメーター、トランスコーディングルール、および適応幅について説明します。

シナリオ

  • アップストリーミングのビットレートが高く、クライアントの帯域幅が限られている場合、ビデオの再生が途切れることがあります。アップストリーミングのビットレートが低い場合、再生品質は低下します。ライブストリームトランスコーディングは、これらの問題を迅速に解決するのに役立ちます。

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

    • H.264 エンコーディングのストリームをアップストリームし、リアルタイムで H.265 ライブストリームにトランスコーディングして、帯域幅の使用量を削減できます。

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

    • ブラウザでの H.265 の非互換性を解決するために、ストリームをリアルタイムで H.264 ライブストリームにトランスコーディングできます。

重要

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

制限

  • ドメイン名と AppName のトランスコーディングテンプレートを設定する場合、同じテンプレート内で トランスコードタイプ[標準テンプレート][狭帯域 HDTM テンプレート] の両方に設定することはできません。

  • AppName でトランスコーディングテンプレートを設定した場合、アップストリーミング URL の AppName がテンプレートの AppName と一致すると、テンプレートが有効になります。サブストリーミングドメインは、プライマリストリーミングドメインのトランスコーディングテンプレートを再利用します。サブストリーミングドメインの設定は無効です。

  • 北京、上海、深センのライブセンターでは、各ドメイン名が最大 300 の同時トランスコーディングストリームをサポートします。他のライブセンターでは、各ドメイン名が最大 50 の同時トランスコーディングストリームをサポートします。たとえば、高解像度 (HD) ライブストリームがアップストリームされ、再生用に標準解像度 (SD) と低解像度 (LD) のストリームにトランスコーディングされる場合、これは 2 つのトランスコーディングストリームとしてカウントされます。制限に達すると、制限を超えた再生接続は元のストリームを再生します。ストリーミングドメインの基本設定の基本情報に移動して、現在の使用状況を確認し、クォータを増やすことができます。

  • 提供されるライブストリーミングサービスがビジネス要件を満たさない場合は、Alibaba Cloud アカウントマネージャーに連絡するか、他のチャネルを通じてご相談ください。

特徴

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

デフォルト: システムプリセットテンプレートを参照できます。これには、テンプレート ID と出力解像度が含まれます。出力ビットレートはシステムによってプリセットされており、変更できません。

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

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

H5 オートトランスコーディング: この機能は、リアルタイムストリーミング (RTS) (artc://) のネイティブブラウザでビデオ B フレームや AAC エンコーディングがサポートされていないなどの問題を解決します。

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

テンプレートの詳細

  • 標準テンプレート

トランスコーディングテンプレート

品質優先テンプレート ID - H.264

品質優先テンプレート ID - H265

遅延優先テンプレート 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 分間誰もストリームを視聴していない場合、トランスコーディングは停止します。

  • 各トランスコーディングストリームは一度だけトランスコーディングされます。

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

  • トランスコーディング機能は、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

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

    パラメーター

    説明

    アプリケーション名

    AppName の一致には優先順位があります。システムはまず、アップストリーミング URL と同じ AppName を持つトランスコーディングテンプレートを照合しようとします。そのようなテンプレートが存在しない場合、AppName が単一のアスタリスク (*) に設定されたトランスコーディングテンプレートを照合します。

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

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

    • 無効: ストリームがプルされているかどうかに関係なく、ストリームのアップストリームがある限りトランスコーディングが開始されます。

    トランスコードタイプ

    • 標準[狭帯域 HD™ テンプレート] を提供します。標準テンプレートと狭帯域 HD™ テンプレートの品質、パフォーマンス、価格は異なります。標準 は、オリジナル品質 - 音声のみのトランスコーディングテンプレートを提供します。一度に 1 つのテンプレートタイプのみを選択できます。

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

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

    • 同じドメイン名の場合、AppName とテンプレート ID は複合プライマリキーを形成します。

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

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

    説明

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

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

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

      • KMS メインキー ID: 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();*/

        // 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()) // サービスレベルの設定
                // クライアントレベルの設定を上書きし、エンドポイントや Http リクエストパラメーターなどを設定できます。
                .overrideConfiguration(
                        ClientOverrideConfiguration.create()
                                  // エンドポイントの詳細については、https://api.aliyun.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>")
                .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> を使用します。システムプリセットテンプレートの詳細については、このトピックの「システムプリセットテンプレート」をご参照ください。

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

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

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

説明
  • ストリーミング URL には、オリジナル品質 (Original) の URL とトランスコーディングされたストリームの URL が含まれます。

  • 元のストリーミング URL の StreamName の後に _Template ID を追加して、カスタムのトランスコーディングされたストリーム URL を作成できます。詳細については、「ライブストリーミング URL の生成」をご参照ください。

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

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

ApsaraVideo Live で トランスコードのカスタム設定 を設定するには、2 つの方法があります:

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

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

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

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

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

    パラメーター

    説明

    アプリケーション名

    AppName の一致には優先順位があります。システムはまず、アップストリーミング URL と同じ AppName を持つトランスコーディングテンプレートを照合しようとします。そのようなテンプレートが存在しない場合、AppName が単一のアスタリスク (*) に設定されたトランスコーディングテンプレートを照合します。

    テンプレート ID

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

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

    • 同じドメイン名の場合、AppName とテンプレート ID は [複合プライマリキー] を形成します。

    トランスコードタイプ

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

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

    エンコード形式

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

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

    LD、SD、UHD、HD の 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 は、ビジネスコール用の識別子としてのみ使用されます。混同しないでください。

    • コンソールは、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 フレーム間の間隔です。値は入力値以下である必要があります。低遅延を確保するため、3 秒を超えることはできません。

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

    これは、トランスコードタイプ[音声のみのトランスコーディングテンプレート] に設定した場合に表示されます。単位は kbps です。値の範囲は 8 から 1000 です。

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

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

    • LC-AAC: 低複雑度 Advanced Audio Coding。高いトランスコーディング効率。

    • HE-AAC: 高効率 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 Master Key: KMS キーのリージョンは、ドメイン名のライブセンターと同じである必要があります。キーがない場合は、KMS サービスに移動して作成してください。詳細については、「KMS インスタンスの購入と有効化」をご参照ください。

      • キーローテーション期間: 60 から 3600 までの整数。

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

    • DRM の暗号化

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

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

    すべてのタイプの SEI をパススルーする (詳細設定)

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

    キーフレームはソースに従う (詳細設定)

    有効にすると、トランスコーディングされた出力ストリームのキーフレームは、元のストリームのキーフレームと一致します。

    pts はソースに従う (詳細設定)

    有効にすると、トランスコーディングされた出力ストリームの PTS は、元のストリームの PTS と一致します。

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

API を使用してカスタムトランスコーディングを設定する

AddCustomLiveStreamTranscode API を呼び出して、ドメイン名と AppName の トランスコードのカスタム設定 設定情報を追加できます。

トランスコードのカスタム設定 のパラメーター設定は複雑なため、コンソールと API を併用して トランスコードのカスタム設定 を設定することをお勧めします。

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

説明

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

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

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

マルチビットレートトランスコーディング を使用すると、単一のトランスコーディングテンプレートで複数のトランスコーディングモードを設定できます。一部の地域では、ネットワーク環境が大きく異なり、ネットワークの変動がクライアントの再生エクスペリエンスに影響を与える可能性があります。したがって、さまざまな帯域幅条件に合わせて複数のビットレートを設定する必要があります。マルチビットレートトランスコーディング を設定すると、プレーヤーはクライアントのネットワーク帯域幅に基づいて適切なビットレートでライブストリームを自動的に再生できます。これにより、再生エクスペリエンスが向上します。

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

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

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

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

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

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

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

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

      パラメーター

      説明

      アプリケーション名

      トランスコーディングテンプレートを有効にするには、AppName がアップストリーミング URL の AppName と一致する必要があります。同じドメイン名の場合、AppName とテンプレートグループ ID は [複合プライマリキー] を形成します。

      テンプレートグループ ID

      トランスコーディングテンプレートグループの ID。テンプレートグループ ID は、マルチビットレートトランスコーディング URL を構築するために使用されるパラメーターです。最大 10 文字で、数字、大文字と小文字の英字、ハイフンを含めることができます。

      コンテナフォーマット

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

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

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

      タイムスタンプの調整

      有効にすると、各テンプレートの GOP 設定は無効になり、ソースビデオの GOP が使用されます。

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

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

      パラメーター

      説明

      テンプレート ID

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

      テンプレートタイプ

      標準[狭帯域 HD™ テンプレート]、および 音声のみのコード変換テンプレート

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

      解像度

      ビデオの出力解像度 (ピクセル単位)。解像度ティアが異なると、価格も異なります。解像度ティアは次のとおりです:

      • LD: (640 × 480) 以下。

      • SD: (1280 × 720) 以下。

      • HD: (1920 × 1080) 以下。

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

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

      説明

      トランスコーディングは、解像度ティア (LD、SD、HD、2K、4K) に基づいて課金されます。これは、標準テンプレート (lld、lsd、lhd、lud を含む) のテンプレート ID および デフォルトのトランスコーディングテンプレートの狭帯域 HD™ テンプレート ID (ld、sd、hd、ud を含む) とは無関係です。混同しないでください。

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

      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 (フレーム)

      出力ビデオの Group of Pictures (GOP) で、2 つの I フレーム間の間隔です。値は入力値以下である必要があります。低遅延を確保するため、3 秒を超えることはできません。

      エンコード形式

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

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

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

      • HE-AAC: 高効率 Advanced Audio Coding。低いオーディオビットレート (通常 128 kbps 未満) で LC-AAC よりも優れたオーディオ品質を提供します。

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

      オーディオビットレート。値の範囲は 8 から 1000 です。

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

      サウンドトラックの数。有効な値: 1 または 2。

      最大帯域幅

      100 Kbps から 100 Mbps までの整数または 10 進数で、小数点以下 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 つのレベルのトランスコーディング設定がカスタマイズされています。さまざまなレベルのパラメーター値については、このトピックの「システムプリセットテンプレート」をご参照ください。

次に、ストリームをアップストリームし、Web ベースの ApsaraVideo Player を使用して再生できます。デバッグ中に、プレーヤーがクライアントのネットワーク帯域幅に基づいて適切なビットレートでトランスコーディングされたストリームを自動的に再生することがわかります。

image

説明

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

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

リアルタイムストリーミング (RTS) は、Web Real-Time Communication (WebRTC) シグナリングに基づいています。ネイティブブラウザの WebRTC は、ビデオ B フレームや AAC エンコーディングをサポートしていません。H5 自動トランスコーディングは、スムーズな再生を保証するために適応トランスコーディングを提供します。

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

説明
  • H5 自動トランスコーディングは、ネイティブブラウザの RTS (artc://) におけるビデオ B フレームや AAC エンコーディングなどの問題を処理するために使用されます。ビットレート、フレームレート、解像度の調整など、ビデオコンテンツをトランスコーディングするには、引き続きデフォルトトランスコーディングまたは トランスコードのカスタム設定 を通じて設定する必要があります。

  • H5 自動トランスコーディングは、デフォルトトランスコーディングまたは トランスコードのカスタム設定 と組み合わせて使用できます。

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

ビデオ暗号化

デフォルトトランスコーディングまたは トランスコードのカスタム設定 を設定する際に、ビデオ暗号化関連のフィールドに気付くかもしれません。トランスコーディング設定を通じて Alibaba Cloud 独自のビデオ暗号化 機能を実装できます。Alibaba Cloud ビデオ暗号化機能とその実装方法の詳細については、「Alibaba Cloud ビデオ暗号化」をご参照ください。

リファレンス

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

Java SDK の使用方法の詳細については、「Java SDK ガイド」をご参照ください。