AV Media Format
AV Media Formats and Codecs
Applicable to: Built-in apps, Startup services, HTML5 applications
Video
| Container/Codec | Extension | Aspect Ratio | Resolution (Max.) 4K model | Resolution (Max.) 2K model | 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 (paid) : Duration (Max.)10 minutes/file.
Audio Streaming
| Container | Audio | MIME type | |
|---|---|---|---|
| HTTP(S) | MP4 | AAC-LC / HE-AAC | audio/aac |
| HTTP(S) | MP3 | MP3 | audio/mp3 |
Images
| Container/Codec | Extension | Aspect Ratio | Resolution (Max.) 4K model | Resolution (Max.) 2K model |
|---|---|---|---|---|
| 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 applications: For JPEG on 4K models, the maximum resolution of 3840×2160 is when using the High Quality Image feature (object tag extension).
The maximum resolution when using the tag is 1920×1080.
Audio Files
| 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 (paid): Duration (Max.) 10 minutes/file
Encoding Methods (Codec Specifications)
| 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 |
* HHTML5 applications: The <video> tag supports a maximum frame rate of 3840×2160@60p and a bitrate of 75Mbps.
The multicast object tag supports a maximum frame rate of 1920×1080@30p and a bitrate of 10Mbps.
HTML5 Application Development Notes
1. Media Elements <video> and <audio>
BRAVIA Professional Displays support the <video> and <audio> elements defined in HTML5.
<video width="1920" height="1080">
<source src="https://example.com/video.mp4" type="video/mp4"/>
</video>Note:
Specify the media format by setting the type attribute on the<video> or <source> element. The type attribute takes a MIME type as its value.
Media Elements About the “playbackRate” attribute
- Supported in WebAppRuntime v1.3.14 and later.
- Playback rate range is 0.1 to 2.0.
The <video>tag supports a maximum frame rate of 3840×2160@60p and a bitrate of 75Mbps. The multicast object tag supports a maximum frame rate of 1920×1080@30p and a bitrate of 10Mbps.
2. Multicast Video Object Tag
BRAVIA Professional Displays can use RTP and Raw-UDP multicast video streaming in HTML5-compatible environments. The <object> element is used for video playback and supports the following media formats.
Supported Formats
- The multicast object tag supports a maximum of 1920×1080@30p, 10Mbps.
- For fast stream switching and smooth multicast streaming, IP-only configuration is used with shortened key frame intervals.
| 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. |
Note:
- Only one <object>element can be used simultaneously.
- <audio>and<video>elements: Cannot be used together within the same window.。
Please note that frequently creating and deleting these elements may cause internal state changes and resource management issues.
show() Method
A method for changing and playing streams that can switch to and play multicast streams at the specified URL.
The monitor has a flexible design that can receive parameters in multiple formats for the show() method.
const object = document.getElementById('mcast');
// Simple Playback Start
object.show('udp://239.0.0.64:5004');
// Switch to another stream
object.show('rtp://239.1.1.100:8000');
jsonParam Option Specifications
The jsonParam option can process the following settings in JSON format.
Supported in WebAppRuntime v1.2.65.8 and later on the monitor.
object.show(url, jsonParam)
↑ ↑
Mandatory Optional (JSON string)| Parameter | Description | Default Value |
|---|---|---|
| prebuffer_ms | 再Buffer time required to start playback milliseconds) | 20ms |
| rebuffer_ms | Buffer time required to resume playback after rebuffering (milliseconds) | 50ms |
| hardware_av_sync | Enable hardware audio-video synchronization | FALSE |
| source | Specify IGMPv3 source address | – |
| allow_render_to_main | Allow rendering to main frame | – |
| drm_key_id | Enable Pro:Idiom M DRM (when “proidiom_standard” is specified) | – |
| blocking_mode | Setting for DRM content usage | FALSE |
| network_interface | Network interface to use | – |
Additional Methods for Multicast Objects
- setWideMode(DOMString mode) Controls video aspect ratio display
- setTextTrack(int index) Enables and selects DVB subtitles
- getTextTrackList() Retrieves available DVB subtitle list
// 1. Quick switching (default settings)
object.show('udp://239.1.1.10:5004', 0);
// 2. Fixed settings (object format)
object.show('udp://239.1.1.11:5004', {
prebuffer_ms: 2000,
rebuffer_ms: 5000,
hardware_av_sync: true
});
// 3. Dynamic settings (JSON string format)
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>Embedding multicast video streams is limited to one stream per page. To embed a multicast video window in your application, download the sample for reference. Implementation examples are provided below.
Example HTML
<object id="mcast" type="application/x-multicast-video" width="960" height="540"></object>Example 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();
}