Review of my first time live streaming

Published at Jul 23, 2024

Today was my first time streaming live on internet. I wanted to livestream for a long long time. When I was gaming, when I was travelling and now while I'm coding.

Several weeks ago I started looking to see how difficult it would be to do a live coding session. And after an hour of tinkering I was already up and running.

Subject of the stream

I need a little menubar app to start and stop my VM installed on a Proxmox server. Right now I'm using wakeonlan to start the server, wait several minutes, then I go to the web ui to start or stop each VM. Then after I'm done I shut down the server.

I like the idea to have a dedicated app and I don't want to wait for the server to boot to start the VM.

I want a user-friendly app I could upgrade with more features in the future.

Quick look at the setup

The hardware is pretty straight forward:

  • Computer: MacBook Pro 2020 (i7, 16GB, 512GB)
  • Camera: iPhone 13 mini
  • Microphone: AirPods Pro
  • External monitor to monitor the live and have the chat and other thing off-screen

For the software, I took the easy way:

The good

OBS has come a long way! I followed the development by installing it from time to time, but I never really used it. It's easy to use and powerful. I was able to set up the stream in less than 20 minutes.

I used a plugin to blur the screen when I knew passwords or other sensitive information would be displayed. With OBS you can put a shortcut on basically everything.

For the next stream I want to repeat theses:

  • Using my iPhone as a camera was a good idea. The quality is good and I can put it loosely somewhere on the desk It follows me. You can apply filters to the camera feed directly in MacOS (blurry background, studio light, etc..).
  • Having a second monitor was really helpful.
  • I think that lowering my screen resolution helped a lot with the performance and the clarity of the stream.
  • Like expected, I was focused on the app the whole time of the stream. It was one of my reasons to start streaming. I can be distracted easily and I wanted to force myself to be focused on the task at hand.
  • Keep the minimum of apps open and turn on Focus mode on MacOS.

The bad

And here is a list of things that went wrong and that I need to improve

  • It can be awkward for the viewers to have nothing happening on the screen while I'm doing something off-screen. I tried to limit the use of the second screen when something was happening on the terminal for example. But sometimes I was reading the documentation off-screen and that's not good.
  • The chat wouldn't stay on the screen. If OBS is not the active window, the chat disappears. I need to find a way to keep it on the screen.
  • I should probably hype the stream a little bit more. Because streaming live with no one watching is a bit useless.
  • I forgot to use Presentation Mode on Phpstorm.
  • I don't like seeing the Dock and the Menu bar on the stream. I should probably go fullscreen.

The ugly

My MacBook Pro was really slow! I already knew that it will blow up when I start streaming but didn't expect it to be that bad.

It was so slow that every character I typed was displayed with a delay. Awful

PhpStorm was constantly indexing the project because it could not keep up with the changes. Composer and NPM were so slow that I was bored by my own stream.

My CPU had such a high load that some frames were dropped.

The sound of the fan was so loud, it was really annoying. Don't think we can hear it on the stream thanks to the AirPods Pro.

Bottom line, I have a performance problem.

What's next ?

I still want to livestream and since the app I'm building is very low priority I will continue to work on it during streams. This is a nice little project to share because I can easily explain what I'm doing along the way and can be valuable to some people.

The question is how ? I was already aiming to buy a new Mac this fall. Maybe that's the solution. But I wonder, how do other streamers do it ?

Is it a hardware problem ? A software problem ? A configuration problem ? I don't know. I will have to investigate.

Anyway, if you know anything that could help me, please let me know. I'm all ears.

#livestream #laravel #nativephp

Syntax highlighting provided by torchlight.dev