~jpetazzo/Streaming tech talks and training / Hardware

This is a long description of the various equipment (cameras, lights, mics, and more) that I am using, or that I have tried to use, to deliver online training and tech talks.

For context, please check part 1!

MegaMan 8-bit picture with text saying GET EQUIPPED WITH EQUIPMENT

Desk and desk placement

Priority: low to high

It helps me a lot to stand when I’m presenting. I suppose that this is irrelevant for most people, and that many of you might actually prefer to sit; but it is easier for me and I have more energy when standing.

I considered using a standing desk (and might end up getting one) but for the time being, I’ve set up my streaming laptop on a delivery box and propped up the associated monitor.

August 2020 update: I got a Fully Jarvis standing desk and I’m very happy with it. It freed up a lot of real estate on the desk (because I don’t need the cardboard box and the weird wooden thing to prop up the streaming laptop). If you get one (or any kind of standing desk), I recommend one with memory buttons (so you can switch from one position to another very quickly) because it’s only a small fraction of the overall price and I found it very useful.

This section is first and foremost an excuse to show you an overview of what my setup looks like!

Wide angle picture of my desk with both laptops, lights, cameras,
etc.

The cameras that I use are highlighted in red. The mic that I use is highlighted in green. The Stream Deck is highligthed in light blue.

There will be more pictures of specific parts when needed.

Note that the darkening curtain that you can see in front of the window behind me is typically pulled more to the left, so that the window doesn’t produce a backlight behind me when using the right-hand-side camera. Without that curtain, I would probably have to move things around a bit.

Now let’s move on to the nerdy tech stuff!

Mic

Priority: high

It’s important that people can hear me loud and clear, so this was one of my first investments.

I don’t want to use the mic that is built into my laptop, because it picks up too much background noise.

A built-in mic will pick up keyboard presses. It wasn’t obvious to me at first, until a friend told me to listen to my recording with headphones on. After 10 seconds I wanted to murder the person who was hammering on the keyboard (i.e. myself).

It will also pick up the whirring of the computer’s fans. Usually, my fan is idle, so it’s not a big deal. But when streaming video, the CPU will be hard at work to encode, and the fan will turn on.

Generally speaking, I want the mic to be as close as possible to my mouth, but also at a constant distance, so that I don’t have to worry about variations in volume.

TL,DR

I use a RØDE Wireless Go with a cheap lav mic and a cheap USB audio interface. The lav mic came with a super cheap kit ($10-20 online) and the USB audio interface was in the same price range (it’s an Audio-Technica ATR2USB).

Now here is a list of all the things I tried and considered …

Blue Yeti

Many people recommended the Blue Yeti, so I got one. Unfortunately, it doesn’t work for me, at least not for tech talks and training.

It’s an amazing mic to record voice or instruments in a very quiet environment, but for me, it didn’t help at all. I could hear the keyboard (and the fans) in even better quality than before! But I could still hear them, that’s the problem.

(The Blue Yeti has multiple modes: cardioid, stereo, etc.; yes, I tried them all; no, it didn’t help.)

The Blue Yeti is now in our living room. We use it when videoconferencing with friends, and apparently it’s pretty awesome at that. I also used it a few times in the past to record a cello.

Cheap lav mics

Lav mics are these tiny mics that you typically clip to your collar. “Lav” stands for “lavalier”; they are also called “lap mics” (which stands for “lapel”). They’re probably the most common type of mic when speaking at conferences.

The ones we use at conferences are usually high quality, wireless mics, and are pretty expensive.

But you can also get some really cheap wired ones. That’s what I did; I found a cheap two-for-one pack with extension cords as well as adapters to plug them to either a mic input, or a combined mic+headphones input. It was so cheap that I didn’t have much hope about the mics themselves, but I thought the adapters could be handy.

It turns out that these mics were great when plugged into my phone. The sound quality was excellent. However, when plugged into my computer (either directly or through a cheap USB audio interface) there was a ground hum. (The ground hum went away when unplugging the HDMI cable; not exactly an option when presenting to an audience.)

I now use one of these mics in combination with the next one, which is …

RØDE Wireless Go

So I kept looking, and eventually acquired a RØDE Wireless Go. It is a wireless mic with a receiver (that you plug into a 1/8in jack audio input) and a transmitter. The transmitter has a built-in mic, but also has a 1/8in jack mic input (allowing to use a fancy lav mic if you have one).

Conceptually, this is very similar to the belt packs that are ubiquitous on the conference circuit, except that it’s much smaller (which is a plus for me when travelling). It is so small that you can just clip the transmitter directly to the collar of your shirt or t-shirt. It will be visible, but for tech talks, I don’t consider it an issue. It might actually give you some extra cyborg style points if you’re into that. The embedded mic is great, but according to some subjective testing, the quality is even better if I use one of the abovementioned lav mics and put the transmitter in my pocket.

It has one serious downside, though: instead of using AA batteries, the transmitter and the receiver have integrated batteries that you charge over USB. The batteries will last 6-7 hours. This is totally fine for a half-day workshop; but to go through the entire day, I need to recharge them during the breaks.

Why do I bother with a wireless system instead of just plugging it in? For starters, my cheap lav mic has this ground hum problem when it’s plugged in directly into the computer. The issue doesn’t show up when going through the Wireless Go kit. Also, even if I am going to move around on stage, I’m trying to have as little wires as possible. And when I want to take a quick break away from the computer, having to remove the mic (and then re-equip it again later) is annoying. The most important bit is to remember to turn it off or mute it before going to the bathroom. (Honestly, that might be one of the arguments in favor of a wired mic!)

Gaming headsets

When I do group conf calls, I get the opportunity to listen to everyone speak, and the folks with the best audio are often using gaming headsets, like the Sennheiser Game Zero or the HyperX Cloud. If you have one of those, try it out. You may or may not like how you look with these big bulky cans on your head, and that little operator-style mic stick in front of you, but I guarantee that your audience will love how you sound.

Earbuds

This is a budget-friendly option!

You can also use earbuds that have a mic, like the ones we sometimes use with headphones. These will already be vastly better than using the integrated mic of your laptop.

Don’t go too cheap though. Make sure that there is no weird hum or crackling sounds when you touch the cable. Also make sure that the mic doesn’t pick up the rustle of your shirt, or jewelry that you might be wearing. (Particularly important if you have nice, big earrings; if they touch the wires of your earbuds when you move your head, the result will be very unpleasant for your listeners.)

Bluetooth headsets

You can use a Bluetooth headset to listen, but whatever you do, never use the mic part of any Bluetooth headset: it won’t sound good. (Yes, even with $200 headsets or Air Pods or whatever.)

Some Bluetooth headsets advertise a bunch of fancy codecs (like aptX) to get super-duper audio quality, but that’s only for the audio going to your ears. The headset is then usually using the A2DP profile. As soon as you use the headset mic, it switches to the Bluetooth Headset Profile (HSP), which uses different codecs. These codecs are made to encode voice to be carried by the telephone network. When placing a phone call, you won’t see the difference; but when streaming it will be very noticeable.

(If you want to dive into Bluetooth codecs and profiles and other details, you can check this excellent Audio over Bluetooth blog post.)

USB audio interfaces

Since I had ground hums with the built-in mic input of my computer, I tried other options as well.

I tried with a Focusrite Scarlett 18i20 and a PreSonus Studio 24c. Unfortunately, plugging 1/8in jack mics in these interfaces wasn’t straightforward.

So instead, I’m using a cheap Audio-Technica ATR2USB. Don’t be fooled, it’s nothing fancy; I got it for $10 a few years ago when I was messing around with Raspberry Pis.

It’s not as much for the quality upgrade (I didn’t notice any difference between the built-in mic input, the ATR2USB, the Scarlett, and the PreSonus interfaces), but for convenience: the mic can stay plugged into the interface, which is plugged into a USB hub or docking station, and I can plug/unplug everything via the hub or docking station instead of fiddling with a dozen of cables.

Also, when I list my audio inputs, instead of “Built-in Audio Analog Input” I will see something like “ATR2USB Audio Input” and I know that this is my mic. It’s less mental load for me.

Other options

I realize that many folks might be shocked by the fact that I’m using a $10 lav mic and a $10 USB interface, with a $200 wireless pack in between.

I’m using the wireless pack to have less wires. It helps to feel “unencumbered” when presenting.

And the reason why I’m using the $10 mic and interface is because I couldn’t perceive a difference between them and $200 mics and interfaces. Or rather: somebody listening to me over a Zoom call couldn’t hear the difference when I switched from one mic or interface to another. It might be a whole different story if you’re recording; and perhaps I did something wrong that was leveling down my audio quality.

Lights

Priority: high

I’ve put lights before the camera. Which makes sense if you think about lights … camera … ACTION! but also if you consider the fact that the best camera in the world won’t give you a nice image if you don’t have good lighting. In fact, it will easily be outperformed by a very cheap webcam (including your laptop’s integrated camera) with proper lights.

Elgato Key Light

I’m going to admit that I went a bit overboard here. I got three Elgato Key Light, because I’ve seen someone seen that they were the best thing since sliced bread and that I didn’t have much time to do my research. They’re expensive, and I could probably have gotten just two.

But you can control them over a REST API, so you’re damn sure as heck I’m not sending them back!

These lights are LED panels giving a very smooth light. They only give you white light (not full colors) but you can set the brightness and the temperature. The temperature setting lets you make them white-slightly-reddish to white-slightly-blueish and everything in between.

You can control the lights with:

I fiddled a bit with leglight, a Python library to control these lights. It works. The Android app is enough for my needs anyway, but if some day, I want to code some automation to change the lights with a keyboard shortcut or the Stream Deck, I know it’ll be possible and easy.

August 2020 update: eventually, I wrote 10 lines of Python so that I could control the lights from my Stream Deck.

Note that the lights come with telescopic arms that you can easily clamp on your desk. The arms and lights are very lightweight, so you don’t need to screw the clamp super hard. At the end of the arm, there is a kind of ball and socket joint that lets you orient the lights any way you like.

It’s interesting to note that the lights are screwed to the arms using what appears to be a standard 3/8-16 screw. I happen to also have a camera tripod using the same screw, which means that I can put an Elgato Key Light on my camera tripod, or conversely, that I can put a camera on the arm mount of the light.

Pictured here: two mounting arms that came with the Elgato Key Lights. On the left one, that’s a DSLR in portrait orientation. On the right one, an Elgato Key Light, on top of which I’ve installed a Logitech StreamCam.

How I’ve put my lights

I did some reading on Three-Point Lighting and that’s what I tried to achieve.

I placed one light on one side (close to my main camera), another light on the other side (set less bright), and the third one on the back. I’m going to keep experimenting, because that’s a topic I know nothing about, and I’m not even a good judge of what a good result should look like.

In the evening, I sometimes use the lights as desk lights (setting them on the lowest brightness) but that’s mostly because I don’t have a good desk lamp at the moment. For reference, other people might find these lights way too bright! In fact, if I ever implement some automation with these lights, it might be to have a quick off (or dim) button so that my partner can walk on the set without getting a headache because of how bright these are.

Other options

If you don’t want to pour that much money in lights, there are many other options. I’ve seen people get excellent results with cheap bedside lamps. Anything that gives you a white diffuse light (for instance something with a white, opaque lampshade) might work, as long as it’s uniform (so that it doesn’t cast too harsh shadows) and not too bright (so that it doesn’t make you wince and get headaches over time).

If you are next to a window with lots of daylight, make sure that the window is not behind you, or you might show up as a shadow or silhouette against the backlight.

Internet connection

Priority: high

The next most important thing (still before cameras, in my opinion) is a stable, reliable internet connection.

Because if your internet goes down, you might have the best equipment in the world, your audience won’t see anything. Duh.

I have two connections here: one is DSL, the other one is cable. It might feel overkill, but it still costs way less than what most US families pay for a cable TV+internet bundle.

To make the setup as simple as possible, we have a WiFi router (we use a Netgear R6400 but honestly anything will do), and we then plug that router to either the DSL router, or the cable router (both provided by the telephone and cable companies respectively).

Using this extra router means that to switch the connection, we just have to plug “our” router to the cable or DSL router, and everything follows suit: we don’t need to tell our computers, phones, TVs, whatever, to switch to another WiFi network. (Some devices are wired anyway.)

I already had one network glitch while streaming an online training, and all we had to do was move that network cable, and we were back online in a couple of minutes.

From left to right: cable router, home router, and DSL router.

Cable router, home router, DSL router, front view

Cable router, home router, DSL router, rear view

All I have to do to switch connections is move the white cable with the blue jacket from the yellow ports on the right, to the yellow ports on the left. Way easier than fiddling with routing tables on a Raspberry Pi in the middle of a training, if you ask me!

Cameras

Priority: high

Ah, finally, we’re talking about cameras!

This section might be anticlimactic, because after testing a bunch of different things, I end up using simple USB webcams. The main thing is not the quality of the camera itself, but the fact that it’s easy to place it wherever you need it. That’s why the built-in webcam of my laptop isn’t great: it’s basically a nose cam!

Let’s see what I use, and then I’ll describe at lengths what I tried.

TL,DR

I’m using a Logitech C920s as a “face cam” placed right on top of the monitor right ahead of me, and a Logitech StreamCam in portrait orientation, to get a 3/4 angle, half-body shot.

I use the former to have my face in a corner of the screen when doing demos in the terminal, and the latter to get a more “present” feel, e.g. on title screens or during Q&A. You can see an example of both layouts in my talk at FiqueEmCasaConf. (That link will take you straight to a point where I’m about to do a transition from one layout to the other one.)

Now, let’s see the various things I tried before getting there …

Logitech C920s

When I realized I needed a webcam, I was hesitating between the Logitech Brio, the C920s, and the Razer Kiyo.

The Brio supposedly has better quality; the Kiyo has a built-in LED ring. But both were out of stock and all I could find was the C920s, so I promptly acquired one before it went out of stock too.

Pros:

Cons:

I don’t know if these two issues are hardware or software related, so I will cover them in detail in part 4.

I use the webcam as my “face cam”. It is set on top of my “confidence monitor” right ahead of me.

DSLR / mirrorless cameras

Some folks are using DSLR or mirrorless cameras as webcams, and I wanted to give this a try.

Supposedly, you can get much better picture quality with a DSLR or mirrorless camera, than with a webcam.

Mostly because the sensor on a DSLR or mirrorless camera is much bigger than on a webcam, so it will receive more light per pixel, and will therefore perform much better in low lighting conditions. With the right lens (e.g. a 50mm equivalent with a large aperture), you can get amazing evening pictures without using a flash light. Cameras also have way more settings than webcams.

In practice, though … My experience was very different.

TL,DR: the bigger sensor of a nice camera helps with low lighting conditions, but if you have proper lighting, a webcam will do just as well. Also, cameras are designed to be operated by someone placed behind them, not in front, so manipulating settings can complicated.

There are at least two ways to use cameras as a webcam:

Important: not all cameras support these modes! Some cameras might support none of them. Then you’re out of luck. Some cameras might support them with limitations.

Either way, if you’re using a camera as a webcam, you will probably need a way to keep it powered on for long periods of time. Some cameras might have DC adapters. Mine didn’t, but most cameras can be powered with dummy batteries: it has the shape and connector of the normal battery, but has a power cable that runs to an AC adapter. You will need to get one that is specific to your camera model (since different cameras use different batteries).

My partner has a Canon EOS1100D (also known as the EOS Rebel T3 in the US). I got it to work with both USB and HDMI. I also have a Sony NEX-C3 with some nice lenses. Unfortunately, that one didn’t work too well.

EOS1100D over USB

I will give more details in part 4, but the general idea is to get a “live view” from the sensor of the camera, and then turn that into a standard webcam device.

It worked reasonably well, but it was “only” 720p, so I was wondering if I might be able to use the camera’s HDMI output with an HDMI capture interface.

EOS1100D over HDMI

The challenge here is to obtain what is called “clean HDMI output”. What does that mean? On many cameras, the HDMI output was designed to provide a bigger monitor for the camera. So on top of the image, we get a lot of information about the camera’s parameters (aperture, exposition…), image characteristics (histograms and such).

Example of "unclean" HDMI output

Above: example of “unclean” HDMI output. Arguably, I could crop the exposure stops on the right; but the focus indicator, the green rectangle in the middle, is more annoying!

Below: example of “clean” HDMI output.

Example of "clean" HDMI output

It turns out that with this EOS1100D, the only way to get clean HDMI output is to install a custom firmware. Yes, you read that right!

I gave it a try, and installed Magic Lantern on the camera. I’ve done a bit of reverse engineering a while ago, and I must say, Magic Lantern is mind blowing. Mad props to the folks who put in all that work!

After installing Magic Lantern, I could use the “Clear Overlays” feature to remove the focus rectangle. But after 30 minutes, the camera turns off the live view automatically! Unless you keep the shutter button half-pressed. Of course, keeping the shutter button half-pressed is not realistic while streaming … But there is another option in Magic Lantern to make the half-shutter button “sticky”, i.e. you press it once, and it behaves as if you were keeping it pressed. Press it again, and it releases it.

Alright, was it worth all the trouble?

Not so much, alas.

I’ll let you judge for yourself with the screenshots below. The first picture uses natural light. The second picture uses my Elgato Key Lights.

Comparison of my cameras, with natural light

Comparison of my cameras, with key lights

Left: EOS1100D with HDMI capture interface. Center: Logitech StreamCam. Top right: Logitech C920s. Bottom right: integrated webcam (in Thinkpad P51).

In my opinion, the colors on the EOS1100D (on the left) are a bit more red, and less flattering. I’m aware that this is very subjective. I’m also aware that it might be possible to fix that by fiddling with the camera settings. However, given that the camera is placed on an arm mount, accessing the settings it quite inconvenient. There might be a way to access the settings over USB, but I didn’t look into that (yet).

This comparison also shows the effect of lighting. I didn’t spend much time tuning the lights by the way; just turned them on to take that shot (40% brightness on the light on the right, located next to the EOS and the StreamCam; 20% on the lights on the left and behind me).

It also shows that the angle of the integrated webcam isn’t great, except to emphasize my beard and nostrils!

Sony NEX-C3

Unfortunately, that camera doesn’t seem to support live preview with gphoto2. It does have HDMI output, but it’s not clean HDMI output. It’s a much older camera so support is fairly limited. I have a few nice lenses for it, but I decided that it was not worth the time investment at this point, and I left it aside.

Logitech StreamCam

For my first training, I used the C920s and the EOS1100D. At the end of the training, since it had been successful and I was convinced by the usefulness of the two-cameras setup, I decided to buy another camera, and managed to find a store that sitll had theLogitech StreamCam in stock.

It seems (to me at least) vastly superior to the C920s. The connection is USB3, so it’s not plagued by the same bandwith issue (more on that in part 4).

Also, it can be mounted in portrait or landscape, which is great because I was using the EOS1100D in portrait anyway. It comes with both a clip-on mount and a screw mount. I clip it on top of one of my lights but I could also mount it on a tripod if needed.

And of course it’s an UVC device so it works without requiring special drivers.

Using your phone as a camera

If your phone has a good camera, you might be able to use it as a webcam.

I did some experiments with IP Webcam and got it to work. I didn’t end up using it, because I don’t have an arm or holder that would help me prop up the phone in a good position. I will give more details about how to get that to work in part 4, since my experiment was Linux-specific.

Razer Kiyo

August 2020: I got a Razer Kiyo when they got back in stock, because I needed an extra cam and I was curious about the LED ring feature.

The video quality on the Kiyo is pretty good (consistent with the C920s and the Streamcam). However, the LED ring is quite underwhelming. Sure, it’s better than nothing; but the light is not very flattering, especially compared to what I get with the key lights. I imagine that it could be useful when traveling, to have a good webcam without carrying a separate light?

Monitors

Priority: high

For me, it’s important to have at least two screens:

Note: there might be better, official names for these screens! If you know them, please let me know, I’ll be happy to update my terminology.

This is what my setup looks like:

Streaming laptop on the left; work laptop on the right

On the left, that’s my streaming laptop. The internal monitor of that laptop, currently showing a terminal, is my “captured screen”. The external monitor above is my “control screen”, with OBS Studio as well as a browser window (shown here to control a Google Slides presentation deck). On the right, that’s my usual work laptop. The internal monitor is for whatever I want to do outside of the streaming session, during the breaks, etc.; and the external monitor shows a Gitter chat window used to interact with the audience.

Captured screen

This screen is what I want to show to the audience. It may or may not be visible at all times (for instance, at some point, I might switch to a thing where the audience sees me, but not my screen; or I might put a “break” screen showing countdown indicating when we will resume). But I keep in mind that it could be shown to the audience at any point, so I must not show any sensitive information there.

That screen shouldn’t be too fancy, because the goal is to capture it and stream it. Using Hi-DPI (retina) displays or non-standard aspect ratios might be counter-productive here.

In practice, I use the built-in monitor of my streaming laptop.

Control screen

That screen is the one that the audience doesn’t see, and has all the things that I need to manage my stream and the interaction with the audience.

In practice, I have OBS (the video compositing and streaming software that I use) on that screen, so that I can see exactly what I’m sending to my audience. (More about OBS in part 3!)

If I need to run a quick command, load up a password from my password manager, etc., I would also do that on that screen.

That’s also the right place for chat windows, so that I can keep an eye on them without having to constantly bring them up on the captured screen.

That screen can be as fancy as you like! For instance, it would be a great use for these huge, ultra-wide monitors. If your setup allows it, you could also use multiple monitors there. Another possibility is to have another laptop, or a tablet, for some extra screen estate. There are many things that don’t need to run on the main streaming laptop, for instance:

Headphones or earbuds

Priority: high (if there is voice interaction) / low (otherwise)

If you will have voice interaction with other participants, please in the name of everything that is holy, use headphones.

Yes, there are echo cancellation and other systems to allow using a mic with a speakerphone at the same time; no, I do not rely on them. At best, they degrade the audio quality a bit; at worst, you get the most obnoxious echo or feedback sounds.

I’m using a simple pair of earbuds, but I’m considering getting AfterShokz Aeropex bone-conduction headphones. Why? For a few reasons.

  1. Earbuds are OK for an hour or two, but for a half-day or even full-day training, they’re less comfortable. I’m told that the Aeropex are extremely comfortable to wear, even day long, and the battery apparently lasts long enough, too.
  2. Going wireless! Just like for the wireless mic, I would love to avoid being distracted by the extra wire.
  3. I would like to be able to keep hearing other sounds. Yes, some people would rather block outside interference, and sometimes, it’s what I want; but if I’m streaming a course all day long from home, it’s useful to be able to hear the doorbell, or if my partner calls me, or notifications on my phone (which I can silence if I don’t want to hear them otherwise).

May 2020 update: I got the Aeropex, and I’m extremely happy with them. They are very light. So light, that I can carry them all day long without being bothered by them. (It’s almost like wearing glasses.) The battery lasts almost all day. As noted above in the section above Bluetooth headsets, I do not use the mic of the Aeropex; I only use them to listen.

Stream Deck

Priority: nice-to-have

The Stream Deck is basically an external control device with a bunch of programmable buttons. I got it thinking that there was a 50/50 chance that it would just be a useless gadget; but I actually like it quite a bit.

It’s not just programmable buttons: each button has an embedded LCD screen, so I can put a custom label or icon on it.

I programmed it so that a row of buttons lets me change scenes in OBS. Of course, I could use keyboard shortcuts, but it helps a lot to have a dedicated device to do that. Having labels on the keys to remind me which key corresponds to which layout.

To be fair, if you have a fancy keyboard with programmable keys, and can add custom labels next to these keys, you’ll be set just as well.

On the Stream Deck, I also have buttons to engage a break timer and adjust its duration. I’ll tell more about that in part 3.

In the future, I plan to also use it to adjust lights; at least to get a “master on/off” switch.

HDMI capture device

Priority: low (unless…)

An HDMI capture device is useful in at least two scenarios:

I initially intended to get the Elgato Cam Link, but it was out of stock, so I looked for other options. I wasn’t going for a particular model; I just bought a couple of adapters and prayed that at least one of them would work.

ezcap265C

The ezcap265C is an UVC (USB video class) device, just like most webcams. This means that it follows a specific spec and doesn’t require any drivers (just like USB sticks and other external disks don’t require drivers, because they follow the USB “mass storage” specification).

It shows up as a webcam, and it “just works”. It’s important to connect it on an USB-C or USB3 port, because it appears to only support raw uncompressed capture in YUYV format, meaning that capturing 1080p at 60 fps requires about 2 Gb/s of bandwidth!

Some folks asked me about latency. I didn’t see any latency with that device. I understand that some devices might use H264 encoding, making them suitable for use on USB2; perhaps the H264 encoding adds the latency.

Pengo HDMI grabber

I was less lucky with that device. It is supposed to be a bit better than the other one. In particular, it has HDMI pass-thru, meaning that you can plug a screen “after” it, to see what’s getting captured on that screen.

Unfortunately, it didn’t work. It might be defective, because when I plug it on one of my laptops, it shows up, then disappears after a few seconds, then shows up again, and so on. On the other laptop, it randomly shows up (but not always), but when it shows up, it doesn’t work and sometimes after a while disappears again.

(Technically, when I say “show up” and “disappear”, I mean by checking Linux kernel messages that typically indicate device connection and disconnection.)

Green screen

Priority: very low

The room where I’m streaming tends to be a bit messy, so I thought that a green screen could be a good investment. Unfortunately, its shipping was delayed by a few weeks, so I just cleaned up a bit, and ended up arranging the cameras differently anyway. When my green screen arrived, I didn’t unpack it for a while; and eventually I used it to show myself in front of a shipping container terminal during a presentation (while breaking the fourth wall at some point by lowering the screen to remind people that to prevent the spread of COVID-19, we should stay at home anyway).

You can definitely do funny things with a green screen but I don’t see it as an important investment.

Moreover, when using multiple cameras, it can be tricky to have an uniform green background everywhere!

Overhead scanner or camera

Priority: low or very low

My partner has a CZUR Aura scanner. It looks like a desk lamp, and it’s essentially a webcam mounted in a way that it can “look” at a document placed under it.

I tried to use it as a virtual whiteboard. During a training, if I need to make a quick diagram, I could just sketch it on actual paper placed under the camera.

Unfortunately, it’s not fully compliant UVC device. I was able to get it to work (kind of) in low resolution, but it was very finicky. Mistakenly switching up the resolution or frame rate could cause it to hang, requiring to reboot the scanner.

Another (more reliable) option would be to use a normal webcam or DSLR (as explained earlier) on some kind of overhead arm. This would be particularly useful if I needed to show objects (e.g. for a “maker” stream, or when programming embedded devices, Arduinos, Raspberry Pis, etc).

Another option might be to use a tablet to draw things if needed.

This wasn’t really a hard requirement to me; it was mostly an experiment, and so far I don’t miss it.

Conclusions

So that’s all I tried so far!

To recap, I am using:

I also have, but I’m not (or barely) using:

In part 3, I will describe my software setup. It’s based on OBS Studio, which is available on Linux, macOS, Windows.

In part 4, I will describe how I got OBS (and associated paraphernalia) to run on Linux. In fact, I even got everything running in Docker containers, and I’ll also explain why.

This work by Jérôme Petazzoni is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.