Disclaimers :

I’m not a professional in the world of video nor in the world of live broadcast events. The solution proposed here is based on several empirical and self-taught experiences.

I am open to comments, corrections, and other ideas that can advance the live broadcasts of bike polo events.

I am open to comments, corrections, and other ideas that can advance the live broadcasts of bike polo events. My setup is very Apple / Mac centric but the main apps i use (Wirecast and AirServer) have a Windows version too. Although i cannot be affirmative about that it should be then very similar to setup.

Even if it’s a step by step kind of tutorial it’s not particularly easy and a intermediate level in video/computer stuff is required.

Also pardon my english, if something is not clear you can contact me either by facebook , by commenting this article or by email

Thanks to Jeremie, Raphael, Leo, Patrick, Clement, Dorian, Johan, Jean-Luc and all the peoples involved in these streaming since our first live broadcast for the bike polo world championship that Geneva hosts in 2012.

The video below it’s pretty much what you will get if you follow what I’m going to share with you. It was the 2nd Geneva Countryside tournament, a one court tournament outside the city of Geneva which took place on 13 and 14 August 2016.

The goal

What you see in the video above is the footage the people saw live during the tournament. It’s a 720p video feed at 50fps. 50fps means that the video feel smooth and also allows you to obtain good slowmotion replay at 1/2 speed.

Note about the 50 fps number: this is the standard in Europe, USA and other countries is 60 fps. So don’t worry if you camera only output 60p, you only need to change the number in the procedures to come.

The goal is to set up a live HD broadcast with one camera + slow motion replays + live score/time.

This configuration is interesting because having Replays compensate the lack of second camera and also makes the video control job more fun and interesting. A minimum of 2 persons is required

1. First of all: Internet

This may sound stupid but even before planning anything you must ensure you have access to a reliable internet connection. Even if you have access to an networked or a strong wifi connection you will need to test it and mesure its bandwidth.

The bandwidth means how much data you will have available to upload your video stream. There’s a lot of tools or websites to do that, beta.speedtest.net is pretty accurate and they also have an app (iOS an Android).

The number we are looking for is the upload one:

In this example we have 10Mbs at our disposal. Now, remember our Goal? A 720p stream at 50 frames per second with a good image quality. This is where the bandwidth of the video stream comes into play, we need to know what constitutes a video stream 720-50 fps in terms of bandwidth. There’s also many tools for that, the one im using is Video bitrate Calculator dr-lex.be/info-stuff/videocalc.html (this tool will also be useful to know how much data we are going to upload, in the case of a data limited 4G/LTE internet connection).

The screen when you first open the page:

On the bottom area since the resolution is already set on 1280×720 (720p) you only need to change the fps from 23.9 to 50 and hit the suggest bitrate for H.264 (high profile)

You can let the audio bitrate set at 128kb. Total bitrate is now 5890Kbps, on our internet connection tests we obtained a solid 10Mbps which is 10’000Kbps. So we are good.

Note if you are on a 4G/LTE connection: first you want to be sure that your provider will not restrict you when you reach your data limit per month, usually is 2, 3 or 5 gb. A quick check on this calculator will demonstrate you that it will be far from enough:

By entering the estimated hours of streaming (here i’ve enter 8 hours on the up right corner) and then clicking the Get from time&bitrate button you can see that the projected gigaBytes consumption is 21.2GB.

It’s why when i stream via 4G/LTE i use a prepaid card that let me buy all the data that i will need. The provider i use here in Switzerland is called “Yallo” , for reference they charge CHF 80 for 10gb of data. That means that if we want to keep the suggested bitrate for 8 hours a day it will cost us CHF 160 a day.

Now, if you are tight on the budget you can play with these number and try to lower the video bitrate to match your budget. This tool is great because you can enter the data usage you are aiming for, let’s say 10gb a day, and then click the Time, size, audio > video button and get the corresponding bitrate (you are going to need this number letter when configuring the streaming app).

Let’s keep to our initial goal but adjust it slightly to aim for 20gb for 10 hours of streaming to stay on my CHF 160/day budget. The resulted bitrate is now: 4444Kbps: (funny number btw)

Fair enough, you now have a good internet connection, a good data plan and we know the audio/video bitrate of your upcoming stream. Now: the equipment.

2. The Hardware

I will list here almost all the stuff i used for this particular tournament. Only the video equipment is different here because the one i used was rent specifically for the event.

An iPhone or smartphone with 4G/LTE capability

It will make possible to stream from almost anywhere. Important: it must be able to tether/share his internet connection via USB.

Alternative 1: have access to a good ethernet network

Alternative 2: have access to a good wifi network A computer

Mine is a 2012 15” Macbook pro. It is an i7 quad core at 2.6ghz and i’ve maxed out the ram (16gb) and put 1To SSD (2x 512). You can achieve this kind of streaming with a more modest computer but you may struggle to have a 720p 50fps framerate. For reference we streamed the Hell’s Bell 2014 link with a 2012 macbook air at 25fps. A video camera or any camera with clean HDMI out capability

3.1 A tripod is missing from this picture. A good tripod is one of the key component of your setup because it will impact directly how and in which conditions the cameraman will film the games. For this event i rented a Manfrotto 504. A capture device

I used a Black Magic Intensity Extreme. Basically it’s an external video card that let you capture the HDMI video signal from your camera. This one use a Thunderbolt connection, the great thing about Thunderbolt is that the CPU of your computer will be less solicited. So even a pretty “old” computer with this port can manage a HD/FullHD signal at a pretty low performance cost.

There’s many way to capture your camera video feed, you can look into the gamers world (but avoid USB 2 one) link and also on the side of the semi-pro/pro one link An external storage

Here it’s a Lacie USB3/Thunderbolt 500gb SSD drive. We will use it to store the replays, the goal with it is to not write on the same hardrive that the computer is working on. A wifi router

This one is the common box that you get with your internet provider. We will not use it to get the internet connection but to get the Macbook and the Referee’s iPhone connected together and this way get live score, time and team names. HDMI extender via RJ45 photo

This will allows you to extend the HDMI signal from your camera to the computer. This is really useful when you cannot, or do not want, the streaming HQ (headquarter) to be near the cameraman. These are pretty cheap (less than $50) and works with standard RJ45 network cable (cat5/6). You need two cables, in our setup we uses 2x 15m.

On the con side: the Marmitek link that I used carry also the HDCP protection signal which my capture device don’t like. To bypass that i had to use an HDMI splitter photo. This is a little bit tricky because not all HDMI splitter have this “feature” more about that here link.

Alternative 1: you can you use this kind of HDMI to SDI converters link and extend the range a lot. Con: these are not cheap.

Alternative 2: you can find longer HDMI cable but: they are not cheap either and the signal may not go all the way.

Alternative 3: have the camera next to the streaming HQ and avoid any extender solution An external keyboard + mouse

This is optional but highly recommended since it’s very likely that you won’t be the only person to use your computer and you want to keep it as secure as possible. Also for heating issue we are going to elevate our laptop to let the air flows and it won’t be reachable as much as it should. An external sound card with XLR input + XLR mic and cable

XLR is the connection standard for audio/microphone, the cable is not expensive and durable photo. This will allows you to have commentators pretty much anywhere you want around the court (far away from the camera if possible, because the camera will aslo capture the sound of the commentators and it will result a ugly echo effect). Tape

Will be useful for many thing but I especially used it to tag my stuff: when the table will be covered with everybody’s iphone cables it will be very useful… photo

You can also specify the end of each cable to keep track of what it is: if you have long distances cables it is very helpful photo. A playmobil

Just to have a subject to be shot while testing. A second iPhone

This is the assistant ref iPhone photo. The screen of this iphone will be streamed to the Mac (2) and then incrusted into the Wirecast streaming app, this way the time, the score and teams names will be always sync from the court to the live streaming.

Please note that it have an external battery case too, this way you can go the whole day without running out of juice. The one i’m using is a mophie one but it could be any usb battery stick or just think about recharging the phone between game or during a break. Optional but recommended: something to lift and cool down your computer.

Here i’ve used some foam and a basic fan photo. The weekend the tournament tooks place was extremely hot and i had to cool down my macbook pro in order to have it working at full CPU power.

Why this is important: in summary, when being too hot, a laptop does something called throttling. That means that the computer cut down the cpu clock to reduce heat. Less CPU power = harder to handle the video stream = dropped frames and loss of smooth video playback.

Here i’ve used some foam and a basic fan photo. The weekend the tournament tooks place was extremely hot and i had to cool down my macbook pro in order to have it working at full CPU power. in summary, when being too hot, a laptop does something called throttling. That means that the computer cut down the cpu clock to reduce heat. Less CPU power = harder to handle the video stream = dropped frames and loss of smooth video playback. A viewer device that is connected to the Internet independently (another Smartphone or tablet) in order to view your video feed from the “outside”. It is always complicated to have to ask the audience what they see or do not see (or do not hear …).

Be sure that this device has a good internet connection too.

Here is an illustration that shows the different elements and the links between-them (clic to enlarge):



3. The Budget

I won’t go into detail here because the most the stuff i’ve got were bought used and their prices won’t be meaningful to you. What i can share is the price we paid in 4G data and how much cost the rent for the camera gear and the software cost :

We used approx. 20go a day and the price was CHF 80 for 10go. We ended up paying CHF 320.- for data. More on that on the next chapter.

The camera + tripod + XLR cable + microphone was CHF 100.- for the whole weekend. It is cheap because it is a rental office of the city of Geneva.

Software cost around 520$

All the equipment that I had already (minus the two iPhones): around 2000$

4. The software

I’ve listed here all the soft i’ve used, you can achieve it with other streaming software and service.

On the computer side:

Youtube: you need a youtube/google account. If you have already an account but you don’t want to use it to stream events you can make a new channel using this link: https://www.youtube.com/channel_switcher

When it’s done you can access the live streaming dashboard at this address: youtube.com/live_dashboard

(For example i’ve created the Geneve Velo Polo channel from my main personal google account.)

Youtube is free (of course it’s Google) and have no limitation. People can interact with you via a chat system. Also all the stream will be saved on Youtube and available for later viewing.

Note: be careful to not have songs playing near the microphone because Youtube will detect it prevent your video to be played on some countries.

Wirecast (500$ or 279$ or free but limited)

This tutorial is based on the Pro Version of Wirecast (around 1000$), you can achieve it with the Wirecast Play Pro (around 500$). The limitation is that the Play version is only able to stream to Youtube.

Also, you can achieve a basic streaming with the 10$ version of the Wirecast Play too but you will miss the replays feature and the live score.

If you are tight on budget and don’t want to look into the darkside of the internet i will suggest you to get at least the Wirecast Play Studio version. You’ll miss replays feature but you will have all the other main features (editing scene, multiple live sources, preview windows, etc).

Chose your Play version here

Or pick a standard version here Install it.

(500$ or 279$ or free but limited) This tutorial is based on the Pro Version of Wirecast (around 1000$), you can achieve it with the Wirecast Play Pro (around 500$). The limitation is that the Play version is only able to stream to Youtube. Also, you can achieve a basic streaming with the 10$ version of the Wirecast Play too but you will miss the replays feature and the live score. If you are tight on budget and don’t want to look into the darkside of the internet i will suggest you to get at least the Wirecast Play Studio version. You’ll miss replays feature but you will have all the other main features (editing scene, multiple live sources, preview windows, etc). Chose your Play version here Or pick a standard version here AirServer (14€)

This is where this tutorial shine in my opinion: having a cheap and accurate way to have the live score, live clock and actual teams names directly from the court.

AirServer will be use to mirror the screen of the assistant referee iPhone to the Macbook.

The live feed obtained will be use as a source into the Wirecast app, and with a bit of cropping and positioning we will have this screen:

into this:

AirServer must be installed and both the Macbook and the iPhone/Smartphone. Note that we are talking here about the assistant referee Smartphone, not the iPhone that you use to get an internet connection.

The setup is pretty straightforward, just follow the steps from the AirServer Website

On the smartphone side:

AirServer Connect: You know it already, it’s the smartphone side of the desktop app (more exactly it’s the client part of the AirServer app) here’s the direct link for the iOS app and for the Android App(not tested)

You know it already, it’s the smartphone side of the desktop app (more exactly it’s the client part of the AirServer app) here’s the direct link for the iOS app and for the Android App(not tested) Table Score (0.99$): This is the app the Assistant Ref will interact with. I like it because it’s easy to change the teams names and easy to up and down the score. Link for the iOS App

5. Initial installation and configuration software

Now that you have everything it’s time to install and configure it.

First connect and power everything :

1. Plug the camera to your capture device and plug the capture device to your Mac

2. Plug the iPhone to your Mac

3. Plug the external sound card or usb Microphone to your Mac (optional)

4. Plug the external disk drive to your Mac (optional)

5. Etc

Once everything is plugged let’s make sure the internet connection is setup properly, be sure that the iphone is connected via USB to the mac.

You must be sure that the iPhone connection is on the top, otherwise when we are going to connect the Macbook to the wireless router (step 2) the Mac will try to get an internet connection from it.

Follow these steps to redefine the connections order (my OS is in french but i’m sure you will figure it out):

Test the internet connection. Connect the Macbook to the “dead” wireless router, macOS will warn you that it cannot find any internet connection, dismiss it. The Macbook is now connected to the wifi router. Connect also the Assistant Ref iPhone to the wireless router. This one is a bit tricky because iOS won’t let you connect to a router who doesn’t have a working internet connection. You have to try it two times before it offers you the choice of doing it anyway (or long press on the router name, i don’t recall it properly). Now test the connection between the Macbook and the iPhone. If AirServer is properly installed you should be able to mirror the iPhone screen to you Mac. Reach the Airplay button on the iPhone and chose your Macbook, activate the mirror screen switch, launch the Table Score App and voilà!

Now, launch the Wirecast app and open a Youtube page into your favorite browser, go to your Live dashboard and look for server url (should be something like rtmp://a.rtmp.youtube.com/live2) and for the key stream.

In Wirecast go to Output Menu and Output settings (or ⌘+Y) and add a RTMP Server. Note about step 5 : basically this is where you change the quality of your stream. The aim here is to play with the numbers to be as close as possible to the bitrate we found in the beginning of this tutorial: 4’444 Kbps.

I won’t go into to much detail here (because i don’t understand half) but the key point is to be sure to have the resolution set at 1280×720 (HD) and the framerate at 50. For all the others parameters you can match mine. With these parameters you will be sure that you will never exceed the total bandwidth that you have planned and that the image quality will be top notch . Also don’t forget to save the settings, you can make multiple saves. This way you can test different configurations and see what’s working and what’s not: Now it’s time to add our various devices (Camera, Assistant Ref iPhone, etc) to Wirecast. A note on how Wirecast works:

Wirecast works with Shot and Layers.

Wirecast Pro 6 handle 5 Layers and a Layer can contain multiple Shots.

A shot can be composed by multiple element that can be arrange in a layer management style.

The Layer 1 is on top of the Layer 2 and so on.

To activate a Layer you must select a Shot on it, if there’s nothing active on top of it (for example in a upper Layer) the selected Shot will appears on the Preview screen. (activate the Preview screen, select it from the Layout menu).

Then to make the Shot “live” you need to Launch it using the Arrow in the middle of the screen or by hitting the Spacebar key.

That’s pretty much it, you choose what appears on the Preview screen by selecting and deselecting shot from the different Layers.

For more detail i suggest you to have a look at the manual.Important: Save your Wirecast document regularly. I must say that this is not the most stable app i ever used.Here is a diagram that summarizes what we are aiming for (it may seem a bit messy but it’s pretty simple, don’t worry):

First add the camera : Go to the Sources menu and the Show Sources settings then follow these steps: Note about Step 2: on this example you can see that my personal camera can only output at 1080 50i . “i” means interlaced and therefore must deinterlace. Also since the final output stream (from Wirecast to Youtube) will be 720p that means that the computer will have to downscale it from 1080i to 720p .

The best case scenario is to have a camera that match the final output to avoid having the computer using CPU power to downscale the stream. In our case it would be a 720p 50 video stream.

: Go to the Sources menu and the Show Sources settings then follow these steps: Add the Assistant Ref iPhone, you must manually add a Desktop Presenter Local source. Note: The iPhone must be currently streaming to your mac see point 2 and 3 above. Now we will edit the shot. That means that we will add some stuff on top of our camera stream, such as the live score and logos.

Note: you can find the Logos files on the Links section at the bottom of this tutorial. Adding logos

Follow these steps:



Follow these steps: We will do the same for the Live score, with some tricks to arrange it the way we want:

Now, let’s configure The Replays.

Replays works in a way that Wirecast will constantly record the last minute (this can be customized) of the stream, if something noticeable happens then the person behind the computer can “go back in time” and replay the scene at a desired framerate (in slow motion preferably).

The external disk is useful here, the main purpose is avoiding having Wirecast constantly writing on the main Macbook hard disk , therefore we will tell Wirecast to save the Replays on my LaCie drive.

Note about the replays feature: this will cost you a bit of CPU usage and therefore depending of your machine you may want to avoid using this feature. Setup the Replays feature

Follow these steps:

About the image #4: these settings means that the last minute will be always available to pick a replay from. Also the 4 sec setting means that when you hit the Replay button (more on that later) Wirecast will center the replay on the last 4 seconds of play. We found that this number almost always perfectly frame the action.

Follow these steps: Configure the top layer to host the Replays

Here we will setup a new Shot in which the Replay files will automatically takes place. In this Shot we will place a red glowing word that says “REPLAY”, the idea is to have something that tells the spectator that he is now watching an action from the past.

Because we place it into the #1 layer, when the operator activates it, the replay it will cover the live view which is on the Layer #2.

Note : you can find the REPLAY movie file on the Links section at the bottom of this page, feel free to use it (it’s a bit meh to be honest).

Follow these steps:

Note about the step 10: what happens here is that we tell Wirecast to create the clip directly in the layer #1 with the shot”Replay_Top” as a model. Here’s a video of the Replay feature in action in Wirecast. The workflow is:

Here we will setup a new Shot in which the files will automatically takes place. In this Shot we will place a red glowing word that says “REPLAY”, the idea is to have something that tells the spectator that he is now watching an action from the past. Because we place it into the #1 layer, when the operator activates it, the replay it will cover the live view which is on the Layer #2. : you can find the REPLAY movie file on the section at the bottom of this page, feel free to use it (it’s a bit meh to be honest). Follow these steps: An action occurs (a goal or a crash for example)

The operator hit the Replay button (shortcut is R )

(shortcut is ) A replay clip is created on the top layer

The operator find the action and set the in and out of the clip

He change the playback speed to 0.5x

Then makes the Clip live by clicking the arrow button (shortcut is Spacebar)

When the replay clip is over (approx. 8 sec at 0.5 speed if you kept the last 4 sec as we have previously configured) Wirecast will automatically come back to the live stream (layer 2). And here in action during the tournament (note: nobody get hurt except Morgan): You are Ready to stream!

Test your configuration by clicking the Stream button on the upper left corner. Go to your Youtube Live Dashboard and wait few seconds. You must see your live broadcast appears!

(Optional) Add an external microphone:

Until now the only source of sound if from the camera. I strongly suggest you to have some commentary (at least for the last games). If you have plugged in you external sound card + microphone or any other usb microphone it should be available as a source. Add it to your main/live shot

Note on the Step 5: you must also adjust the level of the camera audio by selecting it on the left panel (Optional) Add additional video clip

For this tournament i’ve created a simple movie clip which shows all the sponsors involved. This clip must be manually played by the operator. Note that if you have multiple movie clip you can create a Playlist on Wirecast in which you can put all the clip. They will be played after each other. Add a movie clip:



6. Final touch and miscellaneous

Location of the camera

It may sounds obvious but camera location is crucial. First of all you want to avoid direct sunlight. If you already know where and when the tournament will take place you can use tools like Suncalc.net to know when and where the sunrise and the sunset will be. Here’s the concept illustrated:

And SunCalc.net in action (this is the place where the Country Side tournament took place):

Monitoring (CPU usage, CPU temperatures, and Connection) CPU usage and temperatures

As i said in point 2.13 it is critical that your CPU doesn’t reach 100% usage too regularly. You can check it on the top right corner of Wirecast (UC):

Usually what will happens is that the when the UC (CPU) reaches 99% the IPS number will drop and your computer will not handle a smooth 50 FPS stream anymore.

This will also alter the quality of your replay clips, because it takes CPU power to write them down, even on an thunderbolt external SSD hard drive.

Here is a prime example of what happens when that happens:

To prevent that you have few things to look at: The CPU usage in Wirecast: when you start adding more sources (camera, replays, etc) test your configuration by going live and see if your computer can handle it.

Adding an second microphone or a second camera makes your computer struggle? Deal with it: find a better computer or remove the feature.

Note: On the first day afternoon we decided to remove the Replays feature because the computer struggled to handle it. Watch the your CPU temperatures : on my Macbook i’m using a tool called TG Pro (website). With this tool you can see if your CPUs are going crazy hot and you can also force the fans to be always at full speed. As said earlier: be sure to cool your computer as much as possible: lift it with spacers, cool it with an air fan, etc.

As i said in point it is critical that your CPU doesn’t reach 100% usage too regularly. You can check it on the top right corner of (UC): Usually what will happens is that the when the UC (CPU) reaches 99% the number will drop and your computer will not handle a smooth 50 FPS stream anymore. This will also alter the quality of your clips, because it takes CPU power to write them down, even on an thunderbolt external SSD hard drive. Here is a prime example of what happens when that happens: Connection

On Wirecast you can see the quality of your connection by looking at the bars on the extreme right:



If they are green this is perfect. You will see that the bit rate (the second number from the left) will also likely be as much as possible as the one we set earlier (4’444Kbps remember?).

If the quality of the connection deteriorates, Wirecast will adjust the Kpbs in accordingly and it will result in dropped frames and poor image quality. Plan to timestamp the Youtube video

Having a full day of polo into one video on youtube could be too long for the players to find their respective games. You can timestamp the video simply by writing the time at which the game begin and name it, for example: 2:10:45 – We are animals vs MegaKids

will take the spectator directly in the right spot on the video.

I suggest you to do that right after the event because otherwise you won’t do it, ask people to help you (i’ve still not finished it for the Countryside tournament…) The Ultimate recommandation!

Avoid having some song playing around the camera or any microphone because Youtube will detect it and your video will be flagged. This is a pain in the ass honestly and it’s the major downside of using Youtube. For the Hell’s Belles 2014 i’ve one full day flagged with copyright infringement because someone play few second of a song near the camera…

7. Possible improvements and things not covered in this tutorial

Better space management

Separate the Refs from the commentators and all these people from the Streaming table. This year was OK but the HQ (headquarter) was pretty narrow and also the commentators was just next to the referee which is not good for the referee concentration. A bigger crew and a better planning

On the paper it was OK: a team of 3 people for the streaming. One behind the camera, one behind the computer and one making the break, bringing some food or water to the other two. But on reality the whole tournament missed a bit of volunteer and the team of 3 was more a team of 2 most of the time.

A better cooling system for the Macbook

Next year I plan to make a cooling based on air conditioning.

Note my futur self: do not use the same cooling solution as Jeremie uses during the 2012 World’s streaming: View this post on Instagram #whbpc ok. I found the reason why we dont have the camera stream on court 3 🙁 A post shared by Jérémie Thé (@ukarage) on Aug 16, 2012 at 2:36am PDT A local backup of the stream

In this setup all the files, except the Replays, are hosted on Youtube and Youtube only. If the connection breaks or if i would like to make a better video of the final games for example i’ll have to re-download it from youtube.

Wirecast allows you to save a local file of the stream but i’ve chosen not to do it this time because i was already short on CPU usage. The best thing to have for this kind of task is to have an external recorder at the end of the chain, for example an Atomos Ninja 2 (link). You can use it as a control screen and also record RAW the final stream. For the Hell’s Belles 2014 i had a Atomos Samurai one :

Alternatively you can save the rush directly on the camera itself but you will have to but back the logos and also to sync the sound from the commentators… It could become a huge and overwhelming work. Let’s face it: you will never do it (at least i will never do that).

8. There’s no step 8

I hope this tutorial is relatively clear and that will help develop the live broadcast tournaments. See you on the court or behind the screen 🙂

Links