开源视频下载器 VidBee,下载数千网站的视频 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
nexmoe
V2EX    分享创造

开源视频下载器 VidBee,下载数千网站的视频

  •  1
     
  •   nexmoe
    nexmoe 20 天前 4078 次点击

    前段时间心血来潮,想找个能在桌面上方便下载视频的工具。结果试了一圈,要么 UI 土得掉渣乱七八糟,要么功能乱七八糟,是纯命令行用着又太难受。

    于是干脆自己写了一个,项目叫:VidBee

    项目在这里:
    https://vidbee.org

    如果这个工具对你有用,欢迎给我点个 star 支持一下!

    fc6321d78c5a4ad3709dc907c47df9af.png

    VidBee 是一个基于 Electron + React + TypeScript 做的开源视频下载器。底层用的是 yt-dlp (你懂的那个神器),所以几乎能下 1000+ 网站的视频。但重点是终于有一个看得顺眼、点得舒服的界面了

    主要特点

    • 桌面应用,Windows / macOS / Linux 都能用
    • 一行链接就能下载,支持多任务队列、暂停、重试
    • 能选格式、清晰度、只下音频也行
    • UI 跟随系统主题,浅色 / 深色都有
    • 完全本地运行,不上传、不联网

    下载安装

    1. 下载最新版本

    访问 GitHub Releases 下载最新版本:

    • Windows: 下载 vidbee-x.x.x-setup.exe
    • macOS: 下载 vidbee-x.x.x.dmg
    • Linux: 下载 vidbee-x.x.x.AppImage(还没发包,正在开发中)

    2. 安装运行

    下载完成后直接安装即可。Windows 和 Linux 用户双击安装包,macOS 用户拖拽到 Applications 文件夹。

    3. macOS 用户注意

    如果你在 macOS 上遇到「应用已损坏」的提示,在终端运行这行命令:

    xattr -rd com.apple.quarantine /Applications/VidBee.app/ 

    这是 macOS 的安全机制,下载的第三方应用需要手动解除隔离。

    我做这个的初衷很简单

    就是想要一个能在本地干净下载视频的工具,不用开命令行,也不用看广告。而且 Electron 现在的性能其实也没想象中那么差,用 vite 打包后启动还挺快。


    后续会慢慢加一些功能,比如:

    • 下载字幕 / 弹幕
    • 播放列表批量下载
    • 下载历史 / 任务记录
    • 自定义主题

    项目是 MIT 协议,完全开源。如果你觉得这个方向有意思、想贡献点代码或者 UI 设计,都欢迎来玩。我一个人写的时候挺孤单的

    https://github.com/nexmoe/VidBee

    54 条回复    2025-11-03 09:00:52 +08:00
    Elymac
        1
    Elymac  
       19 天前
    感谢分享 试试和 downie 比咋呀
    nexmoe
        2
    nexmoe  
    OP
       19 天前
    @Elymac Downie 底层应该也是 yt-dlp ,不会差太多
    Monad
        3
    Monad  
       19 天前 via iPhone
    纯伸手党提个小小的建议 是否可以来点 iOS 版本
    缓存一些视频会方便很多 app 自动下载的都(有可能被核心)被清理
    heychs
        4
    heychs  
       19 天前 via Android
    Win8.1 打不开。请问可以下载视频网站例如 iyf.tv, xiaoyakankan.com 这种吗?谢谢
    tomridder
        5
    tomridder  
       19 天前 via iPhone
    要是有去水印就好了
    Frankcox
        6
    Frankcox  
       19 天前
    M4 macbook 报已损坏
    VoiceEXONE
        7
    VoiceEXONE  
       19 天前 via iPhone
    snapvee ?
    nexmoe
        8
    nexmoe  
    OP
       19 天前
    @Frankcox 看文档,需要执行一行命令
    nexmoe
        9
    nexmoe  
    OP
       19 天前
    @heychs 基于 yt-dlp ,理论支持
    0xo
        10
    0xo  
       19 天前
    在这提 issue 了:Mac 不支持拖动窗口;希望 playlist 下载
    0xo
        11
    0xo  
       19 天前
    @ccvzz 希望支持 YouTube 的 playlist 下载
    renchong
        12
    renchong  
       19 天前
    Mac 不支持拖动窗口 +1
    nxuu
        13
    nxuu  
       19 天前
    downie 用户纹丝不动!!!
    superribbits886
        14
    superribbits886  
       19 天前
    辛苦了
    c0xt30a
        15
    c0xt30a  
       19 天前
    我是 MeTube+Stash 用户:MeTube 浏览器插件自动下载到 NAS 的 Stash 的目录里去,然后 Stash 整理。OP 能否说服我弃暗投明?
    Geon97
        16
    Geon97  
       19 天前
    保利威的可以下载吗?
    jadeborner
        17
    jadeborner  
       19 天前
    请教下,前端用的什么技术栈
    BigBigBang
        18
    BigBigBang  
       19 天前
    感谢分享
    pegasusz
        19
    pegasusz  
       19 天前
    star 支持一下
    davin
        20
    davin  
       19 天前
    Astro + Tailwind CSS 好评
    hbytw1
        21
    hbytw1  
       19 天前
    安装使用了下,下载 youtube 的视频提示没有权限或者需要验证,使用的是 chrome 的缓存,下载抖音的也失败了,最后卸载了。
    b821025551b
        22
    b821025551b  
       19 天前
    反馈两个问题,Windows 版本:
    1 、切换语言后退出,再次启动又变回了英文;
    2 、cookie 读不到,chrome 加了--disable-features=LockProfileCookieDatabase 也不行,我看 yt-dlp 的 issue 里面还有个解决方法是安装插件,不知道这个插件能默认打包进去么。
    stefanaka
        23
    stefanaka  
       19 天前
    windows 提示病毒
    nexmoe
        24
    nexmoe  
    OP
       19 天前
    @ccvzz #10 playlist 后续会支持的
    nexmoe
        25
    nexmoe  
    OP
       19 天前
    @renchong 下个版本修复
    nexmoe
        26
    nexmoe  
    OP
       19 天前
    @Geon97 可以自己看一下支持列表
    nexmoe
        27
    nexmoe  
    OP
       19 天前
    @jadeborner 可以自己看一下仓库源码
    nexmoe
        28
    nexmoe  
    OP
       19 天前
    @b821025551b 下个版本修复一下
    nexmoe
        29
    nexmoe  
    OP
       19 天前
    @hbytw1 下载引擎是底层 yt-dlp 提供的,你这是被风控了
    winglight2016
        30
    winglight2016  
       19 天前
    YouTube 上想下的视频,yt-dlp 几乎都无法下载,似乎是开了禁止下载的选项,列表出来可选项,都是 webp 这种图片,lz 有什么好办法吗?
    bowencool
        31
    bowencool  
       19 天前
    B 站充电视频能下吗
    FakerLeung
        32
    FakerLeung  
       19 天前
    @b821025551b #22 +1
    windows 版本无法读取 cookie ,也没有上传/设置 cookie 的地方
    zhangsimon
        33
    zhangsimon  
       19 天前
    感谢,终于有个 GUI 的 yt-dlp 了
    好奇那些鼎鼎大名的开源项目,为什么很多都不做 GUI
    技术小白又需要一个开箱即用的版本
    scg16
        34
    scg16  
       19 天前
    Error invoking remote method 'download.getVideoInfo': Error: Error code: 1 Stderr: ERROR: [youtube] bTd_Aqa9KHY: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies
    hbytw1
        35
    hbytw1  
       19 天前
    @nexmoe #29 我使用 IDM 下载都是正常的,感谢回复。
    ufan0
        36
    ufan0  
       19 天前
    你好,图标不错,请问使用什么工具设计的?
    zhengfan2016
        37
    zhengfan2016  
       19 天前
    @bowencool 肯定不能,想啥呢
    bowencool
        38
    bowencool  
       18 天前
    忘记说了,前提是已付费,不是想拿盗版的意思。我现在用的这个脚本就可以
    https://github.com/the1812/Bilibili-Evolved
    oldManNewThought
        39
    oldManNewThought  
       18 天前
    有手机版的吗,更多的使用手机上下载视频啊
    nexmoe
        40
    nexmoe  
    OP
       18 天前
    @bowencool #38 我之前用这个,不过 VidBee 主要是下油管
    nexmoe
        41
    nexmoe  
    OP
       18 天前
    @ufan0 figma
    nexmoe
        42
    nexmoe  
    OP
       18 天前
    @oldManNewThought 升级版也得底层 yt-dlp 支持啊
    kuaner
        43
    kuaner  
       16 天前
    yt-dlp 现在无法下载 youtube 了,以后要集成一个 js 环境了
    iorilu
        44
    iorilu  
       16 天前
    yt-dlp 早不行了, 除非是非常好得专用代理

    要不然都要搞啥 cookie 很麻烦
    nexmoe
        45
    nexmoe  
    OP
       16 天前
    @iorilu 所以现在有啥比较行的
    wweir
        46
    wweir  
       16 天前
    前后端抽一下,出个 docker 部署的版本?
    iorilu
        47
    iorilu  
       16 天前
    @nexmoe 开源的不清楚, 因为都是基于 yt-dlp 的, 可能老外用着没问题

    但我们用都不行要 cookie 啥的

    我现在用的 idm 下 youtube , 效果可以
    b821025551b
        48
    b821025551b  
       15 天前
    有个建议:
    现在选择视频格式的时候,用的是视频高度+p 的方式,但是因为 1920*1080 这个分辨率太过深入,我用这个视频 https://www.bilibili.com/video/BV1rp4y1e745 测试的时候,4K 分辨率显示的是 1920p ,我自动脑补成了 1920*1080 ,而实际上它是 3840x1920 ;
    另外,有些视频是支持 HDR 格式的,yt-dlp 拉取信息的时候是有 hdr 格式和帧率输出的,所以我的建议是:是否可以按照实际像素大小显示清晰度,另外加上 HDR 格式和帧数信息。
    nexmoe
        49
    nexmoe  
    OP
       15 天前
    @b821025551b #48 油管都是以 像素高度+p 的形式展示的,主要以油管的标准为准
    nexmoe
        50
    nexmoe  
    OP
       15 天前
    @wweir 欢迎贡献或者以后有企业级需求可以考虑一下
    nexmoe
        51
    nexmoe  
    OP
       15 天前
    @iorilu #47 IDM 如果不设置 Cookie 的话,他怎么绕过这个风控?它是不是自己获取了 Cookie ?
    nexmoe
        52
    nexmoe  
    OP
       15 天前
    @kuaner 这个 js 的环境具体指的是什么
    iorilu
        53
    iorilu  
       14 天前
    @nexmoe idm 有 chrome 或 edge 插件, 安装了可以探测网页视频, 点击就下载

    应该也用到了 cookie 把, 但起码是自动的, 不用折腾
    kuaner
        54
    kuaner  
       12 天前
    @nexmoe #52 A stopgap release with a TEMPORARY partial fix for YouTube support
    Some formats may still be unavailable, especially if cookies are passed to yt-dlp. The NEXT release, expected very soon, will require an external JS runtime (e.g. Deno) in order for YouTube downloads to work properly. Read more
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2585 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 04:20 PVG 12:20 LAX 20:20 JFK 23:20
    Do have faith in what you're doing.
    ubao msn 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