This week BitTorrent announced the open beta of BitTorrent Live, a new(ish) peer-to-peer protocol for live streaming. In their own words:
BitTorrent Live is a peer-to-peer live streaming protocol. It’s based on the principles of the BitTorrent protocol. And it’s designed to make real-time reporting, and open expression accessible to all. BitTorrent Live eliminates bandwidth, cost, and infrastructure as broadcast barriers. The more people that tune in, the more resilient your stream.
Want to sign up? Head over to live.bittorrent.com. I did, and gave it a shot over the past couple days.
Once you’re in the beta, you’ll be presented with your broadcast page. Here you’ll select your broadcast source – webcam or “other application.”
Since we’re talking about broadcasting and not YouTube stardom, we’re going to choose “Other Application.” This option allows us to use more pro options like Adobe Flash Media Live Encoder, Wirecast, etc. Once we click the Other Application option, a Setup Guide button pops up.
Clicking that Setup Guide button brings you to a simple but detailed set of instructions for setting up your software to stream via BitTorrent Live. Included in these instructions is your private streaming key – hence no screenshot. Keep this key private; anyone can stream to your “channel” if they get it.
Also included in the guide are recommended encoding settings:
Choose the H.264 video format and AAC audio format.
Set ‘Input Size’ to the resolution of your source video.
Configure output encoding to use one of the following encoding settings profiles:
Recommended – Medium Quality
Video Rate: 500Kbps
Audio Rate: 96Kbps
Frame Rate: 25 or 30 FPS
Video Rate: 700Kbps
Audio Rate: 96Kbps
Frame Rate: 25 or 30 FPS
Video Rate: 200Kbps
Audio Rate: 48Kbps
Frame Rate: 15 FPS
Notice how there’s no HD in there? My guess is that’s because, due to how BitTorrent Live works, most people don’t have the upstream bandwidth to go HD. From the broadcast page:
To do passable HD, you’re going to need to stream at least 1.5Mbps up. That means you need a bare minimum of 6Mbps upload speed. Time Warner maxes out at 5Mbps, at least here in Austin – and that’s promised speed, not delivered speed. So unless you’re somewhere with an enterprise pipe, you won’t be doing HD via BitTorrent Live.
Why does it need 4x upload bandwidth? I have no idea. Maybe 4 seed slots?
Two Become One
Another really important part of the Setup Guide is Step 3: Launch BitTorrent Live. You can’t broadcast using just streaming software – you also need to be running the BitTorrent Live software. This is kind of glossed over in the instructions, but is vital to actually streaming.
I’m pretty sure you’re basically turning your computer into a low-level HTTP streaming server.
Basically, Flash Media Live Encoder is not streaming to the web at large, but instead is sending its RTMP stream to the BitTorrent Live software. BT Live, in turn, is taking that stream and repackaging it in a way where it can be shared (seeded) via the BitTorrent protocol. My guess is it’s HTTP Live Streaming, a live streaming method that allows for distribution over standard web servers.
Anyway, just make sure you have BitTorrent Live running. Otherwise your streaming software will fail to connect.
Want to watch something using BitTorrent Live? You’ve still got to install the software. That’s a pretty big barrier for most of us in pro streaming – users at this point aren’t used to having to install something to watch a web video. Couple that with the unfortunately negative BitTorrent name association and that’s a recipe for viewers clicking away. More on that later.
I found the software to be pretty crashy. Normally it runs in the background, with a little red circle icon in your taskbar. But on my work machine – Win7 64bit, 3GB RAM – it would silently quit after a few seconds of video viewing, and prompt me to download and install it again. It appears that this isn’t an isolated issue either:
This also happened on my streaming server, running Windows Server 2008. Roughly 3 hours into my test stream, BT Live exited silently, which of course killed the stream. That right there, were I not a forgiving beta user, is enough for me to disqualify this from any consideration as a solution for a real broadcast.
And today there’s a tiny but important message at the top of live.bittorrent.com:
Now, it’s really important to remember that this is supposed to be a serverless system. This problem can’t be attributed to BitTorrent Live’s backend – there is no backend, right? Except there’s this excerpt from the Setup Guide:
The localhost part is pointing your encoder at the BitTorrent Live software running on your machine – but what’s this tracker.live.bittorrent.com:3000?
In the standard BitTorrent protocol, a tracker facilitates communication between peers – you connect to it to initiate your download, but from then on it’s not vital. But what about in Live, where the payload of the torrent is constantly changing? I’m not sure if you can support changing payloads via trackerless torrents, especially at the speed required for live streaming – which could be why there’s a tracker involved. If that’s the case, the BitTorrent Live client is constantly connecting to this tracker in order to update its payload and peer data – so if there’s an issue with the tracker, there’s an issue with the stream.
The idea is intriguing, the requirements for streaming are pretty high, and right now the whole thing seems almost nonfunctional. But it is a public beta, and this is the whole point – open it up so we all break it, then fix the problems prior to launch. So I’m taking the crashes out of the evaluation equation, in the (possibly misguided) assumption they will be sorted out prior to launch.
Even so, I don’t think this is for broadcasters.
- It requires the installation of BitTorrent software on streaming servers. That’s a nonstarter for many in Engineering and IT.
- It requires every viewer to install BitTorrent software. That’s a nonstarter for most viewers.
- It requires significant upstream bandwidth from both the origin site and each viewer. Viewers have never had an upstream requirement for video viewing – I see this causing problems hat will be difficult to troubleshoot.
- It places the scalability of the stream solely on the shoulders of anonymous viewers. While not a nonstarter, that’s pretty scary.
- If it indeed relies on a central tracker, then the whole “it’s decentralized” advantage is also gone.
So I guess if you want a non-HD stream that requires more from both the originator and the viewer than current solutions, you should check out BitTorrent Live. Otherwise, I can’t see much upside here.
Is there a place for leveraging peer-to-peer technology in content distribution? Absolutely, and I can’t wait to see it. But I feel like it will need to take more of our real-world streaming problems into consideration – and it sure as hell needs to have a name that isn’t, in the minds of many, synonymous with piracy.