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

2016-05-08 18:51:33 +08:00
 binux

用各种轮子组的一个车:

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

9175 次点击
所在节点    分享创造
29 条回复
binux
2016-05-09 20:27:21 +08:00
@sobigfish 理论上可行,比如你把直播切成小段视频。但实际不能,直播的编码流不被浏览器直接支持,无法在前端解码 P2P 传输。
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
2016-05-10 15:34:50 +08:00
好顶赞 binux 牛!
binux
2016-05-10 17:12:42 +08:00
@sobigfish 看了下代码,这个东西的传输是 WebRTC 实现的,然而播放器是 flash 实现的,播放器提供了 requestresource 事件,使得按需加载资源成为可能。
然而纯 html5 播放器不提供这样的接口,无法接管数据传输部分。
weaponX
2016-05-11 10:24:33 +08:00
播了 2 秒,然后就。。。卡住了。。。住了。。。了。。。
其实是 Chrome 没响应了,过了 5 秒左右才好了,这部分时间是否进行了大量的 CPU 计算呢?
binux
2016-05-11 17:45:55 +08:00
@weaponX meta 解析,流拼接, piece 校验都挺耗 CPU 的
schezukNewTos
2016-05-12 00:45:21 +08:00
https://www.v2ex.com/t/170114
安利磁链弹幕项目, QQ 群 417216334
jabbany
2016-05-13 12:51:06 +08:00
卧槽,赞!
mywaiting
2020-04-16 15:53:03 +08:00
看到这个简直震惊......

赞~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/277158

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX