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

写了一个哔哩哔哩视频下载 Chrome 插件 SakiDown(已开源)

  •  1
     
  •   stararenas · 5 小时 1 分钟前 · 422 次点击

    开箱即用,支持非 DRM 加密的个人投稿/番剧/课堂,完整支持合集/播放列表/稍后再看。支持封面和弹幕下载。

    之前嫌大部分哔哩哔哩视频下载软件使用太麻烦,Chrome 插件体验又很一般(对批量下载支持不好,且对于超过 3GB 的大文件下载会遇到 Chrome 内存墙问题)。于是在刚学 JavaScript 没多久的情况下,踩了无数坑,花了 2 个多月写了这个插件。

    合并音频流和视频流部分没有用到 ffmpeg.wasm ,而是自己针对哔哩哔哩的 dash 流,在 AI 帮助下写了专门的合并算法,已经稳定运行了 2 个月没出问题。用 mp4box -info 检查合并后的视频,与 yt-dlp 下载合并后的视频,返回的信息一致。

    因为是原生 JavaScript ,所以可以直接用源代码模式运行,除 Bilibili 官方接口外无任何网络请求,数据保存在本地,且可以完整导出已完成任务的 json 数据。

    如果大家有时间的话,能否赏脸使用一下呢?这个开源的版本虽然还有很多缺陷,不过核心使用流程上还是很流畅的。

    项目地址: https://github.com/weiyunjun/sakidown

    如果你有任何问题,欢迎提交 issue 。谢谢你看到这里。

    7 条回复    2026-02-11 23:12:07 +08:00
    Shiroka
        1
    Shiroka  
       3 小时 55 分钟前 via Android   ❤️ 2
    ada65line
        2
    ada65line  
       1 小时 30 分钟前 via iPhone
    试用了一下感觉界面和效果都很不错。唯一稍微让我一开始有点困惑的地方是“纯音频”策略里面的画质选项。不过我理解这个只是因为复用了通用 UI 而已,并不会有实际的问题。

    另外,这个插件会上 chrome web store 吗?
    ZztGqk
        3
    ZztGqk  
       1 小时 27 分钟前 via iPhone
    借楼问一下分发插件只能走 chrome store 是吧,不上的话热更新有什么好方案么?上传 cdn 分发?总不让用户拖拽升级吧?另外现在框架流行走 wxt ?
    minami
        4
    minami  
       1 小时 20 分钟前 via Android
    还在 go 还在 go
    Saunak
        5
    Saunak  
       1 小时 14 分钟前
    有提供一批 url ( csv 或者 json ),批量下载 b 站或者油管的工具么?
    stararenas
        6
    stararenas  
    OP
       44 分钟前
    @ada65line 不打算上架任何 Web Store ,因为这会增加信任成本(你无法保证开源仓库的代码和 Web Store 部分代码的一致性)。并且,这会显著增加项目接到律师函的风险,这对我来说是没有必要的(我需要更多的反馈来帮助我学习编程)。将 GitHub 作为唯一的分发渠道,有助于保持项目本身,以及我个人的健康。只要哔哩哔哩二创社区还可以持续产出我喜欢的内容,我就有动力维护下去。
    stararenas
        7
    stararenas  
    OP
       41 分钟前
    @ZztGqk 还真是,版本更新可以选择 git pull 。或者按你说的拖拽升级...
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1780 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 15:53 · PVG 23:53 · LAX 07:53 · JFK 10:53
    ♥ Do have faith in what you're doing.