In the previous blog post, we’ve covered how to best bring your applications to Samsung Tizen and touched on the two approaches we have in delivering audio and video content to Samsung Tizen. In this blog, we will discuss how to leverage Samsung Tizen's native playback component, AVPlay. We will also list down its known use-case limitations.
THIS IS A SNIPPET FROM OUR “GOING BIG SCREEN: BRINGING VIDEO TO SAMSUNG TIZEN” GUIDE WHICH YOU CAN DOWNLOAD HERE.
Native Approach: AVPlay, Tizen’s native video player
As with most smart TV systems, Tizen comes with its own native video player, providing support for the most common streaming protocols. Tizen’s native video player is called AVPlay. Using AVPlay isn’t all too difficult and simply requires loading the AVPlay API library. This is as simple as loading the following script:
With this library loaded, you can enable playback easily with AVPlay API by:
1. Defining the playback window and indicating AVPlay is to be used,
2. Configuring a media source,
3. Loading the media source to prepare for playback,
4. and trigger playback.
As you can see, getting playback up and running is very simple. Beyond this, AVPlay brings some additional capabilities such as:
- Support for streaming protocols such as Smooth Streaming, MPEG-DASH and HTTP Live Streaming (HLS),
- Allowing to perform basic trick play by seeking or changing the playback speed,
- The ability to receive notifications in case of buffering or errors,
- Support for alternative audio channels,
- Basic DRM playback,
- and support for subtitle formats such as SMPTE-TT, SAMI and DFXP.
AVPlay: Challenges and Use-case Limitations
AVPlay has been around since Tizen’s early days in 2015 (with the launch of Tizen 2.3) and has evolved a lot, but as a result, AVPlay differs significantly in capabilities across different platform versions of Tizen. The main purpose of AVPlay however hasn’t changed: empower media apps to use basic playback capabilities. In practice, when building a full media app the capabilities of AVPlay will soon reach their limitations.
There are two main challenges which OTT video publishers often start to encounter when working with AVPlay:
- Capabilities are limited to basic use cases and offer little flexibility.
- Different versions of AVPlay are tied down to support specific versions of streaming protocols and (greatly) differ in capabilities.
Where the limited basic use cases support is often initially not seen as a huge issue, the problems start growing once new business cases get added. Some notable use cases which are difficult or even impossible to support properly are:
- Monetization through client-side (CSAI) or server-side ad insertion (SSAI).
- Reducing playback latency for optimal user experience in interactive or live broadcasts.
- Advanced bitrate selection (or even manual bitrate selection)
- Identifying streaming issues as error responses are extremely brief.
- Monitoring QoE due to lack of detailed events (no possibility to inspect the size of the buffer, details of different tracks and qualities, …)
- Support for alternative subtitle formats and subtitle styling.
- Improved scrubbing with thumbnails or I-FRAME streams.
On top of these limitations, there are a lot of other fundamental technical limitations across different Tizen versions. These, consequently, make AVPlay to be a less viable option in delivering a reliable viewing experience on Samsung Tizen. In our next blog post, we are going to explore them and list down the varying support levels across Samsung Tizen versions and models.
You can download the complete version of this topic in our “GOING BIG SCREEN: BRINGING VIDEO TO SAMSUNG TIZEN” guide here.