We have envisioned live streaming as a future use case for Web Monetized Media. Live streaming is becoming more and more popular and Web Monetization has a great potential in providing income for live streaming artists and businesses.
Here we will go through a technical proposal on implementing a live streaming application with Web Monetization.
We suggest using WebRTC as the backbone for streaming content. WebRTC has matured into a stable and well supported technology which brings many advantages to more traditional methods of streaming.
WebRTC is a peer-to-peer technology that can stream content directly from the artist's computer to receiving audiences computers without dedicated servers. With an increase in audience size the audience’s computers could be used as relay nodes passing the stream to new audiences. Thus, the stream could be shared to greater audiences without investing in heavy video servers.
The decentralized nature of WebRTC fits well with the decentralized philosophy of Web Monetization and Interledger.
Still, there would be a need for one centralized server called a bootstrap node that initialises the connections between peers and manages the network structure, to make sure all audience computers receive the stream properly.
The same centralized server could be used to verify payments. With small modifications the code found in wmm-utils could be used to verify receipts sent by each audience computer, and disallow sharing of the stream unless the payments meet given criteria. As of now, this could be done by calculating the cost per minute of streamed content.
For receipts to work correctly, a receipts verifier service that connects to the Interledger network is required.
For the audience the UI can be relatively simple, utilizing standard
For the streamer, the UI should be somewhat more complicated. Firstly, there’s the source of the media, whether it’s from webcam, screen capture, etc.. There should be an UI for changing the source on the fly and possibly also an ability to mix multiple source streams into one. Effects, text etc., the list of editing possibilities is endless, and naturally, using existing open source libraries such as moviemasher.js could save a lot of time on implementation.
Another problem to solve is how the streams are shared, and how the audience finds them. The obvious solution is to create a single marketplace in the spirit of YouTube and cinnamon.video for searching and browsing through streams.
With the decentralized nature of the technology stack, it might be worth trying to also create more decentralized marketplaces. By building an open protocol the streams could be shared on many different marketplaces, and their spread wouldn’t be hindered by any single gatekeeper.
Also, sharing private streams simply by sending a link to the audience could be a niche worth exploring.
Web Monetization enables new ways of creating revenue that is not plagued by the problems of controlling and manipulating the users, as is often the case with advertisement. The combination of Web Monetization with live streaming seems like an obvious match and by building on open protocols the potential for such technology seems definitely worth exploring.