Adventures are fun. One of my recent adventures has been to Ohio LinuxFest to follow one of my ideas. Specifically, I wanted to make PyCon styled videos for LinuxFest, because this is very educational content, and Ohio Linuxfest is a great conference. The videos may be found here.
I prepared beforehand by talking with Carl of NextDayVideo, the official streamer of PyCon. He gave me some great resources, like the Conference Streaming Guidelines, and a few other private links. Shout out to Carl!
Overall, streaming went great. However, there were hiccups along the way, and a lot of unexpected equipment behaviors. Hearing a success story is great, but I want to focus more on the lessons to be learned, especially if anyone attempts similar feats. Let's start with my setup, then move onto issues.
The main goal with LinuxFest was to capture a copy of the presentation video, to film the presenter speaking, and to get PA system audio. Three parts, nothing else.
It is possible to get audience audio, which is great for QA sections. However, I didn't have enough AV equipment, so audience audio was left out.
For software, I used OBS to record everything.
As for hardware, there are four main subsystems.
My 15" macbook was used to run OBS and collect all incoming data.
An El Gato HD 60 S was used to capture HDMI video. In addition, there was a VGA splitter, a usb-c/usb-a dongle, and other basic amenities.
Included is a 20' 1/8" plug audio line to connect to the PA system. Yes, the length is very much needed, and this is while I was sitting in the front row!
An iPhone SE was used to film speakers. Fun fact, OBS detects iPhones as video capture devices, so it can record an iPhone's screen. On the iPhone, FullScreen was used to display the iPhone camera feed. FullScreen has very little visual clutter, and doesn't periodically impose a tiny yellow box on the video feed.
Oh lord, audio.
As with any large undertaking, I made sure to stress test my equipment to ensure it would 100% work under live, day-long conditions. It would be terrible if I ended up needing extra time, and missed the opening keynote! Everything was checked as working, although analog audio capture was failing.
This issue should have immediately raised a giant red flag, but I forgot about it. In fact, I missed the opening Saturday keynote due to a lack of audio. Eventually, Hyatt Regency came brought great audio capture device for my use.
Now we run into another issue. My laptop only had 1 usb-a port for use. The audio capture device and the El Gato both output to usb-a. This means I can't have both good PA audio and presentation video.
Eventually, I settled with using my laptop's microphone as fallback. It's not too low quality...
Ideally, I would've had an audio capture device myself. Even if I didn't, a second usb-c/usb-a dongle would've worked.
After the first keynote finished, audio issues had been resolved, and it appeared the AV setup was working smoothly! However, the world slapped me and my hopes.
This is also a flaw with testing, specifically having only used my equipment with gaming/Mac laptops.
The second presenter hooked up their computer, and the El Gato was reporting massive FPS dips. This was causing the video capture to fluctuate between the expected presentation video, and a "No HDMI detected." screen.
Looking back, this appears to be an issue with the presenter's laptop. Specifically, affected laptops were low-spec, and I'm guessing were struggling to output 1080p 30FPS video.
To solve this issue, I settled on not recording the presentation video. Even so, the final video is higher quality then previous efforts. In these situations, there isn't much that can be done, outside of getting another VCD.
From the third talk onwards, AV was back to working smoothly. That is, until the lightning talks attacked.
The main issue with the lightning talks was that no one used the podium. Everyone was walking around the room, and standing at various distances from me and my laptop. Because I had OBS crop the input iPhone video, this meant I had to re-crop the video between each 5-minute talk. Even then, there were times that the presenter was on the verge of being out of frame. I was also rushing at times.
The final keynote had these issues too.
I originally used OBS because it could do live mixing, which meant post production would take very little time.
If I can get anything across with this blog post, don't do that. No. Post production allows for a ton of valuable flexibility in handling issues like what I've encountered. I.e, I could have recorded raw version iPhone video, and added digital zoom afterwards. Cropping in post takes very little time, and you will not regret this time well spent.
The plan is to continue streaming LinuxFest. To do that, I need more equipment. Specifically:
- USB-a to USB-c dongle ($10)
- Audio Capture Device ($20-$40)
Then there's the stretch goal of a Numato Atlys or Opsis. The Numato hardware is used in professional settings, so it should be much more stable then the El Gato. Plus, it offers low-level debugging.
If I expand to record multiple Ohio LinuxFest rooms, I will need all equipment multiple times over, albeit with a cheaper laptop and a good camera. This will be expensive, although I have ideas.
For now, enjoy the 2017 videos!