取り込まれたストリームのビットレートは、ストリーミングクライアントのネットワーク条件に適していない可能性があります。 その結果、再生の品質が影響を受けます。 この問題を解決するには、ライブストリームのトランスコーディングを使用します。 このトピックでは、ライブストリームのトランスコーディングのシナリオと制限について説明します。 このトピックでは、トランスコード機能、トランスコードテンプレートパラメーター、トランスコードルール、および適応幅機能についても説明します。
シナリオ
ストリーム取り込みクライアントで高いビットレートが設定されているが、ストリーミングクライアントの帯域幅が不十分な場合、ビデオ再生中に吃音が発生します。 ストリーム取り込みクライアントで低いビットレートが設定されている場合、ストリーミングクライアントでの再生品質は低くなります。 このようなシナリオでは、ライブストリームのトランスコーディングを使用してこれらの問題を解決できます。
プレーヤープラグインには、マルチビットレートの切り替えが必要です。 プレイヤープラグインで異なるビットレートを切り替えるには、取り込まれたストリームのストリーミングURLを異なるビットレートで提供する必要があります。 ApsaraVideo Liveのリアルタイムトランスコーディング機能を使用して、この目的を達成できます。
制限事項
標準のトランスコードテンプレートとNarrowband HD TMトランスコードテンプレートを同時に使用することはできません。 ドメイン名で使用できるトランスコードテンプレートは1種類のみです。
中国 (北京) 、中国 (上海) 、中国 (深セン) 、シンガポールの各地域のライブセンターでは、各ドメイン名は最大50個の同時トランスコードされたストリームをサポートします。 他のリージョンのライブセンターの場合、各ドメイン名は最大10個の同時トランスコードストリームをサポートします。 高解像度 (HD) ライブストリームを標準解像度 (SD) と低解像度 (LD) にトランスコードして再生すると、2つのトランスコードされたストリームが認識されます。
ApsaraVideo Liveがビジネス要件を満たせない場合は、Alibaba Cloudアカウントマネージャーに連絡するか、その他の手段でAlibaba Cloudにご相談ください。
H.265トランスコーディングは、中国本土以外のリージョンではサポートされていません。 H.265トランスコーディングを使用する場合は、Alibaba Cloudアカウントマネージャーに連絡するか、その他の手段でAlibaba Cloudを参照してください。
コード変換のテンプレート
ApsaraVideo Liveには、デフォルトのトランスコードテンプレート、カスタムトランスコードテンプレート、リアルタイムストリーミング (RTS) トランスコードテンプレート、マルチビットレートのトランスコードテンプレートなど、さまざまなトランスコードテンプレートが用意されています。
デフォルトのトランスコードテンプレートはシステムによって事前設定されており、そのようなテンプレートのテンプレートID、出力解像度、および出力ビットレートは変更できません。 デフォルトのトランスコードテンプレートが要件を満たさない場合は、カスタムトランスコードテンプレートまたはRTSトランスコードテンプレートを使用できます。 カスタムトランスコードテンプレートでは、エンコード形式、解像度、ビットレート、フレームレート、グループオブピクチャ (GOP) サイズ、テンプレートIDを指定し、トランスコードをトリガーする方法も指定できます。
デフォルトとカスタムの両方のトランスコードテンプレートには、標準のトランスコードテンプレートとNarrowband HD TMトランスコードテンプレートが含まれます。 標準のトランスコードテンプレートとNarrowband HD TMトランスコードテンプレートのパラメーターに加えて、RTSトランスコードテンプレートを使用すると、RTS再生用のBフレーム削除パラメーターとOpusトランスコードパラメーターを設定できます。
デフォルトのトランスコードテンプレート
説明ApsaraVideo Liveは、トランスコーディング中にビデオのアスペクト比を維持します。 ビデオ幅は、ビデオの高さに自動的に適合されます。 詳細については、このトピックの「適応幅」セクションをご参照ください。
狭帯域HD TMトランスコードテンプレート
テンプレート名
テンプレートID
解像度 (幅 × 高さ)
ビットレート (Kbit/s)
課金の出力仕様
低い定义
ld
360
≤ 420
LD
標準定義
sd
432
≤ 580
SD
高い定义
hd
648
≤ 1,100
SD
超高解像度
ud
1080
≤ 1,900
HD
カスタムコード変換テンプレート
ビジネス要件に基づいて、カスタムコード変換テンプレートでパラメーターを設定できます。
説明カスタムNarrowband HD TMトランスコードテンプレートは、ストリームをH.265コーデックにトランスコードできません。 H.265コーデックを使用する場合は、Alibaba Cloudアカウントマネージャーに連絡するか、その他の手段でAlibaba Cloudを参照してください。
RTSコード変換テンプレート
ビジネス要件に基づいて、RTSコード変換テンプレートでパラメーターを設定できます。
マルチビットレートコード変換テンプレート
ビジネス要件に基づいて、マルチビットレートのトランスコードテンプレートでパラメーターを設定できます。
ライブストリームのトランスコード
ライブストリームのトランスコードの設定
次のいずれかの方法を使用して、トランスコーディング機能を設定できます。
ApsaraVideo Liveコンソールの使用
詳細については、「デフォルトのトランスコーディングの設定」「カスタムトランスコーディングの設定」「マルチビットレートトランスコーディングの設定」をご参照ください。
API の呼び出し
次のAPI操作を呼び出すことができます。
次のサンプルコードは、Java用サーバーSDKを使用してデフォルトのトランスコーディングを設定する方法を示しています。
// Replace the placeholder values 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("<Template>"); // // Code for other features. // 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(); }
説明トランスコード設定に変更が加えられた場合は、設定を有効にするためにストリームを再取り込みする必要があります。
Java用サーバーSDKの詳細については、「Java用サーバーSDKの使用」をご参照ください。
トランスコードされたストリームの表示
トランスコード設定が完了すると、新しく取り込まれたストリームに対して異なるビットレートの複数のストリーミングURLが提供されます。 ストリーミングURLを表示するには、ApsaraVideo Liveコンソールにログインし、左側のナビゲーションウィンドウで [ストリーム] をクリックします。 [ストリーム管理] ページの [アクティブストリーム] タブで、表示する取り込みストリームを見つけ、[操作] 列の [URLの表示] をクリックします。 元のビットレートでのソースストリームのURLと、トランスコードされたストリームのURLが表示されます。
説明トランスコードされたストリームのURLが表示されていない場合は、トランスコードテンプレートでトリガートランスコーディングがオンになっていて、ストリームがプルされていないかどうかを確認します。
トランスコードされたストリームのURLを生成するには、ソースストリームのURLのストリーム名の後に「_Transcoding template ID」を追加します。 詳細については、「取り込みURLとストリーミングURLの生成」をご参照ください。
コード変換ルール
ApsaraVideo Liveは遅延トランスコードをサポートしています。 この機能により、ApsaraVideo Liveは、視聴者がライブストリームに参加した場合にのみライブストリームのトランスコードを開始し、5分間視聴者が検出されない場合にトランスコードを停止できます。
各ストリームは1回だけトランスコードできます。
トランスコーディングはオプションです。 ビジネス要件に基づいて機能を設定します。
Flash Video (FLV) 、Real-Time Messaging Protocol (RTMP) 、HTTP Live Streaming (HLS) 、およびRTS形式でストリームをトランスコードできます。
適応幅
ApsaraVideo Liveは、トランスコーディング中にビデオのアスペクト比を維持します。 ビデオ幅は、ビデオの高さに自動的に適合されます。