Twitch.tv for Streaming to More Than 20 People

Hidden Service conference logoSo there we go, I trained my virtual live demo how to install Jitsi-Meet on a server for ‘Hidden Service’ several times to make sure the session wouldn’t blow up in my face. I felt well prepared, I felt confident and I expected a handful of people to show up at best. So I set-up the session on my Jitsi Meet server and increased my server capacity to 8 cores and 32 GB RAM just to be on the save side. And then…, 270 people showed up. OMG!

That Was A Bit Much…

O.k. that’s an order of magnitude more than what I expected in my best case scenario if interest was very high. Needless to say, my Jitsi installation didn’t cut it and was totally overrun. I was flabbergasted. The server itself didn’t mind too much but the web browsers on the client side couldn’t handle the number of audio and video streams and simply stopped responding. So I was sort of ‘hoping’ that people would go away over time so we could reach a point where the system became stable again. Wishing that your audience goes away, that’s a bit strange. But that didn’t happen, even after half an hour. People were determined I suppose. And I am glad they were.

Let’s Set-up Live Streaming – And Fast

Fortunately, there were people on the Jitsi bridge that have been at this point before and suggested to head over to Twitch.tv and stream the event from there. Drbunsen2 offered his channel there and suggested that I run a 1:1 Jitsi session with him and he would stream on his end on Twitch.tv. It sounded like a crazy plan. I’ve never used twitch.tv before either as a consumer or producer so I got myself an account quickly in the hope I could stream myself via their web interface just like with Jitsi. But it seems that’s not the way to do it, so I had to abandon my plan for the moment and resort to the initial plan.

And it worked brilliantly! Over 90 people noticed that we were moving to twich.tv for the session and I got feedback via the twitch.tv comment function, for which one needs to be registered, and via a cryptpad page. Not quite as interactive as I was hoping but it was a brilliant hack. Thanks very much to drbunsen2 to come up with this in a hurry and to 33dbm for connecting the two of us over the phone. And also thanks to Eventphone which was also part of the solution with their virtual DECT lines, you saved the demo as well!

Let’s Do An ‘Encore’ with Youtube Streaming – Or Not…

After getting my adrenaline rush under control after the demo I decided to repeat the demo the next day for those people who didn’t notice that we moved to twitch.tv. My favorite approach would have been to do a live streaming session on Youtube, as Jitsi has a function to do just that. But that didn’t work out because Youtube wanted me to authenticate to expand my (pretty much dormant) account for Live streaming. This would have worked but unfortunately, their SMS and robot voice call system failed and I couldn’t do the verification in time. When I tried the next day, this part worked and I could successfully register for live streaming access. Unfortunately, once I was past this step, Youtube told me that I had to wait for 24 hours before live streaming was activated for me. Yeah, well, thanks very much for that, see you in the rear-mirror then…

Live session on twitch.tvSo I turned to twitch.tv again and looked around how I could stream from there. Still, I was under a bit of time pressure as I wanted to do the live demo on the same day. I then figured out pretty quickly that I needed an external streaming program that I would feed a URL/token to that twitch.tv provided. There were a number of software options and I decided to go for Open Broadcast Studio (OBS). Also, I noticed it was open source and runs natively on Linux. Installation was quick and I was surprised how many possibilities it offers. It took me a couple of minutes to figure out the basics, i.e. how to give it my twitch.tv streaming token, how to configure microphone, webcam and the screen as input sources and to run my first live stream via twitch.tv. Worked like a charm! Also, the software can record a session locally. So due to Youtube’s failure I learned a lot and ran the demo again with this setup a few hours later that day on twitch.tv.

The Re-Run, a Recording on Youtube and my Ultimate Jitsi Stress Test

Around 45 people showed up, again too many for a single Jitsi meet session. In other words, the effort paid out! Like on the previous day I used a Cryptpad for my script and for live Q&A with the audience. A very nice setup. Also, I used OBS to record the session which I later uploaded to Youtube here. Note: The session was in German.

After the demo, I invited people to hop into a room on the newly created Jitsi server that ran on a 4-vCPU machine as one goal for me in this whole thing was to find out where the limit is for a single Jitsi session. At the beginning there were like 30 people on the bridge and it was too much. Again the web browsers on the client side couldn’t handle the number of streams. Things started to stabilize when around 20 people remained on the bridge with their video turned on. But it wasn’t a smooth experience. I would say 15 people is the maximum with simultaneous video for web browsers but not ideal. So my original ‘guestimate’ of 15-20 people in a room was right on the spot. In practice I would say 10 videos from 20 people is the maximum. After that, the experience in the web browser become very sluggish.

Virtual vs. Physical Event

Wow, what a learning curve in 24 hours! Agreed, that was a bit stressy but I am very happy that I’ve run through the exercise. I learnt a lot, got many new ideas and met a number of very friendly and helpful people in the process. I was a bit skeptical how my first virtual hacker event would turn out, as such events live from people coming together. But after this, I have to say this virtual event felt almost as real and enlightening as a physical event! Thanks to all who organized the event and thanks to those who have helped me to set this up and learn new things on the way! You are great!