October 2, 2013 archive

Successful Live Video Streaming Over IPv6 Using Google+ Hangouts On Air and YouTube

SUCCESS!  We did prove this week that you can do live streaming of video from an event out over IPv6. As we wrote about earlier this week, one of our objectives at ION Krakow was to prove that we could to a live stream / webcast out of an event over IPv6.  Well, to be more precise, we wanted people to be able to receive the livestream over IPv6.

As it turned out, the network at PLNOG 11 (where ION Krakow occurred) was IPv4-only so we were streaming our video signal from ION Krakow only over IPv4 out to Google’s servers which were then streaming the video out over both IPv4 and IPv6.

We did have a few challenges with the actual broadcast (which I mention at the end), but the key point is…

it worked!

People were able to watch the live stream on both Google+ Hangouts On Air (HOA) and YouTube over IPv6 connections.  In our article we’d asked if some people watching could send us screen shots and several people did exactly that – as shown below.

Live Streaming To A Dual-Stack Computer

Longtime IPv6 advocate Shumon Huque tweeted out a screenshot showing that he was watching the live stream on our YouTube channel and was getting most of the video stream connections coming in over IPv6 (click/tap the image for a larger view):

Livestreaming of video over IPv6

He’s using the very cool IPvFoo/IPvFox browser extension to show the connections from the web page  and whether they are over IPv4 or IPv6.  Being on a dual-stack computer, Shumon’s web browser is going to use a “Happy Eyeballs” algorithm to determine for each requested connection whether IPv4 or IPv6 is fastest and so you will see situations like this where parts of the connection are still over IPv4.

Live Streaming To An IPv6-ONLY Computer

Lee Howard at Time Warner Cable took it a step further and turned IPv4 completely OFF on his Macbook Air. He then sent us this screenshot showing he was watching the video streaming over Google+ Hangouts on Air and also showing the output of a terminal window showing that his wireless interface had only IPv6 running (click/tap the image for a larger view – and yes, we blanked out part of his IPv6 addresses for his own privacy):

live streaming over IPv6

This proved to us rather definitively that our live stream was fully available to people over IPv6!

Challenges Unrelated to IPv6

We did have a couple of challenges with the actual broadcast content that were unrelated to IPv6. First, I missed a key setting in Google+ HOA where you specified the audio connection separate from the video connection. As a result for the first hour and 45 minutes until we figured out the problem we were streaming audio from my laptop’s microphone instead of from the event a/v system!  (Oops!)  The good news is that I was also running a separate audio recording directly from the mixer and so now I can go back and upload a new video that merges the camera video with the full audio stream.

The second issue was that we unfortunately discovered that Google+ Hangouts On Air have a 4-hour maximum time limit when the HOA stopped broadcasting right in the middle of the IPv6 panel! We had to restart the HOA which restarted the YouTube stream and required all viewers to go to new URLs to watch. The good news here is that I was separately recording the video stream to disk so even though we weren’t broadcasting the stream I have a local copy that I can now cut up and upload to YouTube.

There were a host of other “lessons learned” for this experiment that we’ve captured for the next time we do a live stream using Google+ HOA.  Thank you to everyone who participated in our experiment!

Conclusion – It Worked!

The great news out of all of this is that we proved that you can run a livestream for an event in such a way that people can watch the video stream over IPv6 – including on an IPv6-only network.  This is excellent to see and a good step for the continued IPv6 deployment.

Kudos to the teams at Google for making both Google+ Hangouts / HOA and YouTube all work over IPv6. Given the large size and ease of use of those services, this is great to have available.

The great thing is, of course, that livestream producers don’t have to do anything to make their live streams available over IPv6.  Simply by using Google+ HOA or YouTube the livestream becomes available over both IPv4 or IPv6.

This is how it should be!

And notice again that the live stream goes out over IPv6 even if you are broadcasting from an IPv4-only network. (Again, as it should be.)

We look forward to learning that other livestreaming services provide a similar functionality and allow viewers to watch a live stream over IPv6.  We’ll probably look to use this Google+ HOA setup again for our next livestream, although we may also try out “YouTube Live” to see if that works any better for us.  (And if there are other livestreaming services out there that will be supporting IPv6, please do let us know and we’ll be glad to look at your service.)

Many thanks to everyone who joined in to help us prove that live video streaming could be done over IPv6 using readily available services[1], and thanks in particular to both Lee and Shumon for sending in these screenshots to confirm availability over IPv6!   We’ll be uploading the individual sessions to our YouTube channel and I also intend to write up some general guidelines for live streaming over IPv6.

Great news!

[1] Yes, we could have installed one of the various live streaming servers on our own infrastructure and run it over IPv6, but not every company or organization has the ability to do this.  We wanted to try out the existing public live streaming services that anyone can easily use.


UPDATE: In speaking with someone today about this test and the livestreaming, it occurred to me that this really is NOT a milestone, i.e. “the first live streaming over IPv6″, because the reality is that everyone using Google+ HOA or YouTube for live streaming has been getting IPv6 connectivity for those viewers with IPv6 networks. This “live streaming over IPv6″ has just been part of what Google has been offering for some time now.   We may have been one of the first ones to actively try to measure and demonstrate that we were live streaming over IPv6… but lots of other people have been doing it for quite some time now… but they just haven’t necessarily known about it.

And really, why should they care?  Live streaming over IPv6 should “just work” without the users on either the broadcasting or viewing end ever noticing.

A Critical Audio Setting In Live Streaming With Google+ Hangouts On Air (That I Missed!)

Do you have the correct audio stream configured in Google+ Hangouts On Air (HOA) when you are doing live streaming of an event using a HOA? When we ran our live stream out of ION Krakow on Monday, I mentioned that we hit the undocumented 4-hour maximum time limit, but we actually had a larger issue that for the first 1 hour and 45 minutes -
our live stream's audio was terrible!

Truly un-listenable at times. :-(

It turned out that while I had correctly configured Google+ HOA to use the proper video setting for the "Wirecast Virtual Camera", I didn't realize that I had to separately configure the audio seeting to specifically pull in the audio stream from my capture device:

Googleplus hangouts audio settings 450

I just mistakenly assumed that HOA would pull the audio from the camera... but instead it was getting the "Default microphone", meaning the mic on my laptop.

Interestingly, we didn't discover this in testing because when I was doing the testing with a wireless microphone I was sitting at my laptop and so naturally the audio quality was excellent. I did walk up to the front of the room at one point but even then there was no one in the room and my voice could be heard well.

The good news is that I had a separate recording going from the house mixer into my Zoom H4N, so I have a complete audio track for the event. Now I just have to go back and create a new video recording, stripping out the old bad audio track and syncing the backup recording. Not ideal but will at least give us videos of the sessions that we can upload.

The bad news is, of course, that the experience of the initial viewers was quite poor and I'm sure some of them did not stay around to watch more of the session under the assumption it would remain that way.

Why did it take so long for us to fix it?

Well, I was the one operating the livestream and I was speaking at the beginning and then moderating a panel discussion, so it was purely the case that I wasn't in a position to be able to diagnose and sort out the fix. During the break I finally had a chance to do so.

It was also a valuable lesson in monitoring. To look at the audio levels I was watching the graphical meters in Wirecast but I wasn't watching the level in the Google+ HOA screen! That was ultimately how I realized what was wrong. It also pointed out that we need to be running a second machine that is watching the actual livestream so that we can hear the issues ourselves.

All in all a valuable set of lessons that I'll be adding to my checklist for the next time we do a livestream using Google+ Hangouts On Air.

P.S. The key point of the whole exercise was to prove we could livestream an event out over IPv6, which did in fact prove to be successfu1!


If you found this post interesting or useful, please consider either: