33 comments

[ 3.0 ms ] story [ 64.7 ms ] thread
I work at a school with a campus in Texas and due to COVID-19, we created an interactive live streaming platform to connect kids with the world's best teachers in a fun and safe way. All of our live streams are free and open to the public.

We were previously using a combination of Streamyard + Twitch, but had to make our own for various reasons. I'll see if our CTO will give a debrief of the tech stack on this thread.

If you're a scientist, engineer, or artist interested in streaming on the platform let me know! michael@dexterlearning.com

congratulations for launching! looks great! I was also trying to do something like this with BugBlueButton but then found that to host it req higher configuration cloud machine and a lot of bandwidth so dropped the Idea

I am tech stack and how you are managing to give away free of cost thanks

Hi, can you please do so? I am an engineer interested in starting my own streaming platform.
If you want some technical details, shoot me an email: bryant@dexterlearning.com.

Depends on what kind of streaming platform you're planning to build. If you want to have absolute control just make your own WebRTC solution. We have a bunch of other functionality so we just used Agora's API, it's been stellar thus far.

Also....we're hiring ;)

Yes - very interested in what you're using for the tech stack. Why didn't Streamyard + Twitch work? What are your operating costs (if I can ask)? For the website, is this a custom site or based on something like Wordpress? Would love to know details!
Custom site, built on Vue, Quasar and Firebase. Streamyard + Twitch did work but lacked a lot of functionality we wanted. We built out a lot of realtime functionality like polls. We used Streamyard worked for a little bit but because we wanted to give our streamers only one view to mess with we went with Agora's API.
Cool. Are you still streaming to Twitch for the actual streaming?

Are you hosting replays? If so, how are you doing that?

Did you have to build custom software to do polls or was that something off the shelf?

Another Q: if you're streaming to Twitch (or YouTube), how do you prevent anyone with the link just watching the stream? Basically how do you control the registered viewing experience?

Sorry for all the Qs: you're being fantastic with responses!

No, we're using Agora's API for streaming. Twitch's API works well however we want to try to keep as much in-house for the exact reason you mentioned above in controlling the viewer experience.

We'll also be implementing their Cloud Recording functionality but that's WIP.

Yes, we used Firebase to build real-time polls and ChartJS to display said data.

Not a problem, if you want to continue the thread more long-form shoot me an email -> bryant(at)dexterlearning.com

(had to post for Bryant... HN throttled his comments/responses)

Op costs aren't crazy, a month of heavy usage cost us about $330 USD.
A big consideration was moderated chat. When we initially embedded a Twitch iframe on our LMS (streamed from Streamyard) - we had little control over who was participating. A cool side effect of it being on one platform is that our streamers can now invite students to join via video with a single click.
This is cool. EdTech is undergoing unprecedented digital transformation right now. Anecdotally I can say the more personal the video interaction, the more instructive. And meshing one-on-one live video with live pair programming will be the holy grail ;)

On the coding side, I've had more success using P5JS than block-based and visual environments like Scratch. I think the great thing is that students can then advance on their own. Diving right into the API reference, The Nature of Code textbook and The Coding Train YouTube tutorials using state of the art AI techniques.

For live interactive video I use Twilio and WebRTC. But will also be experimenting with Mux soon. Best of luck!

Agreed. It has been so interesting teaching via live stream (versus in the classroom). We've experimented with things like POV cameras and streaming in strange places (like a state park for an astronomy stream). Agreed with p5.js - we have a STEM Coding stream/course starting on Monday hosted by Dr. Chris Orban (https://u.osu.edu/stemcoding/)
Are you using WebRTC for the streaming ?

How has been the experience scaling it to a large number of users ?

We're using Agora's API that's built on WebRTC, thus far we haven't had any issues with their service.
For some reason the web site doesn’t work on my iPhone at all. All the text is cut off and navigation is impossible.
We haven't had time to optimize for mobile. Most of the users are kids watching on a computer at home, but it's on the list!
The three shows listed on the home page all sound pretty interesting. Are the times localised?
Yes! We use MomentJS Timezone to localize to your machine.
Might want to fix the typo: "The username for their accunt is..."
nervous laughter...... thanks for this.
I saw the domain and thought maybe Showtime had greenlit a Broadway adaption of their hit show. Alas.

This looks even better though. Nice one!

Neat idea.

Might want to try moving the 'hero' carousel at the top so that the captions are centred properly. Looks a bit jarring.

Just redeployed - good call looks way better.
Really great idea, but is it really neccessary to have this much third party connections embedded? Like facebook, google, stripe and more that I dont know. Especially when this is advertised as something for kids. I can't find any privacy policy too...
Congrats on the launch!

However, if you plan to truly open this to the public, you should at the very least disclose what timezone your streams start at, or show schedules in the visitor's timezone. Under the most simplistic evaluation, the world has 24 of them!

Thanks! We use MomentJS Timezone to localize to your machine. We'll add something to make that more clear.
Just deployed time zones. Thanks for the suggestion!
Oh weird! I guessed so first, but tested changing my timezone and the times didn't change (upon reload).

Sorry for the false alarm!

Mute by default, please.

One of the worst things a website can do is start blaring sound when someone is just casually looking.

The ultimate critic, my 11 year old daughter, just listened to the whole Shakespeare stream. That she peeled away from defeating Protea in Warframe speaks loudly of how much she enjoyed it. Great job!
That makes us so happy to hear, thanks for sharing. Sending a screenshot of this to the stream host now : )