cat *.mp4 | WebTorrent | ABPlayerHTML5 | 野狗实时云 > webtorrent-share - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
binux
V2EX    分享创造

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

  binux
binux 2016-05-08 18:51:33 +08:00 9977 次点击
这是一个创建于 3453 天前的主题,其中的信息可能已经有所发展或是发生改变。

用各种轮子组的一个车:

功能就是分享视频+弹幕,如果有多人同时播放,他们就 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 条回复    2020-04-16 15:53:03 +08:00
kslr
    1
kslr  
   2016-05-08 19:12:50 +08:00 via Android
是指基于 web 的 p2p 吗?
binux
    2
binux  
OP
   2016-05-08 19:16:32 +08:00
@kslr 是的,免插件 p2p
kikyous
    3
kikyous  
   2016-05-08 19:54:18 +08:00 via Android
嗯,有意思
for4
    4
for4  
   2016-05-08 20:08:54 +08:00
Koutetsujou no Kabaneri 赞
NullMan
    5
NullMan  
   2016-05-08 20:20:01 +08:00
我一个 1300+star 的项目, 也从 feross 的轮子里抄了些代码. 我也关注了他这个 WebTorrent 的项目, 非常赞. 你的车厢也很赞!
bjtugun
    6
bjtugun  
   2016-05-08 21:17:48 +08:00
为什么我首先想到的是一起看 porn [:cry:]
ovear
    7
ovear  
   2016-05-08 21:54:45 +08:00
OAQ 又见到 binux 菊苣了。。膜拜。
每次 binux 菊苣都能写到好多好玩的东西
nareix
    8
nareix  
   2016-05-08 22:06:31 +08:00
牛逼!这货可以理解为 web 版的快播吗?
binux
    9
binux  
OP
   2016-05-08 22:28:06 +08:00
@bjtugun 点我空降精彩镜头!

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

赞~
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3288 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 26ms UTC 11:32 PVG 19:32 LAX 04:32 JFK 07:32
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86