Hi! I would like to inquire about utilizing the HTML5 IMA SDK on Samsung Tizen TVs (2015+). As per the documentation, this page indicates that Samsung Tizen TVs "may" be supported:
https://developers.google.com/interactive-media-ads/docs/sdks/other
While this page makes no mention of Samsung Tizen TVs at all:
https://developers.google.com/interactive-media-ads/docs/sdks/html5/client-side/compatibility
In any case, we went ahead with a proof of concept to see what is possible with the HTML5 IMA SDK in a Tizen TV web application. We started with a basic web development environment where we were able to get everything working using Video.js with the Contrib Ads and IMA plugins. We even got it working on Tizen at first, or so we thought when playing a basic MPEG4 video file. Switching to an HLS or DASH asset soon showed otherwise.
Essentially, the Tizen platform has a limitation such that the MSE APIs are hooked up to a shared singleton streaming engine under the hood. This means that two HTMLVideoElements which are present in the DOM at the same time will conflict with each other so much that sourcebuffers from the Video.js video element will be removed, and events intended for the ad video element / player in the IMA iframe will also be emitted to the Video.js video element and cause things to go haywire. We had hoped that the SDK had accounted for this in some way and possibly shared the video element in some capacity, but this was unfortunately not the case.
We also thought about tearing down the video player during ad playback and the ad container during video playback, but it appears that this is not possible even at the IMA SDK level since the player's video element is tightly coupled to the IMA SDK and the ad container should not be torn down until after content playback is complete.
At this point it seems like our only option is to possibly integrate with the ad manager API directly and manage the ad playback and API calls ourselves, which is going to be a lot of work.
We also investigated using Shaka Player as it has built-in support for both CSAI and SSAI, and seems to share the video element for both content and ad playback, but unfortunately we were unable to use this as our content uses HLS AES-128 E2E encryption, which is not currently supported by the player (GitHub issue #850).
Ultimately we are looking for some additional insight in case there is anything we may have overlooked, and if this is a known limitation of the SDK, or if there are any work-arounds. I think that given the difficulties we have run into, I think it would be a fair assessment to specifically note Samsung Tizen as an unsupported platform.
Thank you!
|
||||||