Anyone can sign up for an account at a video-streaming site like UStream.tv or Justin.tv and start streaming themselves to the world, but making a show look clean and professional takes a lot of work, know-how, and experience. That's why I thought I'd take you through some of the lessons I've learned while shooting over 200 episodes of my Web TV show about Starcraft II, the Day Daily.
This guide should get you past most of the common problems, but be prepared for some detours along the way. Just remember: Don't be too hard on yourself, and have fun.
The Three Ingredients of Webcasting
Any successful live Webcast has three main components: A screen capture program, a video encoder, and an Internet site that will stream your feed out to your viewers.
First you'll need to capture the audio and video that you want everyone to see. For the Day Daily, I want my viewers to see what's on my computer screen and hear what comes out of my speakers, so I use a screen capture app called VH Capture, and a driver called VH Screen Capture Driver. VH Capture takes that audio and video and feeds it to my video encoder app (Flash Media Live Encoder), which compresses the audio/video so it's easier to stream over the Internet. Finally, this encoded version of the show is sent to a Website that can distribute it. Let's start with the screen capture app.
Editor's note: VH Capture is no longer officially supported by the original app developer.
How to Capture Your Screen
For this tutorial, we're going to stick with VH Capture, although a number of screen capture programs are available. Start by downloading and installing VH Capture, then watch the above video for instructions on how to set it up. Be careful not to install the 64-bit version, as that version currently does not work properly in this setup.
If you open VH Capture and do not see the "Video compression" and "Audio compression" boxes, you probably don't have your microphone properly installed. Also, the options that you have under video and audio compression will depend on the codec pack you've installed (I use the K-Lite Codec Pack), as well as on the output file type that you've selected (I use .avi).
When you're adjusting your bit-rate settings, you should keep an eye on your frame rate, also known as frames per second (FPS)--higher FPS means smoother video. While the screen capture lets you set the desired FPS, the actual number is displayed in the program in the bottom right corner once you hit record. When your settings are too high for your computer to handle, the actual FPS will drop below your desired FPS. If this happens, try changing the type of video and audio compression, the bit rate, or the FPS to a level that your computer can handle.
The right settings for you will depend on your computer's capabilities and your specific show. Each compression type has a different tradeoff between the computing power required and the quality per byte. However, you generally want to tend toward higher bit rate and lower compression in your screen capture program, because we'll be able to better tweak and compress the video in the next step with the video encoder app. For our show, we use the H.264 codec, which gives some of the best quality per byte (1000KBps for a 30-FPS, 854-by-480-pixel stream is pretty good) but will also use most of your computing power.
Getting audio to work properly will depend heavily on your sound card. The important steps are to ensure your microphone is set to play back through your speakers (so your audience can hear both your PC sounds and your mic sounds), to ensure that nothing you want to hear is muted, and to enable a setting called "Stereo Mix" if available. These settings can be found in Windows in the Control Panel under "Sound."
Make sure to write down your frames per second from this section--using a different FPS for the steps in the next section causes ghosting and other undesired effects. Also, remember your audio sample rate (we use 44100 KBps). Finally, remember the width and height of the recording window (often 854 by 480 or 1280 by 720 pixels).