How We Got Live Video Streaming to Work [u]

Posted on by Larry

[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:

  1. Production. Audio and video production gear generating the final video feed for the web.
  2. Encoding. A way to stream video to a remote streaming server
  3. Streaming. A remote (outside your local firewall) streaming distribution server

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.

EXECUTIVE SUMMARY

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.

PRODUCTION

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.

ENCODING

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.

STREAMING

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.

  1. We could keep our current workflow (WireCast > Wowza hosted locally) and simply insert an outside CDN in between the local network and the viewer. Companies like Amazon Web Services, Akamai, Mirror Image Internet, Limelight and EdgeCast provide this services.
  2. We could replace Wowza with a company that both streams and acts as a CDN; for example, LiveStream or uStream. However, they are pretty pricy and we are on a budget.
  3. We could select a CDN only, as we were already providing a stream. This became our final choice and we selected FrontLayer.com. They act as a both a distribution streaming server and a CDN.

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.


Bookmark the permalink.

7 Responses to How We Got Live Video Streaming to Work [u]

  1. aldislenio says:

    Hello, thank you for the great post!

  2. Ted Bendrick says:

    Why not just use YouTube for free by becoming a channel partner?

    • Larry says:

      Ted:

      Good question. Channel partners, as I understand it, require a minimum number of subscribers, which we have not reached.

      Second, we have no control over the ads the YouTube displays over our video, which would not be appropriate for our sponsors, for those shows that are sponsored.

      Larry

  3. Hi Larry and Megan

    Thanks for sharing your discovery path on streaming. I’ve been using dacast for a while and Livestream before that..but checked into Frontlayer to see what they offer and if it’s cheaper/stable, etc. I think at this point we stay with Dacast

    I agree Wowza adds a level of complexity that a one stop CDN eliminates.

    Megan mentioned, “We calculate that 100 viewers for a one-hour show would require about 500 MB of bandwidth” My calculations using, https://streamingmediahosting.com/support/calculator/

    bitrate 2200kbps (720p), 60 min, 100 viewers =file 1039.5 MB/Monthly use of 3118.5 GB.

    VOD seems to be the easier and cheaper part of the solution, streaming is still pricy. We typically stream 3-90 min presentations to 600 people 2x a month. I’m still at a 1.4 bitrate until we get off of wifi and onto Ethernet but then going up to 720p will really hit with the multiple 90 min streams. Probably still going to send it out at High and not HD just because of the length of the shows and number of viewers. Dacast bandwidth with pro is 2000 GB/month. Which seems like a lot until you start adding all the streaming up.

    Until I get the signal path worked out with Wirecast as a switcher AND recorder, I transcode the 1080p camera feed into 720p for VOD uploading.

    Again thanks for all the great info you’ve shared over the years!!!

    • Larry says:

      Harlen:

      Thanks for the feedback.

      We agree, VOD (Video on Demand) is the best and cheapest option for any video file that is not timely. However, for news and current information, streaming is the way to go.

      We are continuing to tweak our settings to figure out the best balance between image quality and bandwidth.

      Larry

  4. Len says:

    Have you tried adding a second or third camera using the other thunderbolt port or USB 3.0 ports?

Leave a Reply to Larry Cancel reply

Your email address will not be published. Required fields are marked *

Larry Recommends

Final Cut Pro X 10.4

FCPX Complete

Edit smarter with Larry’s brand-new webinars, all available in our store.

Access over 1,900 on-demand video editing courses. Become a member of our Video Training Library today!

JOIN NOW

Subscribe to Larry's FREE weekly newsletter and save 10%
on your first purchase.