0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一种基于WebRTC通信的Web协议WebTorrent

LiveVideoStack 来源:未知 作者:李倩 2018-08-30 17:32 次阅读

本文来自WebTorrent的创始人、PeerCDN联合创始人Feross Aboukhadijeh,他介绍了一种基于WebRTC通信的Web协议WebTorrent,通过WebTorrent可以节省服务器资源,降低成本。LiveVideoStack对原文进行了摘译。

WebTorrent是一种在Web浏览器中运行的BitTorrent协议的实现。这种服务文件的方法意味着,网站可以与尽可能多的用户进行扩展,同时浏览网站,从而消除在数据中心运行集中服务器的成本。本文由Feross Aboukhadijeh撰写,他是WebTorrent的创始人和PeerCDN的联合创始人,也是一位多产的NPM模块作者......最终统计有225个模块!-Dietrich Ayala

什么是WebTorrent?

WebTorrent是第一个在浏览器中工作的种子客户端。它完全由JavaScript编写,并使用WebRTC进行真正的点对点传输。无需浏览器插件,扩展或安装。

使用开放式Web标准,WebTorrent将网站用户连接在一起,形成分布式的和分散式的浏览器到浏览器网络,以实现高效的文件传输。使用基于WebTorrent的网站的人越多,它就越快,越有弹性。

架构

WebTorrent协议就像BitTorrent协议一样,除了它使用的是WebRTC而不是TCP或uTP作为传输协议。

为了支持WebRTC的连接模型,我们对跟踪器协议进行了一些更改。因此,基于浏览器的WebTorrent客户端或“web peer”只能连接到支持WebTorrent / WebRTC的其他客户端。

一旦连接对等体后,用于通信的有线协议与正常的BitTorrent就完全相同。这应该使现有流行的torrent客户端如Transmission和uTorrent更容易添加对WebTorrent的支持。Vuze已经支持WebTorrent了!

入门

只需几行代码即可在浏览器中下载torrent!

要开始使用WebTorrent,只需在页面上包含webtorrent.min.js脚本即可。你可以从WebTorrent网站下载脚本或链接到CDN副本。

这为窗口对象提供了一个WebTorrent函数。还有一个npm包可用。

varclient=newWebTorrent()//Sintel,afree,CreativeCommonsmovievartorrentId='magnet:...'//Realtorrentidsaremuchlonger.vartorrent=client.add(torrentId)torrent.on('ready',()=>{//Torrentscancontainmanyfiles.Let'susethe.mp4filevarfile=torrent.files.find(file=>file.name.endsWith('.mp4'))//DisplaythefilebyaddingittotheDOM.//Supportsvideo,audio,imagefiles,andmore!file.appendTo('body')})

就是这样的!现在,你将看到BT流进入到标签

更多

你可以浏览webtorrent.io或者在Freenode IRC或Gitter上的#webtorrent中提问来了解更多信息。我们正在寻找更多能够在GitHub问题跟踪器上回答问题并帮助解决问题的人。如果你是一个友善,乐于助人的人,并想乘机深入挖掘洪流协议或WebRTC,那么这就是你的机会!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Web
    Web
    +关注

    关注

    2

    文章

    1235

    浏览量

    68429
  • 浏览器
    +关注

    关注

    1

    文章

    968

    浏览量

    34364

原文标题:Dweb:使用WebRTC / WebTorrent构建弹性Web

文章出处:【微信号:livevideostack,微信公众号:LiveVideoStack】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何实现WebRTC协议与SIP协议互通

    WebRTC协议与SIP协议互通的需求来源目前在国内需要WebRTC协议与SIP
    发表于 09-04 16:04

    如何去设计一种串行通信系统?

    OEM板的工作原理和通讯协议是什么?如何去设计一种串行通信系统?怎样去读取GPS定位信息?
    发表于 04-28 07:22

    介绍一种基于MOST的互联网协议通信标准

    介绍一种基于MOST的互联网协议通信标准
    发表于 05-21 07:10

    如何去设计一种点对点通信协议PPPoE模块?

    如何去设计一种点对点通信协议PPPoE模块?
    发表于 06-03 07:06

    一种支持TTL协议设备与CAN协议设备通信的电路

    本实用新型涉及通信电路,尤其是一种支持TTL协议设备与CAN协议设备通信的电路。背景技术:CAN是一种
    发表于 08-23 08:31

    WebRTC技术相关资料推荐

    很多种,p2p并不能解决所有的网络通信问题,视频通话会采用多种架构相结合的方式,保障用户视频通话的接通率。WebRTC虽然是项主要使用p2p的实时通讯技术,本应该是无中心化节点的,但是在
    发表于 11-01 08:21

    WebRTC技术的应用

    很多种,p2p并不能解决所有的网络通信问题,视频通话会采用多种架构相结合的方式,保障用户视频通话的接通率。WebRTC虽然是项主要使用p2p的实时通讯技术,本应该是无中心化节点的,但是在
    发表于 11-01 07:42

    WebRTC有哪些功能

    WebRTC 本身提供的是 1 对 1 的通信模型,在 STUN/TURN 的辅助下,如果能实现 NAT 穿越,那么两个浏览器是可以直接进行媒体数据交换的;如果不能实现 NAT 穿越,那么只能通过
    发表于 11-03 08:16

    什么是WebRTC

    什么是WebRTCWebRTC,即Web Real-Time Communication(网页即时通信)。它是个开源项目,旨在创建简单、
    发表于 12-09 07:59

    基于TCP的一种新的网络协议WebSocket

    开启 WebSocket 服务WebSocket 服务是网页程序、安卓 App、微信小程序等获得数据和服务的接口,是基于TCP 的一种新的网络协议,它实现了浏览器与服务器全双工通信。通过
    发表于 12-16 07:38

    WEBRTC有哪几种类型

    WEBRTC类型(Mesh、MCU 和 SFU)的多方通信架构WebRTC 本身提供的是 1 对 1 的通信模型,在 STUN/TURN
    发表于 02-14 06:36

    webrtc p2p

    嵌入式设备下支持标准的webrtc协议,同时支持p2p和turn,支持edge和google等浏览器看视频,需要的请联系,整个库的大小不到3M,方便试用,有信令服务器代码和嵌入式webrtc代码
    发表于 08-10 21:58

    如何使用WebRTC/WebTorrent构建弹性Web

    WebTorrent是第一个在浏览器中工作的种子客户端。它完全由JavaScript编写,并使用WebRTC进行真正的点对点传输。无需浏览器插件,扩展或安装。
    的头像 发表于 08-29 16:18 3030次阅读

    Zoom的Web客户端和WebRTC有什么关系

    Zoom是非常出色的视频会议平台,拿Zoom的web客户端和WebRTC对比似乎有失公允。重要的是,未来WebRTC还会不断做明智的改进。
    的头像 发表于 02-02 15:17 7135次阅读
    Zoom的<b class='flag-5'>Web</b>客户端和<b class='flag-5'>WebRTC</b>有什么关系

    WebRTC速成课程

    WebRTC 设计的目标就是“设计一种通过尽量短的、延迟尽量低的路径进行 P2P 通信协议,提供一种简单的、能让所有人使用的 API”
    的头像 发表于 03-24 10:34 1066次阅读