Skip to content
Eli Zor edited this page Sep 25, 2017 · 1 revision

Welcome to the clojurians-mob wiki!
There is not much order to it just yet. Use it as an easier common space to edit relevant documents.
If you believe what you have to say is README-worthy, please open a pull request instead.

HOWTO Stream

There are many ways to stream video. We prefer solutions that are 1-to-many and that allow unregistered people to tune in.
No solution is perfect, as there are many things to consider when you aim to provide a nice viewing experience to the programming mob.
The following guides and instructions aim to help you getting started quickly. Please contribute back to this wiki page with your tweaks / observations / notes so that others may benefit from them.

OBS Setup

The Open Broadcaster Software is free and open source software for video recording and live streaming, according to their homepage.
It isn't the only piece of software that allows you to stream video, but it possibly is the most customizable.
Check out Twitch's guide to OBS to get started.

Zor's lo-fi setup

I happen to have a pretty bad setup for streaming : my CPU is ten years old, and my uplink is ~1Mbps (~125 KBps).
This forces me to have a lo-fi stream in two aspects : because my CPU is weak, I cannot use extremely intense compression/encoding options, and because my uplink is so low, I cannot stream HD or high FPS.
Moreover, it's important to point out that for a good experience, I cannot even use my whole uplink - otherwise doing anything extra on the internet would impact the stream. I settled for 75% uplink utilisation, i.e. my aim is to have a ~650-750kb/s stream.

  • The video streaming options are in Settings > Output : Encoder x264, Rate control CBR, Bitrate 550, with Custom Buffer Size = 450, CPU Usage Preset = ultrafast, Profile (None), Tune (None), x264 Options (None).
  • More options are in Settings > Video : Base reso (1920x1200), Output reso (768x480), Downscale filter (Bicubic), Integer FPS value (20)
  • Audio options are in Settings > Audio : Sample Rate (44.1khz), Channels (mono)
  • More audio options are in Settings > Output > Audio tab : All channels with a 96 bitrate.

Checking your stream is healthy

  • Inside OBS, check that you are not dropping frames. Counter should be 0, and stay there. If you are dropping frames, you probably need to reduce video bitrate or FPS.
  • Have the twitch dashboard opened somewhere, on a second screen to avoid streaming it, and be aware of the (impossible to avoid) Twitch stream latency (3-5seconds). Sometimes viewer will get even bigger delays : hard refreshing their twitch page should fix that.

Zor's scene setup on Linux

The scene setup is basically the configuration of what you would like to screen. Here's mine 👍

  • XSHM Screen Capture for video. I'm streaming one of my two screens. You could also stream a single window (i.e. IntelliJ or Emacs), but that means people won't see your shell action, or browser doc crawls.
  • Audio Input Capture (PulseAudio). Capturing everything on my microphone, so that viewers can hear me speak.
  • Audio Output Capture (PulseAudio). Capturing all outputs on one of my two soundcards. This is to capture Teamspeak/Discord chat from other mob programmers. This is to allow random viewers to hear what's going on when the mob is discussing the code.