V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wangbenjun5
V2EX  ›  程序员

用 Go 写了个抓取直播源的客户端工具

  •  1
     
  •   wangbenjun5 · 2021-07-11 10:59:24 +08:00 · 6206 次点击
    这是一个创建于 1235 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Catya

    https://github.com/wangbjun/catya

    有一说一,虎牙的 4k 60fps 直播源画质真高,达到了 YouTube 的水平,但是在浏览器上面看还是相当吃资源。

    于是,我写了个工具,抓了直播源地址,然后通过本地播放器打开,我用的是 SMPlayer,效果非常好,贼流畅。

    GUI 这块使用了 Fyne 这个开源图形库,这个库功能还挺强大的,基于 opengl,简单的组件都有,就是不是布局太好用,贵在是原生 UI,而且跨平台,甚至连安卓也能跑。

    用法

    我自己用的 Ubuntu 桌面,所以我只打包编译了 Linux 的版本,需要的点击 relase 下载,Mac 或者 Windows 的自行编译吧。。。

    复制虎牙直播间地址,或者直接输入直播间号,比如 lpl,或者 s4k ( 4k 直播间号),点击提交,下面就会列出所有源地址,但是不是所有源都可以用,我也不清楚为啥有的用不了。

    然后只要点击列表可以复制地址到粘贴板,如果你安装了 SMPlayer 的话,则会自动打开直播。

    我还特地准备了 icon,放上去毫无违和感!

    备注

    如果你觉得浏览器看 4k 比较占资源,同时不喜欢看弹幕撕逼带节奏的话,这个非常适合你,另外如果你是 4k 屏幕,可能需要设置一下缩放,通过导入一个环境变量,比如我设置成 1.75 。

    export FYNE_SCALE=1.75
    

    最后,弱弱问下,这个不会有啥版权问题吧,侵权秒删!

    第 1 条附言  ·  2021-07-11 14:20:33 +08:00
    这个工具纯粹是我自己喜欢看虎牙 lpl 比赛直播,突发奇想写的,看 shy 哥用的
    第 2 条附言  ·  2021-07-11 16:59:58 +08:00

    刚才更新了一下,增加了一个记录最近访问过的直播间的功能,一键直达,贼方便

    35 条回复    2021-07-12 19:10:34 +08:00
    wangbenjun5
        1
    wangbenjun5  
    OP
       2021-07-11 11:02:59 +08:00
    linux 用户点这个下载使用: https://github.com/wangbjun/catya/releases/tag/v1.0
    Rorshach
        2
    Rorshach  
       2021-07-11 12:04:53 +08:00
    好东西 能抓 b 站吗
    guaguaguaxia1
        3
    guaguaguaxia1  
       2021-07-11 12:16:00 +08:00
    真侵权了不会给你秒删的机会
    wangbenjun5
        4
    wangbenjun5  
    OP
       2021-07-11 12:21:30 +08:00
    @Rorshach 目前只有虎牙
    wangbenjun5
        5
    wangbenjun5  
    OP
       2021-07-11 12:21:49 +08:00
    @guaguaguaxia1 说的我怕怕的,哈哈
    ipixeloldc
        6
    ipixeloldc  
       2021-07-11 12:38:38 +08:00
    @Rorshach B 站的 api 文档已经烂大街了,你自己搜搜就有了。并且那个获取直播流地址的 api 没有验证。我自己也用 jsbox 写了个,解决 B 站客户端直播没画中画的问题 2333
    hronro
        7
    hronro  
       2021-07-11 12:42:27 +08:00
    不错,支持一个。
    我自己之前一直用的 streamlink,Python 写的,但我自己还是比较偏好 Go 这种编译型的。
    JerryCha
        8
    JerryCha  
       2021-07-11 14:23:42 +08:00
    好耶,改一改就能拿来辅助录 A-Soul 的直播了
    Gzilla
        9
    Gzilla  
       2021-07-11 14:37:05 +08:00
    @JerryCha 哪里都有是吧! 不许你录顶碗人的爹
    JerryCha
        10
    JerryCha  
       2021-07-11 15:27:51 +08:00
    @Gzilla ?我录我爹尽个孝都不行吗
    Gzilla
        11
    Gzilla  
       2021-07-11 15:54:12 +08:00
    @JerryCha 你真的 , 我哭死
    janxin
        12
    janxin  
       2021-07-11 16:56:13 +08:00
    @ipixeloldc 你甚至可以使用火狐😂
    ihipop
        14
    ihipop  
       2021-07-11 17:53:00 +08:00 via Android
    @ipixeloldc 两次双击右键即可出现画中画
    lingxi27
        15
    lingxi27  
       2021-07-11 17:59:24 +08:00
    斗鱼可以抓到吗?好像已经不是 http-flv 了
    huyujievip
        16
    huyujievip  
       2021-07-11 18:29:52 +08:00   ❤️ 1
    macOS 编译成功运行,IINA 可以直接打开看,好东西
    ProbeWong
        17
    ProbeWong  
       2021-07-11 18:37:43 +08:00
    real-url
    @lingxi27
    wsseo
        18
    wsseo  
       2021-07-11 19:11:57 +08:00
    windows 下可以编译运行,但是双击运行会打开终端窗口。
    这种工具做成命令行工具比较好。
    wangbenjun5
        19
    wangbenjun5  
    OP
       2021-07-11 19:35:56 +08:00
    @huyujievip 感谢反馈
    wangbenjun5
        20
    wangbenjun5  
    OP
       2021-07-11 19:36:19 +08:00
    @wsseo 没有出界面吗?那有点奇怪了
    AlisaDestiny
        21
    AlisaDestiny  
       2021-07-11 20:00:04 +08:00   ❤️ 3
    你这是把 real-url 那个 python 版本的用 go 重写了一遍,连 UA 都一模一样。
    clockcloud
        22
    clockcloud  
       2021-07-11 21:30:35 +08:00
    推荐个项目,基本上我看直播用这个
    https://github.com/xjbeta/iina-plus
    wangbenjun5
        23
    wangbenjun5  
    OP
       2021-07-11 22:23:02 +08:00
    @clockcloud 这个牛逼,我想过这样做,不过这个只有 mac 能用,可惜
    wangbenjun5
        24
    wangbenjun5  
    OP
       2021-07-11 22:23:27 +08:00
    @AlisaDestiny 爬地址这块借鉴了,哈哈
    wsseo
        25
    wsseo  
       2021-07-11 22:32:00 +08:00
    @wangbenjun5 出了
    p1gd0g
        26
    p1gd0g  
       2021-07-12 09:32:18 +08:00
    fyne,当年校招拿来写了个玩具。2.0 有啥大改动吗?
    ligiggy
        27
    ligiggy  
       2021-07-12 09:36:34 +08:00
    不说了,乌兹 YYDS
    lingxi27
        28
    lingxi27  
       2021-07-12 09:58:25 +08:00
    @ProbeWong niubility
    matrix67
        29
    matrix67  
       2021-07-12 10:08:13 +08:00
    水深火热预告
    ylsc633
        30
    ylsc633  
       2021-07-12 10:26:25 +08:00
    shy 爹回来也救不了 IG 了

    主要中路状态太差了.. 比如春晚里 他那个盲僧, 比越南首富, 咖哥 动作都要慢, 慢就算了,主要是技能不中
    ysc3839
        31
    ysc3839  
       2021-07-12 13:32:08 +08:00 via Android
    Fyne 不是“原生 UI”吧?一般说原生 UI 是指用操作系统自带的界面库,Fyne 看上去完全没有使用。
    wangbenjun5
        32
    wangbenjun5  
    OP
       2021-07-12 15:29:23 +08:00 via Android
    @p1gd0g 功能更多了
    wangbenjun5
        33
    wangbenjun5  
    OP
       2021-07-12 15:29:38 +08:00 via Android
    @ylsc633
    wangbenjun5
        34
    wangbenjun5  
    OP
       2021-07-12 15:30:28 +08:00 via Android
    @ysc3839 是原生的,不同平台 UI 都不一样,在我 Ubuntu 上面就是 Ubuntu 那样
    ysc3839
        35
    ysc3839  
       2021-07-12 19:10:34 +08:00 via Android
    @wangbenjun5 那也有可能是像 Qt 那样,只是用了系统主题,控件逻辑还是自己实现的。
    而且它官网的 macOS 截图也跟你发的图没什么两样。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5550 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 06:48 · PVG 14:48 · LAX 22:48 · JFK 01:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.