サポート問い合わせ先| システムステータス
ページコンテンツ

    ライブ多言語音声

    このトピックでは、異なる言語の複数のオーディオトラックを使用してライブジョブを作成する方法について説明します。

    要件

    • 多言語オーディオ機能を有効にした Live API 用のアカウント設定 (詳細については、アカウントマネージャーにお問い合わせください)
    • Live API の API キー (アカウントの設定時に提供されます)
    • RTP プロトコルをサポートするエンコーダ。多言語オーディオのサポートは、rtprtp-fecまたはプロトコルに制限されています。
    • ジョブを作成するときは、各オーディオトラックのPIDを知っている必要があります。

    ライブジョブを作成する

    ジョブに複数のオーディオトラックを追加するには、ライブジョブの作成時にリクエストボディにオーディオトラックのリストを指定する必要があります。

    {
      "live_stream": true,
      "region": "us-west-2",
      "protocol": "rtp",
      "cidr_whitelist": [ /* omitted… */ ],
      "outputs": [ /* omitted… */ ],
      "alternate_audio": {
        "tracks": [ { Track Details } ]
      }
    }

    Trackオブジェクトでサポートされるフィールド

    以下の表は、trackオブジェクトでサポートされるフィールドの完全な説明を示しています

    トラックフィールド
    フィールド 説明
    pid 必須。Wowza に送信されるストリームファイルで指定されているトラックの着信 TS から選択する PID。
    language 必須。使用する言語のコード。現時点では、これは柔軟性があり、仕様によって要求/サポートされているさまざまな言語形式、特に要件に応じてISO-639をカバーするRFC5456/BCP47のいずれかであってもかまいません。https://tools.ietf.org/html/rfc5646

    > LANGUAGE HLSフィールド

    > AdaptationSet:langダッシュフィールド

    variant 任意。DASHロールスキーマの値 (メイン、代替、解説、補足、ダブ) にマッピングします。urn:mpeg:dash:role:2011ダッシュロールで使用します。mainデフォルトはです。

    HLS > の特徴を参照してください https://tools.ietf.org/html/rfc8216#section-4.3.4.1

    label 任意。トラックに使用するテキスト説明です。可能な場合はプレーヤーが使用することを推奨します。使用場所:> NAME HLSフィールド。デフォルトは、各トラックの ID languageを持つです。例えば、en-0指定されていない場合。
    streams [] 任意。コピーが存在しない場合は、デフォルトのオーディオ設定のみを使用してください。

    HLS > GROUP-ID(オブジェクト)

    例: { “source”: “720p” } -出力ソースのラベルを一致させます。

    これは、streamsプレイリストの出力タイプのフィールドを模倣します。

    default デフォルト以外の場合は必須ですDEFAULTでマークするオーディオトラックとEXT-X-MEDIA、ビデオストリームにマルチプレックスするオーディオトラック*

    存在しない場合、最初のものはデフォルトです。

    * 複数のプレイリストが異なるデフォルトで定義されている場合、トップレベルのデフォルトトラックはマルチプレベルのトラックです

    このサンプルボディは、2 つのオーディオトラックを持つジョブを作成します。

    要求

    POST https://api.bcovlive.io/v1/jobs
      Content-Type: application/json
      X-API-KEY: your_API_key

    リクエスト本文

    <code class = "language-json" translate = "No> { "live_stream": true, "region": "us-west-2", "protocol": "rtp", "cidr_whitelist": [ "0.0.0.0/0" ], "outputs": [ { "label": "hls720p", "live_stream": true, "height": 720, "video_bitrate": 2400, "segment_seconds": 6, "keyframe_interval": 90 }、{ "label": "hls540p", "live_stream": true, "height": 540, "video_bitrate": 1200, "segment_seconds": 6, "keyframe_interval": 90 } ]、 "alternate_audio":{ "tracks": [ { "label": "English", "language": "en", "variant": "main", "pid": 257, "default": true }、{ "label": "Spanish", "language": "es", "variant": "main", "pid": 258 } ]} }

    レスポンスの例

    {
      "id": "76f814fbcd7840e99ebf0e335c933730",
      "outputs": [
          {
              "id": "0-76f814fbcd7840e99ebf0e335c933730",
              "playback_url": "https://playback-qa.a-live.io/76f814fbcd7840e99ebf0e335c933730/us-west-2/NA/profile_0/chunklist.m3u8",
              "playback_url_dvr": "https://playback-qa.a-live.io/76f814fbcd7840e99ebf0e335c933730/us-west-2/NA/profile_0/chunklist_dvr.m3u8",
              "playback_url_vod": "https://playback-qa.a-live.io/76f814fbcd7840e99ebf0e335c933730/us-west-2/NA/profile_0/chunklist_vod.m3u8",
              "playback_added_cdns": [],
              "label": "hls720p"
          },
          {
              "id": "1-76f814fbcd7840e99ebf0e335c933730",
              "playback_url": "https://playback-qa.a-live.io/76f814fbcd7840e99ebf0e335c933730/us-west-2/NA/profile_1/chunklist.m3u8",
              "playback_url_dvr": "https://playback-qa.a-live.io/76f814fbcd7840e99ebf0e335c933730/us-west-2/NA/profile_1/chunklist_dvr.m3u8",
              "playback_url_vod": "https://playback-qa.a-live.io/76f814fbcd7840e99ebf0e335c933730/us-west-2/NA/profile_1/chunklist_vod.m3u8",
              "playback_added_cdns": [],
              "label": "hls540p"
          },
          {
              "id": "2-76f814fbcd7840e99ebf0e335c933730",
              "playlist_type": "defaultS3",
              "type": "playlist",
              "alternate_audio": {
                  "tracks": [
                      {
                          "label": "English",
                          "language": "en",
                          "name": "Alt0",
                          "pid": 257,
                          "playlistDefault": true,
                          "default": true,
                          "variant": "main",
                          "profile_sources": [
                              "profile_0"
                          ]
                      },
                      {
                          "label": "Spanish",
                          "language": "es",
                          "name": "Alt1",
                          "pid": 258,
                          "playlistDefault": false,
                          "default": false,
                          "variant": "main",
                          "profile_sources": [
                              "profile_0"
                          ]
                      }
                  ]
              },
              "filename": "playlist.m3u8",
              "dvr_filename": "playlist_dvr.m3u8",
              "playback_url": "https://playback-qa.a-live.io/76f814fbcd7840e99ebf0e335c933730/us-west-2/NA/playlist.m3u8",
              "playback_url_dvr": "https://playback-qa.a-live.io/76f814fbcd7840e99ebf0e335c933730/us-west-2/NA/playlist_dvr.m3u8",
              "playback_added_cdns": []
          }
      ],
      "stream_url": "rtp://ep3-usw2.a-live.io:11780",
      "stream_name": "76f814fbcd7840e99ebf0e335c933730.stream",
      "static": false,
      "alternate_audio": {
          "tracks": [
              {
                  "label": "English",
                  "language": "en",
                  "pid": 257,
                  "default": true,
                  "variant": "main",
                  "name": "Alt0"
              },
              {
                  "label": "Spanish",
                  "language": "es",
                  "pid": 258,
                  "default": false,
                  "variant": "main",
                  "name": "Alt1"
              }
          ]
      },
      "event_length": 93600,
      "encryption": {},
      "playback_url": "https://playback-qa.a-live.io/76f814fbcd7840e99ebf0e335c933730/us-west-2/NA/playlist.m3u8",
      "playback_url_dvr": "https://playback-qa.a-live.io/76f814fbcd7840e99ebf0e335c933730/us-west-2/NA/playlist_dvr.m3u8",
      "playback_added_cdns": []
    }
    

    エンコーダーを設定する

    作成応答から stream_url に RTP 経由で MPEG-TS を配信するようにエンコーダを設定します。リクエスト本文で提供されるオーディオトラックが、エンコーダで正しい PID で設定されていることを確認します。

    テスト再生

    Playback_url をBrightcoveプレーヤーまたは Safari にロードして、再生を確認します。

    playback

    現時点では、DRM はキャッチアップ (タイムシフト) サービスでのみサポートされています。[Create Job] リクエスト本文に次のフィールドを追加します。

    {
      "drm": {
        "modes": [
          "all"
        ]
      },
      "timeshift": {
        "type": "single",
        "startover_duration": 36000,
        "skip_live_output": true
      }
    }
    

    応答には、timeshift_url再生に使用するDRM出力とが含まれます。


    ページの最終更新日22 Sep 2021