IFPA SCS/WWC/Pinmasters stream rig details and notes


#1

This rig was created to meet the needs of the 2017 IFPA SCS, Womens Championship and Pin-Masters event held in Mequite TX. When Josh first asked for help streaming the event I had 3 c920’s that I was going to use to stream local events and myself. We would need a lot more than 3 cameras to stream the 12 games that would be used for the event. Thanks to everyone who donated to the gofundme campaign that made the IFPA event, TPF, Silverball Showdown and the Bat City Open streams possible! I’m not exactly an expert but, I seem to be the only person dumb enough to try to get 20 or so of these things working at once so I’ve found some things to share. This setup is easily the cheapest way to do a lot of cameras but, with many caveats. Your mileage may vary!

LIST OF EQUIPMENT (Used in the initial rig) AND SETUP

21 C920 $1,050.00
12 32’ Active USB 2 port hub cable $139.08
24 10’ Passive USB cable $35.00
13 Mic Stands $260.00
3 Vantec 4 Port USB controller card UGT-PCE430-4c $234.00
12 CM-01 Camera ball mount for mic stands $120.00
8 Score camera mounts $112.00
1 Blue Snowball Mic $50.00
1 Blue snowball Mic clamp mount Ask @spraynard
1 BIOSTAR Z270GT9 LGA 1151 $229.00
1 Intel Core i7-7700K Kaby Lake Quad-Core 4.2 GHz $339.00
1 G.SKILL TridentZ RGB Series 16GB (2 x 8GB) 288-Pin DDR4 SDRAM DDR4 3600 (PC4 28800) $195.00
1 Power supply and case $200.00

The first step to making a large number of c920’s “manageable” will be plugging them all in and viewing the feed of each of the cameras in video mixing software like OBS or XSPLIT. I would suggest plugging each camera in one at a time and lowering the resolution inside your software of choice to something relatively low like 640x480. Once all the cameras are plugged in, select any one of the cameras and go into the video settings. A second window may pop up. Uncheck the auto focus and right light check boxes then, grab the focus slider and move it back and forth. You will notice one of the cameras going in and out of focus. This is this is the camera with the highest priority. Label this camera using masking tape with the highest number of camera in your rig, in my rig this would be camera 21. Repeat these steps until you have labeled camera 1. If you add more cameras to your rig at a later time, you will need to repeat this process. There is no guarantee that your cameras will keep this numbering scheme over time. I used this process before TPF and it remained the same until BCO. I have no idea why and I had to repeat this process in the middle of setup at BCO. I finished setup with 30 minutes to go before tournament start.

By labeling all of the cameras you have found the highest to lowest “camera priority”. This is the only way to reliably control the video settings of your C920s and the video settings can only be adjusted once as you are plugging the cameras in. If you plug all the cameras in and find out that camera 10 isn’t adjusted to your liking the only way to change camera 10 is to unplug all of the other cameras in reverse until 1-10 are plugged in and hopefully you won’t have to re-adjust the cameras as you plug them back in. I’ve had mixed results when doing this and the white balance always seems to be different when plugging them back in so I would suggest you take your time during setup so you won’t run into issues later. To be honest, this is probably the biggest reason not to use a similar setup. It can be a huge PITA.

The video settings for each camera are set in the pop-up I mentioned earlier from inside of Xsplit or OBS. Make sure you have the logictech c920 driver installed. If you look online there are plenty of suggestions on settings but,the most important settings to remove are all of the auto check boxes on the basic settings and advanced settings tabs. Its especially important if you have less than ideal lighting. When the lighting is low, which happens a lot where pinball machines seem to be placed, the camera will automatically increase the exposure time. This is the most important of all the settings on the second tab. You want to remove the rightlight and auto settings so that you can manually adjust the exposure. You want the exposure slider to be as low as possible and be able to see the playfield. The exposure value will have the most impact on how fluid motion appears in your video. You can use gain to bring back some of the light lost from a low exposure setting. The more gain you add the more grainy the picure seems to get.The other settings I tend to leave in the center except for white balance. Before you uncheck the auto setting for white balance note where the slider is, thats a good start. Adjust until the color looks correct.

The rest of the setup is fairly obvious. Each of the ports on the host controller card can support 2 1080p streams reliably in my experience with the equipment listed above which means, each card can support 8 playfield cameras or playfield/score cameras. You could use a hub at the end of an active cable but, for the sake of simplicity and cost I chose to use the active hub cables. I plug one hub cable into a USB port and a passive cable into each end so I can reach the C920 easier. This isn’t totally necessary but, it comes in handy if you have to move a stand to the opposite side of a game or to a different game nearby. I used 720p for the playfield cameras at BCO and wasn’t to disappointed with the quality. The CPU use seemed to hang in the 60-70% and we avoided skipping and dropped frames that was saw at TPF due to maxed out CPU use.

For DMD games I use 1 mic stand, 1 camera and 1 cm-01 mount. You want to get the camera positioned high enough above the playfield to see the entire playfield and at an angle that allows you to see the entire DMD in one frame. You can then use your software of choice to duplicate the stream and crop the images so that the PF is shown in one image and the score in another. This may not be ideal but, it cuts down on the number of cameras needed as well as reducing CPU use.

For EM and SS games I use 1 mic stand, 2 cameras, 1 cm-01 mount and one of the bike clamp mounts. The clamp mounts are just small enough to clamp onto the upright of the stand but, there are better more expensive options for sure. These clamps are made of plastic and I’m sure they will break at some point but, so far so good. Using two cameras you can get a nicer looking picture of the playfield since the camera can be closer but, the separate score camera will increase the amount of CPU use. You may be able to get away with using one camera on a SS game. You will absolutely need two cameras for each EM game. You want to set your score camera to a low enough resolution that you can live with the quality. You can also lower the frame rate since this view doesn’t need to track fluid motion to save CPU. You may be able to connect more score cameras to one port using a separate hub as long as they are set to a low enough resolution to save your host controller ports for other uses.

You will still have the USB ports that are supplied by the motherboard to use last. I have used this for the Blue Snowball and oops I need to plug in another something I forgot. Keep in mind that many motherboards may have multiple internal and external USB ports but, many or maybe all tied to the same host controller. Don’t expect to plug more than 2-3 C920’s into these ports.

THE PC SETUP

Originally I had planned on using a PC that I had using a i7-4770K Haswell Quad-Core 3.5 Ghz and I can safely say that this would not have been able to handle 21 cams. On top of that it’s physically impossible and may be the case for any LGA 1150 architecture motherboard. Specifically, the stopping point for me was only being able to use one of the 3 Vantec host controller cards I had bought. The limitation I found with my motherboard, I believe, relates to all LGA 1150 and earlier boards. Without further research this may only be an issue related to Intel chipsets.

The 1150 architecture allows for only a certain number of PCIE slot motherboard traces to physically reach the CPU. If your motherboard has 6 slots, that doesn’t necessarily mean that you can populate it with 6 PCIE cards. My previous LGA1150 motherboard worked something like this. If you had a card in slot #1 another of the slots would be disabled. If you had a card in slot #2 a different slot would be disabled making it impossible to fit the PC’s video card and 3 Vantec controller cards. I was able to get 2 Vantec cards running with the motherboards onboard video card running at the same time but, the audio portion of the motherboard was sacrificed when the onboard video was used. Each motherboard has a chart showing what happens to other ports when a particular port is in use, usually found in the manual.

The 1151 architecture allows for more PCIE lanes/busses/traces than 1150 did which is why I had to upgrade. The Biostar that I chose may not be the only solution but, it was the first board I found that didn’t disable other ports only functionality. For instance when port X is in use, SATA port X is disabled. So if you wanted to have a bunch of SATA HD’s installed in the PC and have a bunch of cards inserted that may not be possible. This is another reason you may not want to use this setup. If you don’t already have an 1151 system or a motherboard that can handle multiple Vantec cards, you will not be able to run up to 24 cameras provided by the three vantec cards. However, if 8-10 cameras will suit your needs you may be able to build your rig with one USB host controller card.

The video card I was using in my previous PC isn’t mentioned above but, I would suggest a decent card. Originally I was using a GTX 970 but, later upgraded to a GTX 1080. The CPU will be more important in the success of the rig so spend your money there. Some of the processing can be off loaded to the GPU and this is shown in Xsplit. I wouldn’t concentrate on finding the biggest best GPU as I didn’t see any noticeable improvements using the 1080 over the 970. At BCO I did find that using h.264 instead of x.264 reduced CPU use and increased GPU use as claimed in the tool tips. I still think this rig can work without the GTX 1080 though.

PRO’s and CON’s and my experience

PRO’s

This setup is cheap in comparison to others. Other setups will still require you to purchase a pretty solid PC and peripheral cards. The other setups I’ve seen are using HDMI cameras which is where the main costs are. The 21 cameras needed for the 12 bank setup mentioned at the beginning of this would cost 4-5k compared to the 3k+ for the PC, cables and everything else used in this setup.

CON’s

The con’s of this setup are numerous. Even though I’ve been able to get all 21 cameras connected and working at once the CPU was pegged at 99% unless I reduced playfield camera resolution to 720p. The CPU I bought for the setup was the fastest Intel processor I could buy at the time so your mileage may vary. I’ve been able to connect around 14-15 1080p cameras at once.

Not being able to adjust each camera independently is a big downfall but, I’ve found that once everything is setup correctly you don’t need to make adjustments on the fly. HDMI setups should only need to have auto focus disabled on the camera itself I would think.

The USB cameras have a maximum cable length and I wasn’t able to extend it further than 42’ and whatever length of cable comes out of the C920. If your games are to far away from the broadcasting area you will run into problems due to the max length. HDMI cable runs can be longer.

IFPA SCS and Women’s Championship

This was the first time using the rig and it was rough. The moteI 6 I stayed at that was 100 yards from a major freeway didn’t help at all either. I also hadn’t figured out the whole process of numbering the webcams yet and I wasn’t able to change the settings on most of the cameras. Luckily I had a backup solution in the form of a small piece of software called camcontrol. It’s somewhat hard to find and only supports 3-4 cameras before it crashes. It does allow you to select 1 of the 3-4 cameras plugged in and change its settings. However, every time you plug or unplug a camera all settings are lost. What we ended up doing was labeling each hub cable with the corresponding game and hot swapping the cables during the stream. Unfortunately, Xsplit didn’t seem to like this and the stream would start skipping during the USB polling process. I wasn’t able to test the rig before the event so I feel lucky we got what we did. If you are using twitch, make sure to check the automatic archiving function so you won’t lose your videos forever!

TPF

I was desperate to find a solution to the video setting problem I had and contacting the creator of camcontrol asking him to make a new version that would support the number of cameras we were dealing with. He said he’d look into it. I never asked for an update. I did however find a solution that I explain above regarding the camera priority. I had everything plugged in the night before. I recorded some test footage and it looked good. However, there wasn’t a lot going on except for games in attract mode. The next day with all 21 cameras running I didn’t pay close attention to what was happening. I thought it was working as intended. Somewhere along the way I noticed the CPU was pegged at 99% but, in the middle of qualifying or finals I wasn’t able to try anything. If you take a look at the footage uploaded to youtube you’ll see what I mean. The recorded footage was worse. The footage on youtube was downloaded from twitch and uploaded to youtube. The results may have been better if I had used h.264 instead of x.264 to encode the local recording.

Silverball Showdown

I decided to switch from X-Split to OBS. OBS has a feature that would make it far superior to Xsplit where non active cams can be deactivated to save CPU use. This worked great until we were 12 cameras or so in. When you would switch cameras, half of the image would be full of artifacts and the other half would look somewhat normal. The only way to get rid of these artifacts was to disable this feature. OBS also does not accurately display the CPU use. When we had 15 cameras plugged in OBS thought the CPU was hitting 15% which I thought was amazing. However, windows thought we were somewhere around 90%. I started looking because the video preview was totally freezing for several seconds. We were able to show a lot of modern games because Cactus Jacks has mostly modern games. This worked out in our favor. Most games only required one camera.

Bat City Open

By far the most successful event even though my camera numbering scheme fell apart and had to be renumbered half way through setup. I set all the playfield cameras to 720p instead of 1080p and felt that 1080p wasn’t worth the cpu use. I originally though I would switch to a game, up the resolution to 1080p and then lower the resolution back to 720p before switching to another game. I decided to not do this because of the added complexity involved for the volunteer commentators. As mentioned above I also used the h.264 codec which I think helped to keep the CPU use in the 60-70% range.

BCO really changed my mind about the validity of this setup. The c920’s are still a big pain but, once it was in place I had 20 cameras working with no issues. I haven’t reviewed more than a minute of the footage that was recorded to disk but, I really doubt I will find any issues.

Thanks again to everyone that donated to the gofundme and hopefully someone else will find the information here valuable. Who knows. Someone else will attempt this craziness. 21 cameras may be a bit overkill for other peoples needs. Just remember that you can scale this setup to use 1-3 vantec cards and using 8/16/24 USB cams. If you need to stream modern games only, you can still have a lot of success with this rig. It may haunt your dreams forever but, its cheap!


Twitch/livestream setups.
#2

I wonder if the numbering/priority issue could be solved by Logitech incorporating a feature into their driver that identifies each camera based on something that doesn’t change like serial number? Seems like the use case of 21 connected at a time wasn’t planned for by Logitech.


#3

Thanks for posting this, Garrett! I’ve tried streaming with only 3 cameras, and that was a huge PITA. I can only imagine the headaches of 21!


#4

I’m sure a more robust version of camcontrol or similar software would allow control of all the cameras without any numbering scheme.


#5

:open_mouth:
Heck of an effort and dedication. . Great results. And heck of a write up. Wow


Twitch/livestream setups.