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
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.
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)
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/)
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...
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!
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!
33 comments
[ 3.0 ms ] story [ 64.7 ms ] threadWe 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
I am tech stack and how you are managing to give away free of cost thanks
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 ;)
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!
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)
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!
How has been the experience scaling it to a large number of users ?
This looks even better though. Nice one!
Might want to try moving the 'hero' carousel at the top so that the captions are centred properly. Looks a bit jarring.
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!
Sorry for the false alarm!
One of the worst things a website can do is start blaring sound when someone is just casually looking.