THIS IS A SNIPPET OF OUR “GOING BIG SCREEN: BRINGING VIDEO TO LG WEBOS” GUIDE WHICH YOU CAN DOWNLOAD HERE.
In the previous blogpost, we’ve covered how to bring your applications to LG webOS, and touched on the two approaches we have in delivering audio and video content to LG webOS. In this blog, we will discuss things to consider when opting for LG webOS’s native player.
Native vs Bringing Your Own Player
“Is there really a choice to make?”
If you would ask me, the answer is quite simply… no. The native playback support on webOS is extremely rudimentary. While it can be started in exactly the same way as you do on any odd browser in a video-tag as simple as:
<video src ="https://cdn.theoplayer.com/videos/bbb.m3u8"></video>
You will be extremely limited when using this approach. While adding in DRM is still possible, reading through the webOS “Supported Media and DRM Formats” page reads like a horror-story for the average media publisher. The most important limitations?
Limitations of LG webOS Native Playback Component
- No real support for MPEG-DASH. Officially, even basic support is lacking. Where most content publishers are moving to a setup where MPEG-DASH is combined with Common Encryption with Widevine and PlayReady, webOS got stuck in the HLS era. In practice, there is basic support for MPEG-DASH: VOD feeds are partially supported, but live (and especially timeshift) support tends to be very shaky.
- Officially, the use of Smooth Streaming is discouraged. While support is available for both VOD and Live (with a number of limitations, but basics such as timeshift are available), it is not recommended to be used. While it is a great path for people to take when wanting to use a more standardised set of streams, it’s not really an option if you want official LG support.
- Even HLS support is basic. Most modern webOS 5 TVs support HLS version 7 (which is Pantos-draft 14, straight out of 2014). The 4.x version of the platform only supports HLS version 5, and if you’re unlucky, you are stuck on HLS version 3 for all older devices.
- Even with HLS support, the list of unsupported HLS tags seems to be longer than the list of supported tags. There are a large amount of limitations when reading through the availability of EXT-X-DISCONTINUITY (which is crucial for SSAI) and metadata doesn’t seem to have support at all as neither EXT-X-PROGRAM-DATE-TIME nor EXT-X-DATERANGE (ID3 isn’t handled either).
- You’re stuck with WebVTT. It’s the only subtitle format even listed… That hurts.
- At least there is DRM: PlayReady and Widevine Modular work… if your device is webOS 3.0+. For older versions, it’s down to Widevine Classic, but don’t worry, that’s supported on most newer devices as well! On a side-note: PlayReady support is available on older models of webOS as well, but again, it’s undocumented and officially, it’s not there…
The below is a table with a list of different webOS Model Versions, alongside Notable Properties, for each version from 2014 to 2020.
As you can see, the limitations of the native player are quite severe. The fact there is no MPEG-DASH support, no real support for SSAI (due to a lack of support for a full EXT-X-DISCONTINUITY) and only the less common support for Widevine and PlayReady in HLS, the native player is severely handicapped. There is however some light at the end of the webOS “Supported Media and DRM Formats”-page: MSE and EME support.
In our next blog we are going to discuss the other approach for bringing video into webOS which is by leveraging MSE/EME capability on webOS. You can also download the complete version of this topic in our “GOING BIG SCREEN: BRINGING VIDEO TO LG WEBOS” guide here. Any questions? Don’t hesitate to reach out to our team.