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

夜深了,发布一个新玩具,开源一大波代码,请低调

  •  1
     
  •   suconghou ·
    suconghou · 2020-07-12 22:41:37 +08:00 · 8058 次点击
    这是一个创建于 1627 天前的主题,其中的信息可能已经有所发展或是发生改变。
    开源一个基于 P2P 分享的某网站播放器

    DEMO 地址

    https://video.feds.club/video/1rUWY2z4wUk

    选择 720P 播放
    多个人观看同一个视频时就会发生 P2P 分享
    留意一下最下面的统计,测一下效果.

    当前是部署在`vercel`

    晚上出口网络就不好了,如果有卡顿,可以在左侧栏设置里视频解析服务里填写
    ```
    /video;https://stream.pull.workers.dev/video
    ```
    开启多源负载均衡下载

    开源地址

    https://github.com/suconghou/u2web

    相关仓库比较多,也简单写了一下开发过程 http://blog.suconghou.cn/post/mse-p2p-player/
    33 条回复    2020-09-27 15:34:36 +08:00
    AngryPanda
        1
    AngryPanda  
       2020-07-12 22:50:29 +08:00
    NB
    a570295535
        2
    a570295535  
       2020-07-12 22:57:43 +08:00 via Android
    小手一抖收藏到手!
    zdnet
        3
    zdnet  
       2020-07-12 23:00:26 +08:00 via Android
    厉害
    tigerstudent
        4
    tigerstudent  
       2020-07-13 00:55:15 +08:00 via Android
    预订牢饭
    aaronlam
        5
    aaronlam  
       2020-07-13 00:56:09 +08:00
    学习学习
    Roung
        6
    Roung  
       2020-07-13 01:00:55 +08:00 via Android
    多人观看?估计 porn 有大用处,商业公司采用这个感觉可能有。
    bagheer
        7
    bagheer  
       2020-07-13 01:03:59 +08:00
    看了一下,主要是一个分片播放器+go 的 proxy,反代视频
    web p2p 的部分感觉没啥用。。
    bianqurenfm
        8
    bianqurenfm  
       2020-07-13 07:55:03 +08:00   ❤️ 1
    6 年前 https://webtorrent.io 做了这个事情 DHT&WebRTC,现在已经逐渐成熟👀
    mengkun
        9
    mengkun  
       2020-07-13 08:21:18 +08:00
    擅自建立非法定信道警告!→_→
    sdfdsafsd
        10
    sdfdsafsd  
       2020-07-13 09:08:06 +08:00
    留名,下一个马化腾的参选者
    zarvin
        11
    zarvin  
       2020-07-13 09:18:31 +08:00
    cweijan
        12
    cweijan  
       2020-07-13 09:32:26 +08:00
    确实牛, 赞一个
    flynnlemon
        13
    flynnlemon  
       2020-07-13 09:43:44 +08:00 via Android
    厉害!
    mauve
        14
    mauve  
       2020-07-13 10:08:05 +08:00
    在公司,不敢点开,有没有告诉我某网站是 p 站还是 b 站?
    berumotto
        15
    berumotto  
       2020-07-13 10:10:39 +08:00
    @mauve youtube
    binux
        16
    binux  
       2020-07-13 10:14:19 +08:00
    7 年前我就实现了 P2P 视频,https://github.com/binux/webrtc_video
    请问马化腾在哪领?
    takemeaway
        17
    takemeaway  
       2020-07-13 10:20:22 +08:00
    好像很多年前就有人玩过这种了,实际上弊端太多。
    比这种更好的种子播放器都没玩起来。
    imdong
        18
    imdong  
       2020-07-13 10:29:41 +08:00
    框架很吊,我昨晚就看到了。
    但我今天回复是因为博客看到 muse-ui 这个 UI 库,正需要这样的库呢。
    ChangQin
        19
    ChangQin  
       2020-07-13 13:14:42 +08:00
    晚上回去看看
    Pho3nix
        20
    Pho3nix  
       2020-07-13 13:23:49 +08:00
    以为是某 hub 站,结果是 tube 站=。=
    no1xsyzy
        21
    no1xsyzy  
       2020-07-13 15:00:29 +08:00
    @Pho3nix #20 你说 tube 还有 red*
    Pho3nix
        22
    Pho3nix  
       2020-07-13 15:04:16 +08:00
    @no1xsyzy 别,营养跟不上了
    chihiro2014
        23
    chihiro2014  
       2020-07-13 15:05:49 +08:00
    仓库都炸了
    chihiro2014
        24
    chihiro2014  
       2020-07-13 15:06:38 +08:00
    原来是 Github 整体炸了
    yuan925
        25
    yuan925  
       2020-07-13 19:18:17 +08:00
    标记一下
    hanguofu
        26
    hanguofu  
       2020-07-14 01:16:14 +08:00 via Android
    我印象中,yubetube 有一个单独运作的 p2p 项目,和楼主所开发的这个有什么关系?
    iPhoneer
        27
    iPhoneer  
       2020-07-15 07:43:29 +08:00 via Android
    比爬墙快多了!很棒
    firefox12
        28
    firefox12  
       2020-07-16 13:39:02 +08:00
    不错,想问个细节,p2p 以后,这个数据怎么播放的,我的理解一个文件,被分成了多块,然后 p2p 以后,每个机器都通过 peer 获得了一个完整块,类似 bt 的边播放边下载技术。 只不过源是 实时从 youtube 里面转过来的。 拿到这个数据块以后,可以直接播放吗? 因为这个块 可能缺少很多信息
    suconghou
        29
    suconghou  
    OP
       2020-07-16 14:37:41 +08:00
    @firefox12 切片的数据是无法直接播放的,切片也不是随意切片的,web 上的切片合并播放时需要符合 mse 的约定,博客里有说明.
    LaPrima
        30
    LaPrima  
       2020-09-26 10:25:59 +08:00
    @suconghou 完成度很高,the streaming process is overall comparatively smooth and reliable👍👍
    简单过了一下代码,ustream 现在用的 api 和视频解析是 golang 版那个的,对吧?

    Some minor bugs/improvements:
    - 首页内容有重复
    - u2-player 的装 error 内容的 innerHtml 需要限制一下 dimsension? 考虑一下错误信息太多的情况
    - Shadow Dom 里面的 css 好多... :)

    A great piece of work though!!!
    suconghou
        31
    suconghou  
    OP
       2020-09-26 22:36:34 +08:00
    @LaPrima Thanks, 已优化了一部分;之前用的流量比较多 vercel 有些扛不住,有时会切换到 cf worker 走流量; data api 加了缓存有时也不够用,所以现在是新的 PHP 的一版,加了永久磁盘缓存和多密匙自动切换,部署在之前的一个廉价虚拟主机上.
    LaPrima
        32
    LaPrima  
       2020-09-27 10:33:16 +08:00
    @suconghou 看到你的 bug fixes and commits, 动作真快👍

    另外,那些 errMsg = “资源不存在的”,多数跟版权有关 /已被删除的 /隐藏的,比如这个 videoId, LzarYi-sSQY. 或许也有办法在通过 videoproxy 预先就过滤掉,对吧

    另另外的,我会写电子邮件给你 :)
    suconghou
        33
    suconghou  
    OP
       2020-09-27 15:34:36 +08:00
    @LaPrima 是可以判断过滤掉的,但这只是一个玩具没考虑这么多,API 只是做了缓存中转没其他逻辑
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1198 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 18:11 · PVG 02:11 · LAX 10:11 · JFK 13:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.