Frequently asked questions

Archive filtered by IPTV HLS

To remove filter keyword, click on it's name above.

 

M30Q: Is there an example for a full IPTV application including features like teletext, EPG and HbbTV?

A: Yes, in Chapter XX of the Developer IDE you can find an example with the following features:

- HTML5 UI
- Window Manager supporting native windows and web views overlay
- Parser capabilities for transport streams coming by transcoded standard DVB source
- Support of transcoded HLS with Verimatrix DRM mixed with channels based on Smooth Streaming and Playready
- AIT (HbbTV) signaling support by channel configuration mapping (Application Manager and OIPF configuration)
- DVB standard teletext
- HbbTV teletext
- HbbTV EPG
- HbbTV Mediathek
- ABOX42 Hybrid EPG Service with extended information including images
- Example of a settings component

There are also screencasts available that will help you understand the code.

Filter: M30 Media Player runtime tsstack1 class API Web Technology

M30Q: How does the .m3u8 playlist has to look like for HLS streams with multiple audio tracks?

A: There is an example for an .m3u8 playlist on the summary page of Chapter XXII. Please take a closer look at it to get an idea how it is built up.

Filter: ABOX42 Showcases M30 Web Technology

M30Q: When does the media player runtime switch the quality of the currently playing stream?

A: There are several cases in which the player will switch the bandwidth:

1. Normally, the player calculates the currently available bitrate it receives. After downloading a couple of chunks it comes up with the total download time and data size accordingly. If the calculated bitrate is much lower than the selected bandwidth, it will decide to switch to a lower quality.

2. When the player tries to download a chunk and does not receive any data anymore (meaning that it may not receive the whole chunk or the forecast that downloads the next chunk - this might cause A/V stuttering), the player will stop to download the current chunk and automatically switches to the lower quality.

3. Let's say the current bandwidth is ok, but there is something wrong with the segment/playlist. In this case the player will switch to another quality to avoid a dead lock. For example, the current bandwidth is 5M/bit and there is a playlist for it, but the playlist is unreachable due to an encoder error. The player then tries to load this playlist first and in case it fails it will automatically switch to the lower quality.

Go to My Own Video – Media Player runtime to start your stream on the box and get the bitrate information and other meta data now.

Filter: ABOX42 Showcases M30 Media Player runtime

M30Q: Which standards are supported by the platform in regards to multiple audio streams?

A: The platform supports multi audio for HLS and transport streams. In transport streams the audio is changed by setting the audio PID via the JS-API. The available pids can be retrieved with getAudioPIDs(). In the JS-API you will find the right calls to set or get the audio PID(s) of your transport stream. We prepared an example for this case which you can run directly on your Smart STB from within the IDE.

For HLS it's slightly different. The .m3u8 playlist provides the info on the audio settings available. It has to be built in a certain way which we explain in Chapter 22 - Part 1. The media player runtime then provides the functionality to switch the audio via the play() call of the JS-API in combination with set/getConfig. In the case of HLS with multi audio, we also offer an IPTV example in the Developer IDE that shows you how the .m3u8 playlist has to look like and beyond provides a fully working IPTV application example.

Filter: ABOX42 Showcases M30 Media Player runtime