AVメディア フォーマットおよびコーディック

対象:標準搭載アプリ、起動サービス、HTML5アプリ

動画

Container/CodecExtensionAspect RatioResolution (Max.)
4Kモデル
Resolution (Max.)
2Kモデル
Bitrate (Max.)Frame rate
MP4 AVC.mp416:93840×21601920×108030 Mbps30, 60 fps
MP4 AVC/HEVC.mp416:93840×21601920×108030 Mbps30, 60 fps
MPEG TS AVC/MPEG2.m2ts16:93840×21601920×108030 Mbps30, 60 fps

※ BRAVIA Signage Free, BRAVIA Signage(有償版): Duration (Max.)10 minutes/fileです。

注意: BZ40P / BZ35P / BZ30P

HTML5アプリによる以下の再生は非対応のため、ご注意ください。

・複数動画の同時再生

・4K縦動画の回転

オーディオ

ContainerAudioMIME type -
HTTP(S)MP4AAC-LC / HE-AACaudio/aac
HTTP(S)MP3MP3audio/mp3

静止画

Container/CodecExtensionAspect RatioResolution (Max.)
4Kモデル
Resolution (Max.)
2Kモデル
JPEG.jpg, .jpeg16:93840×2160*1920×1080
BMP.bmp16:91920×10801920×1080
PNG.png16:91920×10801920×1080
GIF.gif16:91920×10801920×1080*

* HTML5アプリ: JPEG 4KモデルのResolution Maxが3840×2160は、High Quality Image 機能(objectタグ拡張機能)を使った場合です。タグ利用時のResolution Maxは1920×1080です。

音声

Container/CodecExtensionBitrate (Max.)Sampling rateChannel (Max.)
MP3.mp3320 kbps44.1 kHz, 48 kHz2 channels
AAC.m4a320 kbps44.1 kHz, 48 kHz2 channels

※BRAVIA Signage Free, BRAVIA Signage(有償版): Duration (Max.)10 minutes/fileです。

エンコード方式(コーデック詳細仕様)

Container/CodecSupportedRemarks
MPEG4 part10*1
(AVC/H.264)
BP@L3, MP@L4, HP@L43D in top-and-bottom, side-by-side
MPEG4 part10 (4K)*BP@L4.2, MP@L4.2, HP@L4.23D is not supported
HEVC (4K)*MP@L5.1, M10@L5.13D is not supported
AAC-LC32k, 44.1k, 48k / 384kbps(max) / up to 5.1ch 
HE-AAC32k, 44.1k, 48k / (ISO/IEC 14496-3 compliant / profile level3) / up to 2ch 

* HTML5アプリ: <video> タグは、最大 3840×2160@60p のフレームレートと 75Mbps のビットレートをサポートします。マルチキャストオブジェクトタグは、最大 1920×1080@30p のフレームレートと 10Mbps のビットレートをサポートします。

HTML5アプリ開発の備考

1.メディア要素 <video>,<audio>について

ブラビア プロフェッショナルディスプレイは、HTML5で定義されている <video>要素、<audio>要素をサポートしています。

HTML
<video width="1920" height="1080">
  <source src="https://example.com/video.mp4" type="video/mp4"/>
</video>

注意点

<video>要素、あるいは <source>要素に、type 属性を指定することで、メディアフォーマットを指示します。type属性は、MIME タイプを値にとります。


“playbackRate”属性について

  • WebAppRuntime v1.3.14以降でサポートしています。
  • 再生レートの範囲は 0.1~2.0です。

<video> タグは、最大 3840×2160@60p のフレームレートと 75Mbps のビットレートをサポートします。マルチキャストオブジェクトタグは、最大 1920×1080@30p のフレームレートと 10Mbps のビットレートをサポートします。

2.マルチキャストビデオオブジェクトタグについて

ブラビア プロフェッショナルディスプレイは、HTML5 に対応した環境でRTP および Raw-UDP マルチキャスト動画配信を利用可能です。動画の再生には<object>要素を使用し、以下のメディア形式をサポートしています。

対応フォーマット

  • マルチキャストオブジェクトタグは最大1920×1080@30p、10Mbpsをサポートしています。
  • 高速なストリーム切り換えとスムーズなマルチキャスト配信のため、IPのみ構成で、キーフレーム間隔を短くしています。
ContainerVideoAudioRemarks
MPEG TSAVC/HEVC/MPEG2AAC-LC/HE-AAC/MP1L2Multicast object element supports up to 1920×1080@30p framerate and 10Mbps bitrate.

注意

  • <object>要素は同時の使用は1つのみ利用可能です。
  • <audio>や<video>要素:同一ウィンドウ内での併用は不可となります。

これらの要素を頻繁に作成および削除すると、内部状態変更やリソース管理の問題を引き起こす可能性があるため、ご注意ください。


show() メソッド

ストリームの変更と再生を行うメソッドで、指定されたURLのマルチキャストストリームに切り換え再生できます。
ディスプレイは、show() メソッドの複数の形式でパラメータを受け取れる、柔軟な設計になっています。

JavaScript
const object = document.getElementById('mcast');

// シンプルな再生開始
object.show('udp://239.0.0.64:5004');

// 別のストリームに切り替え
object.show('rtp://239.1.1.100:8000');

jsonParam オプション詳細仕様

jsonParam オプションは、以下の設定項目をJSON形式で処理できます。
ディスプレイは、WebAppRuntime v1.2.65.8 以降でサポートしています。

JavaScript
object.show(url, jsonParam)
         ↑        ↑
       必須    オプションJSON文字列
パラメータ説明デフォルト値
prebuffer_ms再生開始に必要なバッファ時間(ミリ秒)20ms
rebuffer_ms再バッファ後の再生再開に必要なバッファ時間(ミリ秒)50ms
hardware_av_syncハードウェアでの音声・映像同期を有効化FALSE
sourceIGMPv3ソースアドレスの指定
allow_render_to_mainメインフレームへの描画許可
drm_key_idPro:Idiom M DRM有効化(”proidiom_standard”指定時)
blocking_modeDRMコンテンツ使用時の設定FALSE
network_interface使用ネットワークインターフェース

マルチキャストオブジェクトの追加メソッド

  • setWideMode(DOMString mode) 映像のアスペクト比表示を制御
  • setTextTrack(int index) DVB字幕の有効化と選択
  • getTextTrackList() 利用可能なDVB字幕リストを取得]
JavaScript
// 1. 素早い切り換え(デフォルト設定)
object.show('udp://239.1.1.10:5004', 0);

// 2. 固定設定(オブジェクト形式)
object.show('udp://239.1.1.11:5004', {
  prebuffer_ms: 2000,
  rebuffer_ms: 5000,
  hardware_av_sync: true
});

// 3. 動的設定(JSON文字列形式)
const config = JSON.stringify({
  prebuffer_ms: networkQuality * 1000,
  rebuffer_ms: networkQuality * 2000
});
object.show('udp://239.1.1.12:5004', config);
HTML
<object id="mcast" type="application/x-multicast-video" width="960" height="540"></object>

マルチキャスト動画ストリームの埋め込みは、1ページ1ストリームの制限があります。アプリにマルチキャスト動画ウィンドウを埋め込む方法は、サンプルをダウンロードして参照ください。以下に実装例を記載します。

例 HTML

HTML
<object id="mcast" type="application/x-multicast-video" width="960" height="540"></object>

例 JavaScript

JavaScript
// return true on success, or false
function startMulticastPlayback() {
  var object = document.getElementById('mcast');

  if (object.open() != 0) {
    return false;
  }

  object.onshow = function(result) {
    if (result === 0) {
      console.log('multicast object is opened');
    }
  };

  object.onstatechange = function(state) {
    switch (state) {
    case object.STATE_CLOSE:
    case object.STATE_OPEN:
    case object.STATE_PREPARE_TO_PLAY:
    case object.STATE_SRC_CHANGING:
    case object.STATE_WAIT_FOR_DATA:
    case object.STATE_PLAYING:
    case object.STATE_CLOSING:
    default:
      console.log(state);
    }
  };

  return object.show('udp://239.0.0.64:5004') === 0;
}

// change streams
function changeStream(url) {
  var object = document.getElementById('mcast');
  object.show(url);

  // if need to configure buffer size, use below API.
  //   var jsonText = '{"prebuffer_ms":2000,"rebuffer_ms":5000}';
  //   var paramJson = JSON.parse(jsonText);
  //   object.show(url, paramJson);
}

// change streams with params
function changeStreamWithParams(url, paramJson) {
  var object = document.getElementById('mcast');
  object.show(url, paramJson);
}

// stop streams
function stopMulticastPlayback() {
  var object = document.getElementById('mcast');
  object.close();
}