V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
binux
V2EX  ›  分享创造

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

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

用各种轮子组的一个车:

功能就是分享视频+弹幕,如果有多人同时播放,他们就 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 加速。
sobigfish
    10
sobigfish  
   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 啊,还受浏览器视频格式支持限制。
sobigfish
    20
sobigfish  
   2016-05-09 20:15:13 +08:00
@sobigfish 就是问能实现 p2p 加速的直播不
binux
    21
binux  
OP
   2016-05-09 20:27:21 +08:00
@sobigfish 理论上可行,比如你把直播切成小段视频。但实际不能,直播的编码流不被浏览器直接支持,无法在前端解码 P2P 传输。
sobigfish
    22
sobigfish  
   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
https://www.v2ex.com/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   ·   实用小工具   ·   3331 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 29ms · UTC 12:14 · PVG 20:14 · LAX 04:14 · JFK 07:14
Developed with CodeLauncher
♥ Do have faith in what you're doing.