ライブストリームトランスコーディングにより、インジェストビットレートが高すぎる、または低すぎることによる再生の問題を防ぎます。このトピックでは、シナリオ、制限、機能、テンプレートパラメーター、トランスコードルール、アダプティブ幅について説明します。
ユースケース
-
インジェストビットレートが高い一方でクライアントの帯域幅が限られている場合、動画再生が途切れることがあります。逆に、インジェストビットレートが低い場合は、再生品質が低下します。ライブストリームトランスコーディングは、これらの問題を解決します。
-
プレーヤープラグインは、マルチビットレート切り替えをサポートしている必要があります。これを有効にするには、同じインジェストストリームに対し、ビットレートが異なる複数のストリーミング 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 を設定できます。
[マルチビットレートトランスコーディング]:1 つのトランスコーディングテンプレートに複数のトランスコーディング設定を含めることができます。マルチビットレートトランスコーディングを設定すると、プレーヤーはクライアントのネットワーク帯域幅に基づいて、適切なビットレートのライブストリームを自動的に再生できます。これにより、再生体験が向上します。
[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 分間視聴者を検出しない場合、システムは自動的にトランスコーディングを停止します。
-
バックエンドタスクのステータスに関係なく、視聴者がいない場合に常にトランスコーディングを停止させたい場合は、チケットを送信してバックエンド設定をリクエストしてください。チケットの送信方法の詳細については、「お問い合わせ」をご参照ください。
-
-
システムは各ストリームを1回のみトランスコーディングします。
-
トランスコーディングはオプションのサービスであり、必要に応じて設定できます。
-
トランスコーディング機能は、FLV、RTMP、HLS、および RTS プロトコルをサポートしています。
アダプティブ解像度
トランスコーディングでは、ビデオがランドスケープかポートレートのどちらの向きであるかに基づいて、アダプティブ解像度アルゴリズムが使用されます。
-
アダプティブランドスケープトランスコーディングの場合、システムはテンプレートの高さに基づいて、トランスコーディングされたビデオの幅を調整します。
-
アダプティブポートレートトランスコーディングの場合、システムはテンプレートの幅に基づいて、トランスコーディングされたビデオの高さを調整します。
システムは、以下のようにアダプティブ幅を計算します:

たとえば、1920 × 1080 のビデオをLD (ランドスケープ) テンプレート (テンプレート ID: lld) を使用してトランスコーディングする場合、テンプレートは高さを 360 に設定し、アダプティブな幅調整により最終的な解像度は 640 × 360 になります。
たとえば、1920 × 1080 のビデオをLD (ポートレート) テンプレート (テンプレート ID: lld-v) を使用してトランスコーディングする場合、テンプレートは幅を 360 に設定し、アダプティブな高さ調整により最終的な解像度は 360 × 202 になります。
現在、[デフォルト] と [トランスコードのカスタム設定] のみがアダプティブ解像度に対応しています。
設定
デフォルトトランスコーディング
ApsaraVideo Live では、2 つの方法で デフォルトトランスコーディング を設定できます:
コンソールでのデフォルトトランスコーディングの設定
-
ApsaraVideo Live コンソール にログインします。
-
ナビゲーションペインで、機能管理 > ライブストリームトランスコード をクリックします。
-
設定するドメイン名を選択し、デフォルト タブをクリックしてから、追加 をクリックしてトランスコーディングテンプレートを設定します。

次の表に、トランスコーディングテンプレートのパラメーターを示します。
パラメーター
説明
[アプリケーション名]
システムはまず、インジェスト URL と同じ AppName のトランスコーディングテンプレートを照合します。一致するものが見つからない場合、システムは AppName がアスタリスク (*) に設定されているテンプレートを使用します。
[トランスコーディングを開始]
-
有効 (遅延トリガー): トランスコードされたストリームが初めてプルされたときにのみトランスコーディングが開始されます。
-
無効 (即時トリガー): ストリームがプルされていなくても、ストリームインジェスト時にトランスコーディングが開始されます。
[トランスコードタイプ]
-
テンプレートタイプは [標準] と [ナローバンド HD TM テンプレート] の 2 種類があります。これらのタイプは、品質、パフォーマンス、価格が異なります。[標準] には、オリジナル品質 - 音声のみのトランスコーディング オプションが含まれます。
-
複数のトランスコーディングテンプレートを選択できます。
-
トランスコーディングテンプレートを使用する場合、テンプレート ID はトランスコーディング URL を作成するために使用されるパラメーターです。URL の作成方法については、「ライブストリーミング URL の生成」をご参照ください。テンプレート ID の詳細については、「システムプリセットテンプレート」をご参照ください。トランスコーディングモードには、品質優先とレイテンシー優先があります。レイテンシー優先モードでは、トランスコードされたストリームのレイテンシーが低くなります。
-
同じドメイン名の場合、AppName とテンプレート ID の組み合わせは 複合主キー となります。
[ライブストリーミングの暗号化]
この機能を有効にすると、[Alibaba Cloud 独自のビデオ暗号化] または [DRM の暗号化] を設定できます。
説明DRM 暗号化は、上海と Singapore のライブセンターでのみサポートされています。
-
[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 の場合、Apple から取得した証明書を DRM 証明書管理にアップロードする必要があります。詳細については、「FairPlay 証明書のリクエスト」をご参照ください。
-
-
-
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.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>")
.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 には、元のストリーミング URL とトランスコード済みストリーム URL が含まれます。
-
元のストリーミング URL から
StreamNameを取得し、_<Template ID>を追加することで、カスタムトランスコード済みストリーム URL を作成できます。詳細については、「ライブストリーミング URL の生成」をご参照ください。
カスタムトランスコーディング
デフォルトトランスコーディング テンプレートが要件を満たさない場合は、[トランスコードのカスタム設定] 設定を使用できます。[トランスコードのカスタム設定] 設定では、エンコーディング形式、解像度、ビットレート、フレームレート、ビデオ GOP、トランスコーディングトリガー、およびトランスコーディングテンプレート ID を設定できます。
ApsaraVideo Live で[トランスコードのカスタム設定]を設定するには、次の 2 つの方法があります。
コンソールでのカスタムトランスコーディング設定
-
ApsaraVideo Live コンソールにログインします。
-
左側のメニューで、機能管理 > ライブストリームトランスコード をクリックします。
-
設定するドメイン名を選択し、トランスコードのカスタム設定 タブをクリックして [追加] をクリックし、トランスコーディングテンプレートを設定します。

次の表では、トランスコーディングテンプレートのパラメーターについて説明します。
パラメーター
説明
[アプリケーション名]
システムは、まずアップストリーミング 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 (フレーム)]
GOP (Group of Pictures)、つまり 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 の場合、DRM 証明書管理で Apple から取得した証明書をアップロードする必要があります。詳細については、「FairPlay 証明書のリクエスト」をご参照ください。
-
[すべてのタイプの SEI をパススルーする] (詳細設定)
有効にすると、すべてのタイプの SEI メッセージがパススルーされます。無効にすると、SEI メッセージはパススルーされません。
[キーフレームはソースに従う] (詳細設定)
有効にすると、トランスコードされた出力ストリームのキーフレームが、ソースストリームのキーフレームに合わせられます。
[pts はソースに従う] (詳細設定)
有効にすると、トランスコードされた出力ストリームのプレゼンテーションタイムスタンプ (PTS) が、ソースストリームの PTS に合わせられます。
-
-
[OK] をクリックします。
API を使用したカスタムトランスコーディング設定
AddCustomLiveStreamTranscode API を呼び出して、特定のドメイン名と AppName に[トランスコードのカスタム設定] 設定を追加します。
[トランスコードのカスタム設定] のパラメーター設定は複雑であるため、[トランスコードのカスタム設定] を設定する際は、コンソールと API を組み合わせて使用することを推奨します。
まず、コンソールで[トランスコードのカスタム設定] 設定を追加します。
コンソールでは解像度効果をプレビューでき、LD、SD、HD、UHD のテンプレートパラメーターを迅速に入力できます。
パラメーターを調整した後、DescribeLiveStreamTranscodeInfo API を呼び出してトランスコーディング設定情報を照会します。
マルチビットレートトランスコーディング
[マルチビットレートトランスコーディング] を使用すると、1 つのテンプレートグループ内で複数のトランスコーディングプロファイルを設定できます。ネットワーク状態の変動が大きいリージョンでは、ネットワークの変動が再生体験に影響する場合があります。複数のビットレートを設定することで、プレーヤーがユーザーの帯域幅に適応できるようになります。[マルチビットレートトランスコーディング] を設定すると、プレーヤーはクライアントのネットワーク帯域幅に基づいて最適なビットレートを自動的に選択でき、再生体験が向上します。
[マルチビットレートトランスコーディング] は ApsaraVideo Live コンソールでのみ設定できます。
コンソールでのマルチビットレートトランスコーディングの設定
-
ApsaraVideo Live コンソールにログインします。
-
左側のナビゲーションペインで、機能管理 > ライブストリームトランスコード の順にクリックします。
-
設定するドメイン名を選択し、マルチビットレートトランスコーディング タブをクリックし、次に 追加 をクリックして[マルチビットレートトランスコーディング] テンプレートグループを追加します。
-
基本情報 をクリックし、[マルチビットレートトランスコーディング] テンプレートグループの基本情報を編集します。

次の表にパラメーターを示します。
パラメーター
説明
[アプリケーション名]
この AppName がインジェスト URL の AppName と一致する場合にのみ、トランスコーディングテンプレートが適用されます。同一のドメイン名では、AppName とテンプレートグループ ID の組み合わせが 複合プライマリキー として機能します。
[テンプレートグループ ID]
トランスコーディングテンプレートグループの ID です。この ID は、[マルチビットレートトランスコーディング] URL を作成するためのパラメーターです。数字、大文字、小文字、ハイフン (-) を含む最大 10 文字を指定できます。
[コンテナフォーマット]
現在、HLS のみがサポートされています。
[トランスコーディングのトリガー]
現在、トランスコーディングはストリームインジェストでのみトリガーできます。この操作により、トランスコーディング料金が発生します。ストリームプルによるトリガーはサポートされていません。
[タイムスタンプの調整]
有効にすると、この設定は各テンプレート内の GOP 設定を上書きし、ソース動画の GOP を使用します。
-
+ 追加 をクリックしてテンプレートを追加します。

追加したテンプレートをクリックして、パラメーターを編集します。必要なパラメーターは、テンプレートタイプによって異なる場合があります。次の表にパラメーターを示します。
パラメーター
説明
[テンプレート ID]
トランスコーディングテンプレートグループ内の各テンプレートの ID です。同一のテンプレートグループ内では、テンプレート 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 など) および Narrowband 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 (フレーム)]
Group of Pictures (GOP) を指定します。これは 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 倍に設定することを推奨します。
-
-
-
OK をクリックします。
-
現在、[マルチビットレートトランスコーディング] ストリームは HLS トランスコードストリーム URL としてのみ利用できます。
-
[マルチビットレートトランスコーディング] ストリームを再生するには、
aliyunols=onパラメーターを追加する必要があります。aliyunols=onパラメーターは必須で、値は固定です。
URL の例は次のとおりです。
http://<DomainName>/<AppName>/<StreamName>_<Template Group ID>.m3u8?aliyunols=on&auth_key=1234****
次に、実際のシナリオで [マルチビットレートトランスコーディング] を使用する例を示します。
たとえば、次の図に示すように [マルチビットレートトランスコーディング] 設定を追加します。

このテンプレートグループでは、4段階のトランスコーディング設定がカスタマイズされています。各レベルのパラメーター値については、このトピックの「システムプリセットテンプレート」をご参照ください。
次に、ストリームインジェストを開始し、Web ベースの Alibaba Cloud プレーヤー SDK を使用して再生します。デバッグ時には、プレーヤーがクライアントのネットワーク帯域幅に基づいて適切なビットレートのトランスコード済みストリームを自動的に選択することを確認できます。

Alibaba Cloud プレーヤーを使用するには、「プレーヤー SDK」をご参照ください。
H5 自動トランスコーディング
リアルタイムストリーミング (RTS) は、WebRTC プロトコルを使用します。ネイティブブラウザは、WebRTC のビデオ B フレームや AAC エンコーディングをサポートしていないことが多いため、H5 自動トランスコーディングがこれらの非互換性に対処し、スムーズな再生を確保します。
RTS を有効化する際に、H5 自動トランスコーディングを有効にできます。詳細については、「ステップ 5: RTS 機能の有効化」をご参照ください。
-
H5 自動トランスコーディングは、ネイティブブラウザでのリアルタイムストリーミング (RTS) 再生における B フレームや AAC エンコーディングなどの互換性の問題を解決します。ビットレート、フレームレート、または解像度の調整など、ビデオコンテンツをトランスコードするには、デフォルトトランスコーディングまたは[トランスコードのカスタム設定]を使用する必要があります。
-
H5 自動トランスコーディングは、デフォルトトランスコーディングまたは[トランスコードのカスタム設定]と組み合わせて使用できます。
-
H5 自動トランスコーディングを使用すると、音声のみのトランスコーディング料金が発生します。詳細については、「ライブストリームトランスコーディング料金」をご参照ください。
動画の暗号化
デフォルトトランスコーディング と [トランスコードのカスタム設定] の設定には、動画の暗号化のオプションが含まれています。これらの設定内で、[Alibaba Cloud 独自のビデオ暗号化] を直接設定できます。詳細および設定手順については、「Alibaba Cloud 動画の暗号化」をご参照ください。
関連ドキュメント
トランスコーディング設定 API の詳細については、「ライブストリームトランスコーディング」をご参照ください。
Java SDK を使用するには、「Java SDK ガイド」をご参照ください。