2016 Wildstang VEX Robotics Competition Webcast

We’re (attempting) to do a webcast from the 2016 Wildstang VEX Competition happening today:



The screen isn’t getting switched back and forth between the two fields :frowning:

EDIT: Fixed!

Getting the kinks worked out, sorry. Should be better now.

I think we had a great event on Saturday and I hope the webcast was beneficial. We now have individual videos of each match from the competition uploaded. The playlist for all matches is here:

Thanks for the playlist. Much better than the huge video.

Overall it was a great event, you guys did an awesome job putting it on.

What kind of cameras did you use? Great picture quality. Did you use a video switch or software to switch between the fields? Any info you can give us on how you did such a great video feed would be very much appreciated.

Thanks! I’ve been trying various setups over the years and this time I think we pretty much nailed it. I’m hoping to find some time soon to do a more thorough writeup of our A/V setup, but here’s a few notes:

For each field we used a Logitech C920 USB camera with an active USB extension cable (something like http://www.monoprice.com/product?p_id=7532) to bring their feeds back to a laptop running Open Broadcaster Software (OBS) Studio from https://obsproject.com (we used OBS Studio rather than the older OBS Classic). We also ran a prototype Tournament Manager OBS plugin to get the TM displays into OBS, but you can also just use the window capture function (there’s a document floating around here that someone else wrote that explains how to do that). Setting up OBS isn’t too difficult, and then from there it’s easy to send the output to a secondary display hooked to a projector and also to stream it to Youtube (or Twitch or any other service that OBS supports). Our prototype TM OBS plugin had the ability to switch OBS scenes between field 1 and field 2 automatically when matches were queued, but without that the scorekeeper could pretty easily click the button (or set up a hotkey) and click it between each match.

In past years we used vMix as our video mixer and I was happy with it. My main reason for trying OBS this year was the availability of a plugin API which we used for the prototype TM OBS plugin. It’s also nice that it’s free, of course. My goal each year for our tournament is to try to find ways to run a tournament that has the appearance of high production value while being inexpensive and not requiring much in the way of additional volunteer effort. This year I think we found something that worked well enough that I hope other events can duplicate it.

Each field had a small stand made out of a milk crate that housed the field control hardware and equipment for the field timer display and also had a piece of bent conduit attached that the C920 mounted to (picture attached). (The milk crate makes for easy storage and transportation). The theater we use for our event has the stage elevated relative to the seating so a regular tripod would have interfered more with the view from the stands, but tripods would work well for most events I think.

One small issue I ran into with the C920 cameras was that they couldn’t focus well on the field out of the box (as they’re designed to focus on someone sitting close to the camera in front of a computer). Luckily it wasn’t difficult to take them apart and adjust the focus (this video documents the process well).

Hopefully this is useful. If you have any questions, please let me know.

Thanks for the info. It was really helpful!!!

Did you write the API or did you download it from somewhere?

How did you go about splitting it up to the separate matches for the playlist? I know YouTube has the video creator but it looks like live streams don’t show up there.

I’m not quite sure I follow your question. Open Broadcaster comes with the plugin API. We created a plugin using this API that bridges the gap between Tournament Manager and Open Broadcaster which allows the Tournament Manager audience display to show up as a video source inside Open Broadcaster. We’re hoping to clean this plugin up and release it soon. In the meantime, though, you can accomplish something similar using the “window capture” function inside OBS. This document describes how to do it in OBS Classic but it’s basically the same in OBS Studio.

I downloaded the full original stream from YouTube using Google Takeout (https://takeout.google.com/settings/takeout). This gave me the full length original MP4 file in 1080P format. After that I used ffmpeg to cut up the full stream into the individual matches, then re-uploaded all the match videos to YouTube.

Ah, that seems pretty involved. I’m thinking about trying to use ‘Start Match’ to Start Recording from OBS and then have a timer for when the match ends to Stop Recording. Saves you from having to do the full download and sorting the matches out later!

I guess it depends on what your goal is. Are you just looking to have individual matches recorded throughout the day without regard to having the whole stream recorded? I think it may be possible to automate the “Start/Stop Recording” function in OBS if you just want individual matches recorded.

We just did our first live stream last week, I like the idea of having the separate matches available. We run a 5 day / 5 month long league, it might be cool to use specific matches to show how X team has improved over the season.

We are doing our next tournament Feb 4th. We would be happy to test a beta API if you are interested in that option.