P2P媒体加载器
P2P Media Loader是一个开放源代码的JavaScript库,它使用现代Web浏览器(即HTML5视频和WebRTC)的功能通过P2P传递媒体并通过与许多流行的HTML5视频播放器集成来进行播放。它不需要任何Web浏览器插件或附加组件即可运行(请参阅演示)。
它允许创建点对点网络(也称为P2P CDN或P2PTV),以在通过HLS或MPEG-DASH协议实时观看同一媒体流或VOD的用户(对等)之间共享流量。
它可以大大减少传统的CDN流量和成本,同时将媒体流交付给更多用户。
相关项目
- wt- tracker-高性能WebTorrent跟踪器
- WebTorrent -Web的流媒体客户端https://webtorrent.io
有用的链接
- P2P开发,支持和咨询
- 演示版
- 常问问题
- 总览
- 技术概述
- API文档
- hls.js集成
- Shaka Player整合
- 核心
- JS CDN
- 核心
- hls.js集成
- Shaka Player整合
- npm软件包
- 核心
- hls.js集成
- Shaka Player整合
主要特征
- 通过HLS或MPEG-DASH协议支持实时和VOD流
- 支持多个HTML5视频播放器和引擎:
- 引擎:Hls.js,Shaka Player
- 视频播放器:JWPlayer,Clappr,Flowplayer,MediaElement,VideoJS,Plyr,DPlayer,Player.js等
- 支持HLS和MPEG-DASH协议的自适应比特率流
- 无需服务器端软件。默认情况下,P2P Media Loader使用公开可用的服务器:
- STUN服务器- 公共STUN服务器列表
- WebTorrent跟踪器- https://openwebtorrent.com/,https://tracker.novage.com.ua/
P2P网络的关键组件
P2P网络的所有组件都是免费的和开源的。
P2P Media Loader Web浏览器要求是:
- WebRTC数据通道支持在同级之间交换数据
- Hls.js和Shaka Player引擎需要媒体源扩展名才能播放媒体
WebRTC使用 STUN服务器收集 ICE候选者。Public STUN服务器列表上有许多正在运行的公共服务器。
WebTorrent跟踪器用于WebRTC信令,并创建下载相同媒体流的对等方。但运行的公共跟踪器可供选择: https://openwebtorrent.com, https://tracker.novage.com.ua。可以使用开源实现来运行个人WebTorrent跟踪器: bittorrent-tracker, wt-tracker。
默认情况下,P2P Media Loader配置为使用公共STUN和WebTorrent服务器。这意味着不需要运行任何服务器端软件即可使P2P网络正常运行。
怎么运行的
Web浏览器运行与P2P Media Loader库集成的视频播放器。P2P Media Loader的一个实例称为peer。许多对等方组成P2P网络。
P2P Media Loader开始通过HTTP(S)从源服务器或CDN下载初始媒体段。这样可以更快地开始播放媒体。另外,在没有对等方的情况下,它将继续通过HTTP(S)下载片段,这与通过HTTP下载传统媒体流没有什么不同。
之后,P2P Media Loader将媒体流详细信息及其连接详细信息(ICE候选)发送到WebTorrent跟踪器,并从中获取下载相同媒体流的其他对等方的列表。
P2P Media Loader连接并开始从获得的对等方下载媒体片段,并与它们共享已下载的片段。
P2P群组中的随机对等节点有时会通过HTTP(S)下载新的分段,并通过P2P与其他人共享。
局限性
通过P2P只传送一个媒体轨道。如果HLS或MPEG-DASH中的视频和音频轨道分开进行,则仅视频将通过P2P网络共享。
网络浏览器支持
铬 | 火狐浏览器 | macOS Safari | iPadOS Safari(iPad) | iOS Safari(iPhone) | IE浏览器 | 边缘 | |
---|---|---|---|---|---|---|---|
WebRTC数据通道 | + | + | + | + | + | — | — |
媒体源扩展 | + | + | + | + | — | + | + |
P2P媒体加载器 | + | + | + | + | — | — | — |
一、如果您发现本站侵害了相关版权,请附上本站侵权链接和您的版权证明一并发送至邮箱:yehes#qq.com(#替换为@)我们将会在五天内处理并断开该文章下载地址。
二、本站所有资源来自互联网整理收集,全部内容采用撰写共用版权协议,要求署名、非商业用途和相同方式共享,如转载请也遵循撰写共用协议。
三、根据署名-非商业性使用-相同方式共享 (by-nc-sa) 许可协议规定,只要他人在以原作品为基础创作的新作品上适用同一类型的许可协议,并且在新作品发布的显著位置,注明原作者的姓名、来源及其采用的知识共享协议,与该作品在本网站的原发地址建立链接,他人就可基于非商业目的对原作品重新编排、修改、节选或者本人的作品为基础进行创作和发布。
四、基于原作品创作的所有新作品都要适用同一类型的许可协议,因此适用该项协议, 对任何以他人原作为基础创作的作品自然同样都不得商业性用途。
五、根据二〇〇二年一月一日《计算机软件保护条例》规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可不经软件著作权人许可,无需向其支付报酬!
六、鉴此,也望大家按此说明转载和分享资源!本站提供的所有信息、教程、软件版权归原公司所有,仅供日常使用,不得用于任何商业用途,下载试用后请24小时内删除,因下载本站资源造成的损失,全部由使用者本人承担!