V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
爱意满满的作品展示区。
binux

cat *.mp4 | WebTorrent | ABPlayerHTML5 | 野狗实时云 > webtorrent-share

  binux ·
binux · May 8, 2016 · 10482 views
This topic created in 3644 days ago, the information mentioned may be changed or developed.

用各种轮子组的一个车:

功能就是分享视频+弹幕,如果有多人同时播放,他们就 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 ),但是很有趣,很有希望不是吗。

29 replies    2020-04-16 15:53:03 +08:00
kslr
    1
kslr  
   May 8, 2016 via Android
是指基于 web 的 p2p 吗?
binux
    2
binux  
OP
   May 8, 2016
@kslr 是的,免插件 p2p
kikyous
    3
kikyous  
   May 8, 2016 via Android
嗯,有意思😄
for4
    4
for4  
   May 8, 2016
Koutetsujou no Kabaneri 赞
NullMan
    5
NullMan  
   May 8, 2016
我一个 1300+star 的项目, 也从 feross 的轮子里抄了些代码. 我也关注了他这个 WebTorrent 的项目, 非常赞. 你的车厢也很赞!
bjtugun
    6
bjtugun  
   May 8, 2016
为什么我首先想到的是一起看 porn [:cry:]
ovear
    7
ovear  
   May 8, 2016
OAQ 又见到 binux 菊苣了。。膜拜。
每次 binux 菊苣都能写到好多好玩的东西
nareix
    8
nareix  
   May 8, 2016
牛逼!这货可以理解为 web 版的快播吗?
binux
    9
binux  
OP
   May 8, 2016
@bjtugun 点我空降精彩镜头!

@nareix 貌似可以啊, P2P 网络是互通的,只要是同一个文件,可以相互 P2P 加速。
run2
    10
run2  
   May 8, 2016
-.- 怎么能缩小延迟,加 server 来 upload ?
MyLeoWind
    11
MyLeoWind  
   May 8, 2016
binux 菊苣真厉害。
JamesRuan
    12
JamesRuan  
   May 8, 2016
真做出来了,赞!
binux
    13
binux  
OP
   May 9, 2016
@sobigfish 并不是直播啊,为什么会有延迟?
wedd
    14
wedd  
   May 9, 2016
能否做到以后视频网站再也不需要提供什么西瓜、快播之类客户端下载了
qq316107934
    15
qq316107934  
   May 9, 2016 via Android
感觉可以做成一个用户在浏览器上传视频后发链接可以 P2P 分享给其他人,做到实时发车,永不翻车,想想就有点小激动。
yurivvvvv
    16
yurivvvvv  
   May 9, 2016
视频格式受限制吧?
wilddog
    17
wilddog  
   May 9, 2016
您好~可以跟您认识一下吗?~
binux
    18
binux  
OP
   May 9, 2016
@qq316107934 webtorrent 的示例里面有很多这样的东西,但是需要有人开着浏览器做种,无法做到 7*24 ,而我不想这样。
@yurivvvvv 只有 mp4 能跳播,其他视频依据格式,只能顺序播放。
binux
    19
binux  
OP
   May 9, 2016
@yurivvvvv 啊,还受浏览器视频格式支持限制。
run2
    20
run2  
   May 9, 2016
@sobigfish 就是问能实现 p2p 加速的直播不
binux
    21
binux  
OP
   May 9, 2016
@sobigfish 理论上可行,比如你把直播切成小段视频。但实际不能,直播的编码流不被浏览器直接支持,无法在前端解码 P2P 传输。
run2
    22
run2  
   May 10, 2016
https://github.com/streamroot/clappr-p2phls-plugin
也是 WebRTC 实现的(简介:写的是 peer-to-peer plugin for Clappr Player (HTTP Live Streaming, HLS, WebRTC, P2P)),具体的没看,估计也看不大懂-。-
wusuopuBUPT
    23
wusuopuBUPT  
   May 10, 2016
好顶赞 binux 牛!
binux
    24
binux  
OP
   May 10, 2016
@sobigfish 看了下代码,这个东西的传输是 WebRTC 实现的,然而播放器是 flash 实现的,播放器提供了 requestresource 事件,使得按需加载资源成为可能。
然而纯 html5 播放器不提供这样的接口,无法接管数据传输部分。
weaponX
    25
weaponX  
   May 11, 2016
播了 2 秒,然后就。。。卡住了。。。住了。。。了。。。
其实是 Chrome 没响应了,过了 5 秒左右才好了,这部分时间是否进行了大量的 CPU 计算呢?
binux
    26
binux  
OP
   May 11, 2016 via Android
@weaponX meta 解析,流拼接, piece 校验都挺耗 CPU 的
schezukNewTos
    27
schezukNewTos  
   May 12, 2016
https://www.v2ex.com/t/170114
安利磁链弹幕项目, QQ 群 417216334
jabbany
    28
jabbany  
   May 13, 2016
卧槽,赞!
mywaiting
    29
mywaiting  
   Apr 16, 2020
看到这个简直震惊......

赞~
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2406 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 127ms · UTC 04:17 · PVG 12:17 · LAX 21:17 · JFK 00:17
♥ Do have faith in what you're doing.