使用比特币支付渠道的去中心化、无需信任的视频流
Streamium 是一个完全去中心化的付费视频流应用程序。它利用比特币和 WebRTC 等各种现有技术来实现无需中介的无需信任的即用即付视频流。
内容创建者通过与客户端的支付渠道提供流媒体服务以换取比特币,流式传输一系列免费交易,没有交易对手风险。
要运行 Streamium,只需使用任何 Web 服务器提供根目录即可。例如:
cd streamium/ bower install npm install node server.js & node ssl_peerjs.js &
然后从任何支持 WebRTC 的浏览器访问它:
https://本地主机:8443/
用户广播通过指定要使用的名称(这将是视频流的唯一标识符)来创建频道。她需要提供资金最终发送到的支付地址以及她期望流消费者支付的费率。她将收到一个链接,可与该流的潜在消费者分享。
对于消费者用户,Web 应用程序将通过打开与提供商的点对点连接来加入频道。屏幕将显示提供商收取的费率、提供商的公钥和资金地址。
消费者网络应用程序将生成一个私钥并在屏幕上显示一个地址,以便用户可以为该频道提供资金。当检测到向该地址添加资金的交易后,通过要求服务器签署退款交易并广播承诺交易来建立支付通道。
当服务器收到承诺交易并准备开始广播时,将开始向该用户传输视频。用户将定期将他签名的交易传输到服务器(就像签署不会兑现的支票),其中每笔交易都会逐渐增加支付给服务器的金额。当用户停止付款或连接丢失时,服务器将停止传输并广播最后收到的付款。
Streamium 是一个静态 HTML Web 应用程序,因此不需要服务器来运行。
AngularJS 用于客户端应用程序代码(并且没有服务器端代码!)
WebRTC 是一种浏览器到浏览器通信协议,用于在客户端和服务提供商之间共享视频流。它允许在没有中央服务器的情况下共享数据和媒体。我们使用 PeerJS 来管理 WebRTC 连接。
比特币是一种用于无需信任的支付的点对点货币。比特币支付通道用于建立安全的按需付费机制,无需第三方。
代码在 MIT 许可下发布。
版权所有 2015 Streamium 开发者