V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
zhangk23
V2EX  ›  程序员

整了一个下载 b 站视频转音频的 cli 小工具

  •  
  •   zhangk23 · 1 天前 · 779 次点击

    最近喜欢听二创东雪莲 ai 曲,迫切需要一个支持下载合集音频的工具拷到 mp3 上面让我上下班听,于是在研究出咋下载第一个视频后靠着我和 claude 齐心协力整了个可以下载 b 站视频转音频的小工具,比较简单易用,有 nodejs 环境就行,拷贝一下 cookie 就可以用,默认并发数 3 ,可以失败重下,可以预览合集页

    核心思路就是把 b 站页面扒下来找 audio/video 链接再找最高码率的再转换成 mp3 格式

    主页 https://zk39.github.io/BiliAudioDownloader/ 项目地址 https://github.com/zk39/BiliAudioDownloader

    7 条回复    2026-02-13 14:27:36 +08:00
    TimG
        1
    TimG  
       1 天前 via Android
    我经常下载 b 站 up 主制作的环境音乐合集,为此研究过这个。或许不必单独开发软件,在 GitHub 找到过一个百来行的 py 下载脚本,下载流程是分别下载音频和视频文件再合并,把下载视频的函数注释掉,合并代码改为调用本地 ffmpeg 对下载音频转码,就可以批量下载音频了。依然十分感谢 op 对开源社区的贡献。
    stararenas
        2
    stararenas  
       1 天前 via Android
    除了 flac ( hi-res 音频),其它码率的音频不需要大会员,所以其实 cookies 并不是必须的。哔哩哔哩没有限制游客获取非 flac 的音频。
    Shiroka
        3
    Shiroka  
       1 天前   ❤️ 1
    bbdown BV12345 --audio-only 也可以下载音频,感觉有一点造轮子了
    qiuyue0
        4
    qiuyue0  
       1 天前
    bilibiliEvolved 这个脚本有下载音视频的功能,不过只能下 m4a 格式的音频,mp3 得手动转换。而且我觉得这个脚本的功能很强大,深色模式、清爽主页、动态过滤……属于是 all in one 了
    Ccf
        5
    Ccf  
       18 小时 17 分钟前
    看起来 ai 味很浓啊,为什么不是 m4a ?
    zhangk23
        6
    zhangk23  
    OP
       17 小时 29 分钟前   ❤️ 1
    感谢大家的评论!
    @TimG 是的!我有参考开源的下载脚本,b 站 audio 和 video 可以分别下载在用 ffmpeg 合并,但我只抓了 audio 部分转码成音频,然后我这是主要是多了个 up 主主页合集的功能,通过 https://api.bilibili.com/x/polymer/web-space/seasons_archives_list?season_id=1049571&page_size=3&page_num=1 找 season 合集然后循环下载
    @stararenas 昂 我在看页面源码时候,发现 dolby 那栏是空的,我就预留了个可能需要 cookie 的想法 我猜可能需要大会员才可以听得到
    @Shiroka 是有点重复造轮子= = b 站视频轨道和音轨实际上分离的,我这主要是多了个可以下载 up 主主页合集,就是遍历了一下
    @qiuyue0 感谢安利 之后试下 bilibiliEvolved ,关于音轨,b 站默认给的就是 m4s ,然后下下来是 m4a 虽然听上去看上去是音频,文件实际上还是视频,我的笨蛋 mp3 根本读不出来,所以只能加 ffmpeg static 给其转码一下 😭
    @Ccf 是的,一开始还是我自己写的,写到后面大概是 cli 预览多个视频以及进度条这里我就让 claude 自由发挥了,至于代码默认为啥不是 m4s/a 因为我的 mp3 读不出来🤷‍♀️
    Al0rid4l
        7
    Al0rid4l  
       2 小时 52 分钟前
    yt-dlp -x --audio-format mp3 --audio-quality 0 -f ba <URL>

    或者

    yt-dl -t mp3 <URL>

    不就好了
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   3228 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 09:19 · PVG 17:19 · LAX 01:19 · JFK 04:19
    ♥ Do have faith in what you're doing.