AV メディア フォーマット
AVメディア フォーマットおよびコーディック
対象:標準搭載アプリ、起動サービス、HTML5アプリ
動画
| Container/Codec | Extension | Aspect Ratio | Resolution (Max.) 4Kモデル | Resolution (Max.) 2Kモデル | Bitrate (Max.) | Frame rate |
|---|---|---|---|---|---|---|
| MP4 AVC | .mp4 | 16:9 | 3840×2160 | 1920×1080 | 30 Mbps | 30, 60 fps |
| MP4 AVC/HEVC | .mp4 | 16:9 | 3840×2160 | 1920×1080 | 30 Mbps | 30, 60 fps |
| MPEG TS AVC/MPEG2 | .m2ts | 16:9 | 3840×2160 | 1920×1080 | 30 Mbps | 30, 60 fps |
※ BRAVIA Signage Free, BRAVIA Signage(有償版): Duration (Max.)10 minutes/fileです。
注意: BZ40P / BZ35P / BZ30P
HTML5アプリによる以下の再生は非対応のため、ご注意ください。
・複数動画の同時再生
・4K縦動画の回転
オーディオ
| Container | Audio | MIME type | - |
|---|---|---|---|
| HTTP(S) | MP4 | AAC-LC / HE-AAC | audio/aac |
| HTTP(S) | MP3 | MP3 | audio/mp3 |
静止画
| Container/Codec | Extension | Aspect Ratio | Resolution (Max.) 4Kモデル | Resolution (Max.) 2Kモデル |
|---|---|---|---|---|
| JPEG | .jpg, .jpeg | 16:9 | 3840×2160* | 1920×1080 |
| BMP | .bmp | 16:9 | 1920×1080 | 1920×1080 |
| PNG | .png | 16:9 | 1920×1080 | 1920×1080 |
| GIF | .gif | 16:9 | 1920×1080 | 1920×1080* |
* HTML5アプリ: JPEG 4KモデルのResolution Maxが3840×2160は、High Quality Image 機能(objectタグ拡張機能)を使った場合です。タグ利用時のResolution Maxは1920×1080です。
音声
| Container/Codec | Extension | Bitrate (Max.) | Sampling rate | Channel (Max.) |
|---|---|---|---|---|
| MP3 | .mp3 | 320 kbps | 44.1 kHz, 48 kHz | 2 channels |
| AAC | .m4a | 320 kbps | 44.1 kHz, 48 kHz | 2 channels |
※BRAVIA Signage Free, BRAVIA Signage(有償版): Duration (Max.)10 minutes/fileです。
エンコード方式(コーデック詳細仕様)
| Container/Codec | Supported | Remarks |
|---|---|---|
| MPEG4 part10*1 (AVC/H.264) | BP@L3, MP@L4, HP@L4 | 3D in top-and-bottom, side-by-side |
| MPEG4 part10 (4K)* | BP@L4.2, MP@L4.2, HP@L4.2 | 3D is not supported |
| HEVC (4K)* | MP@L5.1, M10@L5.1 | 3D is not supported |
| AAC-LC | 32k, 44.1k, 48k / 384kbps(max) / up to 5.1ch | |
| HE-AAC | 32k, 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>要素をサポートしています。
<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のみ構成で、キーフレーム間隔を短くしています。
| Container | Video | Audio | Remarks |
|---|---|---|---|
| MPEG TS | AVC/HEVC/MPEG2 | AAC-LC/HE-AAC/MP1L2 | Multicast object element supports up to 1920×1080@30p framerate and 10Mbps bitrate. |
注意
- <object>要素は同時の使用は1つのみ利用可能です。
- <audio>や<video>要素:同一ウィンドウ内での併用は不可となります。
これらの要素を頻繁に作成および削除すると、内部状態変更やリソース管理の問題を引き起こす可能性があるため、ご注意ください。
show() メソッド
ストリームの変更と再生を行うメソッドで、指定されたURLのマルチキャストストリームに切り換え再生できます。
ディスプレイは、show() メソッドの複数の形式でパラメータを受け取れる、柔軟な設計になっています。
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 以降でサポートしています。
object.show(url, jsonParam)
↑ ↑
必須 オプション(JSON文字列)| パラメータ | 説明 | デフォルト値 |
|---|---|---|
| prebuffer_ms | 再生開始に必要なバッファ時間(ミリ秒) | 20ms |
| rebuffer_ms | 再バッファ後の再生再開に必要なバッファ時間(ミリ秒) | 50ms |
| hardware_av_sync | ハードウェアでの音声・映像同期を有効化 | FALSE |
| source | IGMPv3ソースアドレスの指定 | – |
| allow_render_to_main | メインフレームへの描画許可 | – |
| drm_key_id | Pro:Idiom M DRM有効化(”proidiom_standard”指定時) | – |
| blocking_mode | DRMコンテンツ使用時の設定 | FALSE |
| network_interface | 使用ネットワークインターフェース | – |
マルチキャストオブジェクトの追加メソッド
- setWideMode(DOMString mode) 映像のアスペクト比表示を制御
- setTextTrack(int index) DVB字幕の有効化と選択
- getTextTrackList() 利用可能なDVB字幕リストを取得]
// 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);<object id="mcast" type="application/x-multicast-video" width="960" height="540"></object>マルチキャスト動画ストリームの埋め込みは、1ページ1ストリームの制限があります。アプリにマルチキャスト動画ウィンドウを埋め込む方法は、サンプルをダウンロードして参照ください。以下に実装例を記載します。
例 HTML
<object id="mcast" type="application/x-multicast-video" width="960" height="540"></object>例 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();
}