I was able to pretty easily get the recordings working, but was curious if there were any tips around creating a highly custom UI, but re-using some BBB components from the HTML client.
My end goal, would be to write a flexible js api, where you pull in a snippet of JS(probably the BBB html5 client, somehow), and it would let you design your own layout dynamically. By dynamically I mean, in my page that has the injected js snippet, I could say <div id="presenter"> and that would be where the webcams go, and <div id="slides"> and thats where the slides/deskshare would go, and I could set fixed width/height of those, and brand around it. This proposed interface would of course be listen-only for the ffmpeg stream to pick up.
The main things I would love to re-use, is the websocket signaling api / whiteboard / polls(this would not be reused by ffmpeg, but instead by the HLS end user stream on a delay). I could re-write the whiteboard feature I guess, but as it evolves and changes, figured, why reinvent the wheel! I am unfortunately a big unfamiliar with React however, and not sure if anything is that portable.
I wasn't sure if a mode like this, where the layout is manually defined, was anything BBB was interested in? Definitely willing to work together and get something solid out there, but being able to essentially have the HTML5 client be extremely customizable in layout could be pretty cool.
This may seem like an odd request, but we really love BBB for presenters, and for small groups and plan to use the client as is for that part. Its more for this webcast scale out mode where we need the more customized interface.
If this is something that we would need to fork the client for, and just maintain our own "views" essentially, that is ok too(get to QA our players more easily ;) ), was curious if anyone had a nudge for a place to look within the app for things of that nature. I'm assuming I would need to add in a new route / main component at the least. And if we go this route, we may end up creating some barebones views, that then can be later composed via iFrame depending on which components are needed. Not sure yet. Starting exploring now =)
Thanks for any tips or nudges in a better direction!