I'm wondering if anyone can point me to in-market channels that have used their own controls for the SceneGraph Video Player component rather than using the default UI. Ideally, I'd like to hear any "war stories" from anyone who has done this.
Check out NBC https://channelstore.roku.com/details/68669/nbc Also I think SyFy, Bravo, and USA use custom controls. We wrote custom controls and custom TrickPlay (since Roku doesn't support bif/TrickPlay outside their hideous default UI). I have personally written custom controls in SDK1 and Scenegraph, it's not that hard. The math and UX for seeking is annoying, and the performance of any kind of fancy UI is horrible on all but the latest and greatest devices.
The tough part is that you have to rebuild some of the state machine that the video player already has. For instance, fast-forward isn't just setting some UI chrome and telling the video node to fast-forward. There is no `videoNode.control = "fastforward"`. So you simulate it by pausing the video node, noting that you are in the fast-forward state while you periodically update your UI during the seek. Now for every other possible videoNode.state change or remote button press, you have to check if you're fast forwarding and reset your state, and so on...
An alternative is that you can provide a lot of customized visuals for the default controls. `videoNode.trickPlayBar.filledBarImageUri` for instance.
Also be aware that the publishing checklist mandates certain playback behavior such as FF steps, replay jumps, cc dialogs, so you can't stray too far from the default.
Thanks Veeta & tim_beynart! I'll have a look at those channels.
We're already going to have a look at working with customizing the players attributes, but figured we'd also see if anyone is replacing the controls altogether. We do that on a number of other platforms already so, yeah, we know all about the state machine and getting the "feel" just right.
With the Senegraph SDK, be aware that if your end user hits the buttons too fast it will get confused for pause/unpause, especially if you want the OK button to mirror the functionality of the play/pause button. I haven't found any kind of fix for that.
Check out https://channelstore.roku.com/details/164003/cartoon-network As with previous responses the biggest challenge is seeking. Especially if your ads are SSAI. A little bit of math and some coffee will get you where you need to go though
Tyler Smith Senior Developer, REDspace redspace.com