複数オーディオトラック

このトピックでは、Brightcove プレーヤーにおける複数オーディオトラックの扱いについて説明します。

概要

Brightcove Player は、複数の代替オーディオトラックを含む動画をサポートしています。動画に複数の代替オーディオトラックが含まれている場合、コントロールバーにヘッドフォンアイコン(headphone icon)が自動的に表示されます。適切にエンコードされた動画を用意すれば、このアイコンは自動的に表示され、他に特別な操作は必要ありません。このアイコンをクリックすると、視聴者は利用できるオーディオトラックを選択できます。

例

再生ボタンをクリックすると、コントロールバーにヘッドフォン アイコンが表示され、2つの代替オーディオトラックから選択できるようになります。

使用例

複数の代替オーディオトラックの代表的なユースケースは以下のとおりです。

  • 複数言語のサポート
  • ステレオとマルチチャンネル(サラウンド)オーディオの切り替え
  • 解説トラック
  • 音声ガイド(視覚障がい者向け説明音声)

複数オーディオトラックの理解

複数オーディオトラックは、Media モジュール または API の利用 によって動画に追加できます。以下は複数オーディオトラックに関する参考リンクです。

解説(音声ガイド)トラック

descriptive バリアントで作成されたオーディオトラックは、解説(音声ガイド)トラックです。音声ガイドは、目の不自由な方や弱視の方のために画面上の動作をナレーションで説明します。Video Cloud Studio の Standard Audio Description 機能で生成されたトラックはこのバリアントを使用します。また、Dynamic Ingest API でオーディオトラックを追加する際にも設定できます。解説トラックは、プレーヤーや支援技術が動画の内容を説明するトラックとして識別できるよう、配信されるマニフェストでマークされます。

HLS

HLS マスタープレイリストでは、トラックのバリアントが descriptive であるすべての EXT-X-MEDIA オーディオエントリに、CHARACTERISTICS="public.accessibility.describes-video" 属性が付与されます。main バリアントのオーディオエントリにはこの属性は付与されません。このようにトラックをタグ付けすることで、マスタープレイリストはアクセシビリティ特性に関する HLS 仕様に準拠します。

DASH

DASH マニフェスト(MPD)では、解説オーディオの AdaptationSet に <Role schemeIdUri="urn:mpeg:dash:role:2011" value="description"> が含まれます。2026 年 3 月以降は、th-TH (Descriptive) のような <Label> 要素も含まれます。これらのトラックについて、MPD に <Accessibility> 要素は含まれません。

再生経路別に報告される AudioTrack.kind

プレーヤーのオーディオトラック API が AudioTrack.kind として報告する値は、再生経路によって異なります。解説オーディオトラックの現在の値は次のとおりです。

解説オーディオトラックの AudioTrack.kind
再生経路 AudioTrack.kind
Brightcove Player、HLS(Chrome、Edge、Firefox) main-desc
Safari、ネイティブ HLS description
Brightcove Player、DASH alternative

解説オーディオトラックの検出

解説オーディオトラックを確実に検出するには、次のようにします。

  • 最も確実な指標はオーディオトラックの variant です。CMS API の Get Video Audio Tracks エンドポイント(GET /v1/accounts/{account_id}/videos/{video_id}/audio_tracks)を呼び出すと、解説トラックは "variant": "descriptive" を返します。このエンドポイントは video-cloud/video/read スコープを持つ OAuth アクセストークンを必要とするため、ブラウザーからではなくサーバーまたはプロキシから呼び出してください。Playback API はオーディオトラックのバリアントを返しません。
  • HLS では AudioTrack.kind も利用できます。解説トラックは Brightcove Player では main-desc、Safari のネイティブ HLS では description を返します。いずれの値も解説音声に固有です。
  • Brightcove Player の DASH では、解説トラックの AudioTrack.kind は alternative を返しますが、デフォルト以外の他のすべてのトラックも同じ値を返すため、解説音声を他の代替トラックと区別できません。この再生経路では CMS API の variant を使用してください。
  • 解説トラックをトラックの id で識別しないでください。Safari のネイティブ HLS では id は "0" のような単純な数字の文字列であり、再生経路をまたいで意味を持ちません。

アイコンとメニューのスタイリング

デフォルトの色が要件に合わない場合、ヘッドフォンアイコンや選択項目、その他のオプションの色を変更できます。以下の表とスクリーンショットは、使用する必要があるセレクターを示しています。(スクリーンショットの色は識別しやすいように変更した例であり、デフォルトではありません。)

オーディオ アイコン用セレクター
要素 セレクター
ヘッドフォン アイコン(スクリーンショットの赤) .video-js .vjs-control-bar .vjs-audio-button
選択中のオプション(スクリーンショットの黄) .video-js .vjs-control-bar .vjs-audio-button .vjs-menu-item.vjs-selected
選択可能なオプション(スクリーンショットの緑) .video-js .vjs-control-bar .vjs-audio-button .vjs-menu-item
selectors
アイコンおよびメニューのセレクター

以下はスクリーンショットの変更に使用された実際の CSS です。

      .video-js .vjs-control-bar .vjs-audio-button {
        color: red;
      }
      .video-js .vjs-control-bar .vjs-audio-button .vjs-menu-item.vjs-selected {
        background-color: yellow;
      }
      .video-js .vjs-control-bar .vjs-audio-button .vjs-menu-item {
        background-color: green;
      }

既知の問題

  • プレーヤー内で <source> タグを使って HLS(m3u8)リモート レンディションを追加した場合、Android OS 上の Chrome では複数オーディオトラックを選択できません。

制限事項

  • アフィリエイト アカウントでは、共有動画のオーディオトラックのプロパティを削除・編集することはできません(オーディオトラック自体は共有されていますが、Studio では表示されません)。