[Totally rewritten 6/22/2015, including more accurate bandwidth estimates and a better description of the workflow.]
We originate three hours of live programming from our studios every week. In fact, everything we do is designed for live web streaming. For the last several months, we have been exploring a number of options that would enable live video streaming with live audio mixing and support an “unlimited” number of audio and video sources with a scalable architecture so that as our audience grows our stream will grow to support them.
NOTE: If all you need is live audio streaming, I recommend mixlr.com. We’ve been using it for a while and it has worked flawlessly. Prior to Mixlr, we used QuickTime Broadcaster, which has since been discontinued by Apple.
WHAT YOU NEED
Live video streaming requires three discreet elements:
There are a number of sites that provide simple video streaming: Adobe Connect and GoToWebinar come instantly to mind. We’ve used both of them for several years. However, the limitations of both these sites is audio. If you need to mix a presenter’s microphone with computer audio – neither of these websites supports it.
NOTE: We CAN mix audio when recording sessions, but not as part of a live session. There’s something about the Macintosh operating system that doesn’t allow it.
In our live webcasts, audio and video elements are created using industry-standard production tools. The final mixed production is sent to Telestream WireCast which converts the audio and video signals for distribution on the web. The output of WireCast is sent to FrontLayer.com, which provides streaming servers and a world-wide Content Distribution Network for playback on as many computers as needed.
NOTE: A NewTek Tricaster integrates a video production switcher with encoding the stream for uploading to the web. While more expensive than the combination of a switcher and WireCast, it takes less space and provides more sophisticated graphics.
Our studio features four Blackmagic Design Studio Cameras, a Marshall Electronics lip-stick camera, the NewTek Skype TalkShow and two computers for playback. The audio sources are mixed using a Behringer x32 Producer audio console. The video sources are switched, and graphics added, using a Blackmagic Design ATEM switcher.
Audio from the Behringer goes, via XLR cables, to the ATEM switcher. Final production audio and video then travels, via HD-SDI cables, into a Blackmagic Design UltraStudio Mini Recorder. The UltraStudio connects to a Mac Mini we use for streaming via Thunderbolt. Because all the video switching and effects are done prior to the signal entering WireCast, we don’t need a very powerful system to run WireCast. The Mac Mini is more than sufficient for final formatting and streaming.
NOTE: The Blackmagic cameras only shoot 1080 images, which is an unfortunate limitation of these cameras. These images are then down-converted to 720p using WireCast.
In WireCast, we add the UltraStudio Mini Recorder as a camera feed; this supplies the output of the ATEM switcher to WireCast.
In general, we stream 720p/29.97 fps H.264 video to the web with a compression bit rate of 1500 kbps; we have not found it cost-effective or necessary to stream at larger frame sizes. However, we can not stream directly to end-users from the WireCast. In testing, and during several live events, we realized that we did not have sufficient bandwidth to support live streaming direct to each user.
NOTE: A rough way to calculate bandwidth is to take the bit rate of the stream you are sending to the world and multiply it times the number of users watching the stream. Using 100 users as an example, our feed is 1.5 mbps times 100 users requires a bandwidth of 1500 mbps.
To get that bandwidth requires a CDN (Content Distribution Network). The workflow is that we send the stream to a CDN and they use their far larger bandwidth to send it across the world to our viewers.
At this point there were three directions we could have gone with this transition.
During setup, Frontlayer gave us login credentials for the online manager, live stream credentials and the RTMP live publishing point.
We entered this information into the Output Settings screen of WireCast. WireCast streams to FrontLayer, which distributes the stream to the world.
FrontLayer has an online dashboard manager for each account. This helps us monitor the stream, monitor their VOD (video on demand) system and get reports. These reports help us keep track of how much bandwidth has been used within the current month, as well as how many viewers the stream has had.
FrontLayer charges $70 a month for 250 GB of bandwidth each month We can also purchase additional bandwidth for $0.20 / GB. This is great because we know that we will not run out of bandwidth, and we can budget for the additional bandwidth we need.
NOTE: Bandwidth charges are based on the number of users times the number of minutes they view times the bandwidth we are using to stream to FrontLayer. Based on our experience over the last three months, we calculate that 1 viewer, watching one hour of material, consumes 1 GB of bandwidth. This makes it easy for us to control costs by controlling the number of viewers we allow to watch a live stream.
FrontLayer has also proven to have fantastic customer support. They have been able to answer every question we have had in a very timely and helpful manner.
The process of getting live streaming functional has been a daunting one. We still have things we will be tweaking, but all in all – we are LIVE and the pictures look great.
Final Cut Pro X 10.4
Edit smarter with Larry’s brand-new webinars, all available in our store.