用 Go 写了个抓取直播源的客户端工具 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
wangbenjun5
V2EX    程序员

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

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

    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 了
    502Chef
        16
    502Chef  
       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     Solana     5914 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 02:37 PVG 10:37 LAX 19:37 JFK 22:37
    Do have faith in what you're doing.
    ubao 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