This example will cover using a ~$15 device to capture video, Justin.tv to broadcast, and VH Capture software to archive.

Part of getting FIRST into the public eye is to increase accessibility to live webcasts and archived videos of competitions. Hopefully this documentation will make it easier for volunteers to get as many events webcasted and archived as possible.

Webcasting and archiving can be done individually, however doing both on one computer is most efficient. This page outlines a low-cost and easy to set up process to webcast and archive on a single computer.

If you have any questions, please contact Greg Marra or EugeneF on ChiefDelphi.

Required Hardware & Software

  • Internet connectivity at the event
    • Work with event coordinators
    • Preferably wired (better speed and reliability, won't interfere with FMS)
  • Video/audio feed connectivity at the event
    • Work with event coordinators
    • Typically a composite video signal (yellow) with stereo audio (red/white)
  • Adobe Flash Media Live Encoder v3.2 (free)
  • VH Capture and VH Multi Cam Studio (both included in download) (free)
  • Video capture device
    • These can get expensive
    • Affordable, tested solution for composite video to USB input: Monoprice: USB 2.0 Video Grabber with Audio (~$15)
    • Make sure the video capture device can handle the inputs available at the event
  • Computer
    • Needs internet connectivity
    • Must be able to interface with the video capture device (typically USB)
    • ~5 GB hard drive space (depends on video quality & number of matches)
    • Dual core or more processor preferred
    • Line In/Microphone input
    • 3.5mm Stereo to RCA audio adapter
  • Justin.tv account (free)

Setting up the Hardware & Software


8/1/2012 edit: Good program here: http://www.ffsplit.com/ Will update 2013's archiving page with information about FFsplit.

Connecting the Hardware

  1. Plug in the video capture device into the proper port on your computer
  2. Connect the composite video feed (yellow) to the video in port on the video capture device
  3. Connect the audio feed (red/white) to the 3.5mm Stereo to RCA audio adapter
  4. Plug the 3.5mm Stereo to RCA audio adapter into the Line in/Microphone port on your computer


  1. Create a Justin.tv account.
  2. While logged in, visit http://www.justin.tv/broadcast/adv_other and click "Show" next to "Stream Key:'
  3. Copy and save your stream key.

Video capture device

  1. Install the necessary drivers and/or any software that comes with the device
  2. If software is included with the video capture device, hook up the video capture device to a video source, such as a DVD player, and confirm that video can be displayed on your computer through the included software

Adobe Flash Media Live Encoder

This software broadcasts the video to Justin.tv.

  1. Open Adobe Flash Media Live Encoder.
  2. Adjust the video and audio settings. Suggested settings are below.
  3. Set "FMS URL" to rtmp://live.justin.tv/app
  4. Set "Stream" to the stream key you saved when you set up your Justin.tv account.
  • Suggested video settings:
    • Device: VHMultiCam
    • Format: H.264
      • Wrench icon: Profile: Main, Level: 5.1, Keyframe Frequency: 3 seconds
    • Frame Rate: 30 fps
    • Input Size 720x480 if you're using a composite video source
      • The resolution can be higher if you're using a higher quality video capture device.
    • Bit Rate: Check only the first box, ideally ~3000-4000 Kbps
      • Bitrate will depend on your internet connection. You can check your upload speed at http://www.speedtest.net. Set the bitrate to around 500 Kbps (0.5 Mbps) less than your upload speed. There shouldn't be a need to set it to more than 4000 Kbps.
    • Output Size: Same as "Input Size"
    • Crop: Unchecked
    • Deinterlace: Unchecked
    • Timecode: Unchecked
  • Suggested audio settings:
    • Device: Line in/Microphone
    • Formate: MP3
    • Channels: Stereo
    • Sample Rate: 44100 Hz
    • Bit Rate: 96 Kbps
    • Volume: Adjust so that the volume preview does not max out

VH Multi Cam Studio

This software enables both recording and broadcasting from one piece of hardware.

  1. Open VH Multi Cam Studio
  2. Under "View," set "Resolution" to "720x480" if you're using a composite video source. The resolution can be higher if you're using a higher quality video capture device
  3. Under "View," set "Frame rate" to "30 fps."
  4. Under "File," select "Add Camera," and select the video capture device.
  5. Resize the video by hovering over it and dragging the white border until it fills the frame.

VH Capture

This software records the video.

  1. Open VH Capture
  2. Browse (near the bottom) for a location to store saved videos
  3. Set the video capture source to VHMultiCam
  4. Click on the ">" next to browse and make sure it's set on "avi"
  5. For "Video compression," use a MPEG-4 codec
  6. Click on the down arrow in the video compression section to get to compressor settings, and set the data rate to 6000 Kbps (6 Mbps) if the option is available.
  7. Set the frame rate to 30
  8. Set the audio capture source to Line In/Microphone
  9. Leave "Audio compression" on "None."
  10. Record a short clip, paying attention to the CPU usage (shouldn't be maxing out your CPU), Data rate (~10 MB/minute), and Avg. fps (~30).
  11. Verify that the output file plays, is of reasonable quality, and that sound levels are appropriate.

During the Event

Let everyone know about the webcast! TBA Gameday provides webcast and score aggregation during the events. To submit your webcast, visit the webcasts page.

If you want to be listed on NASA's website, email drew.r.price[at]nasa.gov with the url and info about your team/organization.

  • The stream should be started before the opening ceremony and stopped after the awards ceremony.
  • The recording should be started and stopped before and after each match. DO NOT include the announcers introduction, we are just looking for the robot action.
    • If no volunteer is able to start and stop the video for each match, a continuous recording can be made, but will require more work and trouble later to parse. See Splitting the Video Into Individual Matches for more details.
  • To start streaming, press "Start" in Adobe Flash Media Encoder.
  • To stop streaming, press "Stop" in Adobe Flash Media Encoder.
  • To start recording, press the record button in VH Capture.
  • To stop recording, press the stop button in VH Capture.

After the Event

Splitting the Video Into Individual Matches

If someone manually started and stopped the video for each match, you may ignore this section.

Splitting the video into individual matches can be done with whatever video editing program you would like, every Windows machine comes with Windows Movie Maker and every Mac comes with iMovie. As for the output video and naming standards please see below!

  • DO NOT include the announcers introduction, we are just looking for the robot action.
  • End the video once the play has stopped, if you like you can cut in the final score (this is a bit of a pain, and TBA already has it listed on their site anyway).

Upload to YouTube

For the best possible quality, use Youtube-recommended settings when rendering/saving your videos.

This spreadsheet tracks videos on YouTube so we can add them to TBA.

Naming Rules for TBA

Example File Names:

  • ct_001.mp4
  • fl_qf2m1.wmv
  • ca_fm1.wmv

Naming Rules:

  • Two or three character event abbreviation in lowercase, e.g. "fl"
  • Underscore, "_"
  • XOR:
    • Qualification: Use THREE digits, "001", "047", "108".
    • Elimination: Use "qf4m2", "sf2m1", "fm3"
    • Awards: Use "award_" + AwardDescription.
    • Opening: Use "openingremarks_" + "friday" or "saturday".
    • Closing: Use "closingremarks_" + "friday" or "saturday".
    • Else: any string that does not begin with "qf", "sf", "fm", or a digit.
  • ".wmv" , ".mov", ".divx" , ".whatever"


  1. Always use lowercase, please.
  2. No spaces in a filename, please.
  3. Sometimes a match gets replayed- name the one that counts in the standings as "fl_001.wmv". The one(s) that do NOT count, "fl_001bad1.wmv", "fl_001bad2.wmv", etc...

Who is Archiving What?


All tips are in reference to the product mentioned earlier. See [1]

  • My Video is Black and White/Blinking
    • Check your input source with an external monitor if possible (Yes I mean plugging the yellow cable into the monitor instead of the USB
    • If the source isn't the problem insert the install disk into your computer
    • Right click on it on your My Computer list and select open
    • Run setup.exe located in the AV Grabber folder
    • After installing restart your computer
    • Upon reboot launch EZ Grabber
    • Set video format to NTSC_M_J and push ok and close the entire program
    • Open Adobe Flash Media Encoder and change your Video>Device to VC500 Video
    • If this doesn't work, Do the math! Play around with all three programs, Adobe Media Encoder, VH, EZ. You'll notice that all programs "fight" for the video feed and periodically switch back and forth between them as so. (You may need to change your Device to VH
  • My Audio Sucks/Isn't working
    • Increase the bitrate/Check the Source
    • Push comes to shove try buying a USB sound card or a PCI one if your running the webcast on a desktop
  • My video is low quality
    • Up your bitrate
  • What is bitrate?
    • The speed at which you upload video. Think of it as a pipe, the bigger the pipe, the more water can flow through. Same for the interwebs, the bigger the bitrate, the better the quality.
    • There is only so high you can go. RCA (The connection used by this tool ie Yellow, red, white cables) Max out at about 480p. (720x480)
  • There are black bars on the side of my video
    • The input of the video is most like in 3:2 (For ever three pixels across, there are two pixels that go up. This same concept applies to 2.35:1, 4:3, 16:9 and every other resolution ratio you see) and you need to change your Output Size to 720x480, a 3:2 acceptable ratio, or whatever fits along with your ratio
  • There is a weird buzzing sound on the audio
    • This is not your fault, check the source