Hacker News new | comments | show | ask | jobs | submit login

I wish BitTorrent Live was made open source. There are a number of companies working on "P2P CDNs" for live streaming[1][2][3], but all of their work is proprietary. The companies' sales pitches are usually around efficiency: it allows providers to pay for less CDN capacity.

I'm more interested in the decentralization aspect. It makes live streams hard to censor and easy to distribute.

The closest open source equivalent we have is PPSPP (Peer-to-Peer Streaming Peer Protocol), or RFC 7574[4]. Unfortunately, the reference implementation, libswift[5], was seemingly abandoned a few years ago. In addition, PPSPP only deals with a stream of bytes, and while it was made with video in mind there is no implementation that handles video well: making different swarms for different quality levels, intelligent chunking, perhaps even deterministic encoding[6].

[1] https://www.peer5.com

[2] https://viblast.com/pdn/

[3] https://www.streamroot.io

[4] https://tools.ietf.org/html/rfc7574

[5] https://github.com/libswift/libswift/blob/devel/TODO

[6] http://www.ndsl.kaist.edu/~kyoungsoo/papers/mmsys14.pdf

It's not just P2P-CDNs it's all live streaming video, HLS and MPEG-DASH. Open source tools for these technologies are sparse.

Even good HTML5 players that match YouTube's feature set are few and far between.

Bitorrent Live is excellent btw. One of the best performing video apps on iOS.

I think this may be because:

- Doing adaptive bitrate like YouTube does means doing many transcodes.

- Transcoding is either extremely CPU intensive, bandwidth heavy or low quality.

- Transcoding in realtime requires further compromise on the above, to the point where distributing the transcode over multiple machines is necessary.

- There doesn't seem to be an agreed upon, browser supported protocol for live DASH. Static is easy enough but live is more difficult, especially when you add seeking, pausing etc.

- The above means you need both a backend and a frontend system.

- Running a system like this is very expensive. The entities interested in running it and able to do so are usually willing to pay for it.

All this said, Emby[0] can stream a transcode and perhaps its stack would be a good place to start.

[0]: https://emby.media

I'm actually an engineer on the BitTorrent Live product and we definitely hear that desire. While we can't exactly open source the protocol itself, some of the libraries we've developed are currently freely available under permissive licenses.

If you're interested in the tech and want to read some related stuff, we're hosting an engineering blog over at https://blog.btlive.io/.




And just recently, the UI framework we wrote for BitTorrent Live: https://github.com/bittorrent/okui

Agreed. They could be the Mozilla of streaming video but they have to open source.

I hesitate to wager, but I can imagine a world where an open video only protocol sucks up a bigger percent of attention than the web.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact