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

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

最終更新日:Sep 03, 2024

取り込まれたストリームのビットレートは、ストリーミングクライアントのネットワーク条件に適していない可能性があります。 その結果、再生の品質が影響を受けます。 この問題を解決するには、ライブストリームのトランスコーディングを使用します。 このトピックでは、ライブストリームのトランスコーディングのシナリオと制限について説明します。 このトピックでは、トランスコード機能、トランスコードテンプレートパラメーター、トランスコードルール、および適応幅機能についても説明します。

シナリオ

  • ストリーム取り込みクライアントで高いビットレートが設定されているが、ストリーミングクライアントの帯域幅が不十分な場合、ビデオ再生中に吃音が発生します。 ストリーム取り込みクライアントで低いビットレートが設定されている場合、ストリーミングクライアントでの再生品質は低くなります。 このようなシナリオでは、ライブストリームのトランスコーディングを使用してこれらの問題を解決できます。

  • プレーヤープラグインには、マルチビットレートの切り替えが必要です。 プレイヤープラグインで異なるビットレートを切り替えるには、取り込まれたストリームのストリーミング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は、トランスコーディング中にビデオのアスペクト比を維持します。 ビデオ幅は、ビデオの高さに自動的に適合されます。 高度自适应