説明

HLS パッケージとは、複数の字幕、複数のトラック、および複数のビットストリームを Master Playlist ファイルに統合する処理を指します。 この処理は、まず HLS パッケージのワークフローを作成し、次に AddMedia インターフェイスを呼び出して処理する動画と HLS パッケージワークフローの ID を指定するものです。

  1. AddMediaWorkflow インターフェイスを使用してワークフローを追加します。このとき、次のオブジェクトに注意が必要です。
    • Topology

      有向非巡回グラフ (DAG) によって定義される業務プロセスです。

    • Activity

      トポロジーを構成する処理ノードを指します。 HLS パッケージワークフローを作成する際は、以下のアクティビティにご注意ください。

      • PackageConfig

        HLS パッケージ設定を指定し、Master Playlist ファイルの出力場所を設定します。

        .

        • フロントノードで、 Start が可能です。

        • バックノードで、SubtitleGroup、AudioGroup、および Transcode (ビデオのみ) が可能です。

      • SubtitleGroup

        字幕グループ ID を指定します。

        .

        • フロントノードで、PackageConfig が可能です。

        • バックノードで、Transcode (字幕のみ) が可能です。

      • AudioGroup

        音声グルー​​プ ID を指定します。

        .

        • フロントノードで、PackageConfig が可能です。

        • バックノードで、Transcode (音声のみ) が可能です。

      • Transcode

        ビデオ、音声、字幕ストリームを抽出します。

        .

        • フロントノードで、PackageConfig、SubtitleGroup、および AudioGroup が可能です。

        • バックノードで、GenerateMasterPlayList が可能です。

      • GenerateMasterPlayList

        HLS パッケージ生成アクティビティであり、マルチレートストリーム設定、音声グルー​​プ、および字幕グループを指定します。

        .

        • フロントノードで、Transcode が可能です。

        • バックードで、Report が可能です。

    • Dependencies

      アクティビティ間の依存関係を示す、トポロジー内のエッジを指します。

  2. AddMedia 操作を呼び出し、MPS にメディアを追加します。
    • メディアワークフロー ID を指定します。

    • 字幕抽出がある場合、Transcode アクティビティの WebVTTSubtitleURL パラメーターを字幕ファイルのアドレスで上書きし、WebVTT の字幕ファイルのみがサポートされるように設定できます。

    • ワークフロートリガーモードを NotInAuto に設定します。

シナリオ

mxf 形式のソースファイル (mp4、flv、m3u8 (ts) などの形式もサポートしています) から 3 つの音声トラック、2 つのビデオストリーム、2 つの WebVTT 字幕グループを抽出し、それらを結合して Master Playlist にパッケージ化します。

Master Playlist の名前と HLS パッケージの出力場所を設定します。
  • Bucket を設定します。

  • Master Playlist ファイルの Location を指定します。

  • Master Playlist ファイルの名前を指定します。

  • アクティビティの定義は以下のとおりです。
    1. {“Parameters : {“Output : “{\”Bucket\”: \”processedmediafile\”,\”Location\”: \”oss-cn-hangzhou\”,\”MasterPlayListName\”: \”{MediaId}/{RunId}/hls/master.m3u8\”}”},“Type : PackageConfig”}
    1. <ul class="ul" id="ul-jt2-zqk-x2b">
    2. <li class="li" id="li-5do-xks-335">
    3. <p class="p" id="p-vyy-ktq-yvn">Output は出力先と Master Playlist ファイルの名前を示します。 詳細は、<a title="" href="https://jp.alibabacloud.com/help/doc-detail/68494.htm">「PackageConfig アクティビティでサポートされているパラメーター」</a>をご参照ください。
    4. </p>
    5. </li>
    6. <li class="li" id="li-0sc-7om-g9i">
    7. <p class="p" id="p-x7y-yus-orb">Type を PackageConfig に設定します。</p>
    8. </li>
    9. </ul>
    10. </li>
    11. </ul>
    12. </div>
    13. <div class="p" id="p-h1o-k5h-n81">音声グループ
    14. <ul class="ul" id="ul-kmv-1rk-x2b">
    15. <li class="li" id="li-r05-t2u-5x8">
    16. <p class="p" id="p-9eb-zv6-pxt">音声グルー​​プ ID を設定します。ここでは、2 つの音声ストリームが同じ音声グルー​​プに属しています。</p>
    17. </li>
    18. <li class="li" id="li-j2t-rzg-c8e">
    19. <div class="p" id="p-0kv-v9k-rbt">アクティビティの定義は以下のとおりです。
    20. <pre class="pre codeblock" id="codeblock-33x-wv1-1ty"><code>

    {“Parameters” : {“GroupId” : “audios”},“Type” : “AudioGroup”}

  1. <ul class="ul" id="ul-n3r-grk-x2b">
  2. <li class="li" id="li-kgv-vor-y0e">
  3. <p class="p" id="p-zuv-1j2-qte">GroupId: 音声グルー​​プ ID に "audios" を指定します。</p>
  4. </li>
  5. <li class="li" id="li-871-gm1-964">
  6. <p class="p" id="p-28w-ksp-ztv">Type: タイプには "AudioGroup" アクティビティを指定します。</p>
  7. </li>
  8. </ul>
  9. </li>
  10. </ul>
  11. </div>
  12. <div class="p" id="p-ryi-p7y-jeg">音声ストリームの抽出
  13. <ul class="ul" id="ul-op1-3rk-x2b">
  14. <li class="li" id="li-tgk-7ev-smh">
  15. <p class="p" id="p-h6z-ej2-510">mxf ソースファイルからビデオストリームを除去して、音声ストリームを抽出します。 </p>
  16. </li>
  17. <li class="li" id="li-ye5-2v0-8yy">
  18. <p class="p" id="p-jgp-fhc-1qd">出力音声のパラメーターは以下のとおりです。</p>
  19. <ul class="ul" id="ul-pp1-3rk-x2b">
  20. <li class="li" id="li-nad-0ji-qxy">
  21. <p class="p" id="p-8hh-66u-8u8">Codec: AAC</p>
  22. </li>
  23. <li class="li" id="li-0l2-sp4-306">
  24. <p class="p" id="p-56m-oje-92k">SampleRate:48000 Hz</p>
  25. </li>
  26. <li class="li" id="li-b1m-q9r-fnu">
  27. <p class="p" id="p-ad7-oyq-7ku">Format:Stereo</p>
  28. </li>
  29. </ul>
  30. </li>
  31. <li class="li" id="li-3qm-5vl-9bc">
  32. <div class="p" id="p-wr3-5m1-ipc">アクティビティの定義は以下のとおりです。
  33. <pre class="pre codeblock" id="codeblock-m7o-vk3-rc2"><code>

{“Name” : “audio-extract-1”,“Parameters” : {“Outputs” : “[{\”TemplateId\”:\”S00000001-100020\”,\”AudioStreamMap\”:\”0:a:0\”,\”Video\”:{\”Remove\”:\”true\”}}]”,“ExtXMedia” : “{\”URI\”: \”sd/audio-en.m3u8\”,\”Name\”: \”audio-en\”,\”Language\”: \”en-US\”}”}

  1. <ul class="ul" id="ul-est-jrk-x2b">
  2. <li class="li" id="li-kix-rki-xgt">
  3. <p class="p" id="p-o0c-ljd-juv"><a title="" href="https://jp.alibabacloud.com/help/doc-detail/29256.htm">Preset static templates</a> ID: "S00000001-100020" は、音声出力が m3u8(ts) 形式であり、プリセットテンプレートで設定されている音声ビットレートが 80 kbps
  4. であることを示しています。
  5. </p>
  6. </li>
  7. <li class="li" id="li-4j5-xgl-ofo">
  8. <p class="p" id="p-wew-r71-5ni">AudioStreamMap: 音声ストリームの連番です。 詳細は、<a title="" href="https://jp.alibabacloud.com/help/doc-detail/29253.htm">「Output」</a>をご参照ください。
  9. </p>
  10. </li>
  11. <li class="li" id="li-crp-9df-fnl">
  12. <p class="p" id="p-io4-96b-ss5">出力結果から、ビデオストリームを除去します。 詳細は、<a title="" href="https://jp.alibabacloud.com/help/doc-detail/29253.htm">「ビデオ」</a>をご参照ください。
  13. </p>
  14. </li>
  15. <li class="li" id="li-qek-akq-gy1">
  16. <p class="p" id="p-894-j3d-unb"><a title="" href="https://jp.alibabacloud.com/help/doc-detail/29253.htm">ExtXMedia</a> は Media Playlist を定義します。URI には Media Playlist の名前を指定します。
  17. </p>
  18. </li>
  19. <li class="li" id="li-azd-b1q-ddf">
  20. <p class="p" id="p-dj1-edn-j5c">Type は Transcode (トランスコードアクティビティ) に設定します。</p>
  21. </li>
  22. </ul>
  23. </li>
  24. </ul>
  25. </div>
  26. <div class="p" id="p-ssf-tb0-t6c">ビデオの抽出
  27. <ul class="ul" id="ul-ybj-lrk-x2b">
  28. <li class="li" id="li-m9f-ajn-my8">
  29. <p class="p" id="p-lao-qgd-20w">mxf 形式のソースファイルから音声ストリームを除去して、ビデオストリームを抽出します。</p>
  30. </li>
  31. <li class="li" id="li-h8f-vgt-iwm">
  32. <div class="p" id="p-twl-3eh-hqz">アクティビティの定義は以下のとおりです。
  33. <pre class="pre codeblock" id="codeblock-z30-bt0-c2v"><code>

{“Name” : “video-extract”,“Parameters” : {“Outputs” : “[{\”TemplateId\”:\”1fe5393bdb7b2b883f0a0fc91e81344a\”,\”Audio\”:{\”Remove\”:\”true\”}}]”,“MultiBitrateVideoStream” : “{\”URI\”: \”sd/video1.m3u8\”}”},“Type” : “Transcode”}