用各种轮子组的一个车:
功能就是分享视频+弹幕,如果有多人同时播放,他们就 P2P ,如果他们播放时间差距在 10 秒内,还能实时弹幕聊天
演示: http://bgm.binux.me/ (可能只能工作于 Chrome )
源码: https://github.com/binux/webtorrent-share
3 年前,就想做一个无插件的视频 P2P 分享播放的东西。然后做了一个 webrtc_video 的原型,证明这个东西理论可行。直到 WebTorrent 的持续开发,让这个理论慢慢变得实用,真的非常感谢 WebTorrent 的开发者 feross 3 年多持续不懈的开发(你会发现 feross 为了这个项目关联开发了非常多周边库)。
不知道现在还有多少人记得 PeerCDN 这个通过 WebRTC 做 P2P CDN 的项目,希望 webtorrent-share 能提供一个应用的思路。虽然 WebTorrent 还远不能称为成熟(本想全 webtorrent 网络传输的,但是 node 的 webrtc 协议实现还是不稳定,只好退用 webseed ),但是很有趣,很有希望不是吗。
1 kslr 2016-05-08 19:12:50 +08:00 via Android 是指基于 web 的 p2p 吗? |
3 kikyous 2016-05-08 19:54:18 +08:00 via Android 嗯,有意思 |
4 for4 2016-05-08 20:08:54 +08:00 Koutetsujou no Kabaneri 赞 |
![]() | 5 NullMan 2016-05-08 20:20:01 +08:00 我一个 1300+star 的项目, 也从 feross 的轮子里抄了些代码. 我也关注了他这个 WebTorrent 的项目, 非常赞. 你的车厢也很赞! |
6 bjtugun 2016-05-08 21:17:48 +08:00 为什么我首先想到的是一起看 porn [:cry:] |
![]() | 7 ovear 2016-05-08 21:54:45 +08:00 OAQ 又见到 binux 菊苣了。。膜拜。 每次 binux 菊苣都能写到好多好玩的东西 |
8 nareix 2016-05-08 22:06:31 +08:00 牛逼!这货可以理解为 web 版的快播吗? |
![]() | 9 binux OP |
![]() | 10 run2 2016-05-08 22:31:19 +08:00 -.- 怎么能缩小延迟,加 server 来 upload ? |
![]() | 11 MyLeoWind 2016-05-08 23:03:34 +08:00 binux 菊苣真厉害。 |
![]() | 12 JamesRuan 2016-05-08 23:23:02 +08:00 真做出来了,赞! |
![]() | 14 wedd 2016-05-09 09:46:30 +08:00 能否做到以后视频网站再也不需要提供什么西瓜、快播之类客户端下载了 |
![]() | 15 qq316107934 2016-05-09 10:48:49 +08:00 via Android 感觉可以做成一个用户在浏览器上传视频后发链接可以 P2P 分享给其他人,做到实时发车,永不翻车,想想就有点小激动。 |
16 yurivvvvv 2016-05-09 14:07:42 +08:00 视频格式受限制吧? |
![]() | 17 wilddog 2016-05-09 15:23:09 +08:00 您好~可以跟您认识一下吗?~ |
![]() | 18 binux OP @qq316107934 webtorrent 的示例里面有很多这样的东西,但是需要有人开着浏览器做种,无法做到 7*24 ,而我不想这样。 @yurivvvvv 只有 mp4 能跳播,其他视频依据格式,只能顺序播放。 |
![]() | 21 binux OP @sobigfish 理论上可行,比如你把直播切成小段视频。但实际不能,直播的编码流不被浏览器直接支持,无法在前端解码 P2P 传输。 |
![]() | 22 run2 2016-05-10 12:14:44 +08:00 https://github.com/streamroot/clappr-p2phls-plugin 也是 WebRTC 实现的(简介:写的是 peer-to-peer plugin for Clappr Player (HTTP Live Streaming, HLS, WebRTC, P2P)),具体的没看,估计也看不大懂-。- |
![]() | 23 wusuopuBUPT 2016-05-10 15:34:50 +08:00 好顶赞 binux 牛! |
![]() | 24 binux OP @sobigfish 看了下代码,这个东西的传输是 WebRTC 实现的,然而播放器是 flash 实现的,播放器提供了 requestresource 事件,使得按需加载资源成为可能。 然而纯 html5 播放器不提供这样的接口,无法接管数据传输部分。 |
25 weaponX 2016-05-11 10:24:33 +08:00 播了 2 秒,然后就。。。卡住了。。。住了。。。了。。。 其实是 Chrome 没响应了,过了 5 秒左右才好了,这部分时间是否进行了大量的 CPU 计算呢? |
27 schezukNewTos 2016-05-12 00:45:21 +08:00 t/170114 安利磁链弹幕项目, QQ 群 417216334 |
![]() | 28 jabbany 2016-05-13 12:51:06 +08:00 卧槽,赞! |
![]() | 29 mywaiting 2020-04-16 15:53:03 +08:00 看到这个简直震惊...... 赞~ |