Getting the most out of your webcam: tinychat, screen capture, and picture-in-picture

tinychat, broadcasting a screen capture with picture-in-picture portrait, hand aflame

You want to show off your craptastic code while you sling fireballs at the camera BioShock style don't you? Of course you do. Let's get started.

Download & install

Let's walk through a setup using the phenomenal tinychat.

Tinychat is a 100% free, no downloads or signup required website that lets you easily video chat with others. You can create a video chat room and invite up to 10 thousand people to join in with you. Even though tinychat is simple, it's still powerful and you can easily customize and moderate your rooms with skill.

Only the room creator need log in (with TinyChat, Facebook, MySpace, Twitter, etc.). Jump into a room, like http://tinychat.com/anything_goes_here_whee. When you click Start Broadcasting always choose VHMultiCam. This is the selection you will always make in every application. Proceed.

Save yourself some future work and right click your video and select Settings. Specify that you want your browser to remember to always give tinychat permission to access your mic and camera.

Adobe Flash Player mic & camera settings

So VH Multi Camera Studio launched automatically, this is good. This is the one being utilized (by tinychat). Opening it manually wouldn't have the desired effect. This is where we can create fun and magical combinations and presets.

VH Multi Camera Studio

In the View menu set the resolution to 320 x 240, this is what tinychat and such want to see. Add sources with the menu, position them and resize them, drag and drop them in the list to adjust z-ordering.

The only obnoxiously technical part here is adjusting the settings for each source you add. Right click them and enter Video Capture and/or Video Capture Format under Setup. Unfortunately the Output Size of my camera always defaults to 160 x 120, which is a horrible image. I can get 30 FPS up to 640 x 480, so I have to adjust this each time it's added. Switching to presets that use the camera keep the settings though, so a secret is to add my camera even to presets that don't use it, just hidden behind.

Webcam Video Capture Format Properties

Now we'll configure VH Screen Capture Driver for mouse tracking screen capture. (It can capture and resize windows and other neat things too.) Add VHScrCap to a preset somewhere and enter its settings dialog. Here is what I use:

VH Screen Capture Driver Settings

Check the box Track screen under the Capture tab as well. The notable setting here is output size at 400 x 300. For other 4:3 settings I found 320 x 240 to be too zoomed in, and 640 x 480 too zoomed out. This setting requires you re-initialize VHScrCap to take effect, so jump to another preset and back.

You may have noticed the Show frame option too. This paints a nice red box to illustrate what part of your screen you're capturing. Unfortunately the borders are quite thick, and the box can glitch and freeze. My friend improved upon this considerably: RedBox.zip.

Finally, ManyCam. ManyCam is a free program with lots of fun features and effects. It's awesome really. You can pick from any source in ManyCam to represent it in Multi Camera Studio (and thus tinychat). Often you'll want ManyCam set to your camera itself. When doing so you'll get a better image if you force the size to something higher, that your camera supports.

ManyCam source selection

ManyCam output size

ManyCam flame effect

ManyCam fire setting

You're probably thinking, "Ooh! So I don't really need presets in Multi Camera Studio for my camera itself, just ManyCam!" That's true, except in my case the quality is a bit worse through ManyCam, observe. (ManyCam is on the right.)

Quality comparison between camera direct in Multi Camera Studio and camera through ManyCam in Multi Camera Studio.

So I have extra presets instead. That's about it! There's definitely a ton to figure out yourself. For instance when it comes to FPS I've let everything hover around 30, often sticking to defaults.