By Tommi Järvinen
WHY DOES PLAYER SELECTION MATTER IN THE SMART TV WORLD?
If you are familiar with OTT/streaming app development on platforms like Android, iOS or web, you might be wondering what the fuss is about in selecting a video player for the Smart TV platform. After all, using the native player is usually an obvious choice when creating these services on mobile platforms, and for the web, you can pretty much select whatever you prefer, as modern PCs and browsers are likely to work relatively well with any player engine.
What makes the Smart TV world so different then? First, the native player options on TV platforms are not as widely supported and tested by different streaming & DRM systems as for example Exoplayer on Android or Apple’s native player. TVs also tend to have a longer lifespan than mobile phones for example, meaning that customers can easily have 5+ years old TVs at home. The older the device gets, the more challenges it is likely to have with the player due to an old browser engine, limited resources or lack of functionalities in the native player. This means the available contents, DRM systems, supported TV platforms and required functionalities need to be considered carefully when doing the selection.
Knowledge-based decision making
We now know that the selection process for the player tends to be more complicated for Smart TV platforms compared to the mobile and web world. But what kind of things do we need to consider when making this important decision?
One very important factor is the service itself and the contents it has now and is likely to have in the future. Do you only have VOD-type content, or do you also have live channels or live sports events, for example? What streaming protocols and DRM systems does your streaming backend support? Different player choices have different properties that make them more suitable for certain content types, streaming protocols or DRM systems, especially on certain TV platforms.
As important as knowing your content is knowing which platforms you want to support. Samsung’s Tizen and LG’s WebOS probably, but how about Philips, Hisense and other brands? And how old devices are you prepared to support? While market data of TVs that your users are likely to have at home is valuable, it only helps in player selection together with a deep knowledge of how different TV models work together with different players.
The last but not least important things to consider are the features you will need from the player. Do you need to support subtitles, multiple audio tracks, UHD, startover or live TV trickplay for example? All these things need to be taken into consideration, as it cannot be taken for granted that they are equally supported by all players and platforms. Again, knowledge and experience of players with different models is essential here.
Three paths:
pros and cons
Ok, we have the background information and requirements for the player in place. But what are the actual options we are choosing from?
Basically, players available for Smart TVs can be split into three categories: native players, free/open-source players and commercial players.
Native Players
AVPlay (Samsung)
WebOS player (LG)
ExoPlayer (AndroidTV)
OIPF Player (Many brands / models)
Free/Open-Source Players
Video.js / Dash.js / HLS.js
Shaka Player (Google)
Commercial Players
Bitmovin
Theoplayer
PRESTOplay (Castlabs)
JW Player
NexPlayer
Native players in Smart TVs
Using the native player may sound like a natural choice, if you compare to Android or Apple environments. After all, it is the player provided by the TV manufacturer, so you’d expect it to be well documented and supported and have the best compatibility and stability on that platform.
However, that can be debatable, as many native players, especially in the older TV models, lack important features and can have problems with streaming formats and DRM. This can be problematic, as manufacturers rarely provide big updates on the player side for older models, and in some cases the support overall can leave a lot to be desired. There are even examples where manufacturers suggest using an external player solution like Dash.js or Shaka Player over the native player solution.
Pros
Cons
Free/Open-source players
Pros
Cons
Commercial players
Pros
Cons
Making the right choice
As we’ve learned in the previous chapters, the right player choice for each use case depends on many factors, and only one thing is certain: there is no one-player-fits-all solution. Making the right choice requires knowledge and experience on streaming protocols, DRM systems, video backends and naturally the players themselves, but most important is the knowledge on the service itself and the TV devices you will be running the player on. Testing on the target devices is extremely important, as it gives you confidence that your customers will not have problems with your selected player on their TVs.
Sometimes in more complex systems you may end up in a situation where one player engine is not enough to support all contents and TV platforms. In that case, you need to carefully think about the design of your application to still be able to maintain a unified codebase on all your platforms and not end up complicating the development with several application versions.
Confused by the choices or lacking expertise? Contact us!
Want to know more about Smart TV development?
Sofia Digital excels in Smart TV app development across all major platforms, including Tizen, webOS, VIDAA and Android TV. Our approach goes beyond coding; we act as a strategic business partner, offering flexible, customized business models to bring maximum value to our clients.