首页/软件/pull-vids

pull-vids:支持 1000+ 网站的开源命令行视频下载器 #

pull-vids 是什么? #

pull-vids 是一款完全免费、开源的命令行(CLI)视频与音频下载工具,支持从 1000 多个网站抓取视频、音频和字幕文件。

它基于 yt-dlp 的站点解析能力,并使用 Go 语言重新构建了下载体验:用户只需在终端中粘贴链接,即可完成从画质选择、格式转换到字幕转录的全流程操作。pull-vids 的定位是 Downie、PullTube 这类 macOS 付费下载软件的免费替代品——它没有广告、没有付费墙、没有会员限制,源码托管于 GitHub 并采用 MIT 协议。对于需要批量备份课程视频、归档社交媒体素材、提取访谈音频或整理字幕文本的用户来说,pull-vids 提供了一条轻量、可脚本化、跨平台的解决路径。

pull-vids 有哪些亮点特色? #

  • 支持 1000+ 网站,一个命令通吃:可解析 YouTube(视频、播放列表、频道)、Vimeo、Twitter/X、TikTok、Instagram(含 Reels、Stories)、Facebook、Twitch(VOD 与切片)、Reddit(v.redd.it)、Dailymotion 等站点,官方称完整列表可覆盖 1000 个以上网站,无需为每个平台单独安装不同的下载器。

  • 完全免费开源,无广告无付费墙:项目以 MIT 协议开源,灵感来自 Downie 和 PullTube,但功能完全免费。README 明确写道"没有广告、没有付费墙,只有下载",不存在会员等级、下载次数限制或水印注入。

  • Go 语言构建,单一二进制极速运行:pull-vids 以 Go 编写,编译产物是单个可执行文件,无需安装运行时环境。唯一的运行时依赖是 yt-dlp 与 ffmpeg,而通过 Homebrew 或 Chocolatey 安装时会自动一并装好,降低了新手上手门槛。

  • 画质与格式自由选择(360p 至 4K):支持从 360p 到 4K 的多档画质下载,并可进行纯音频提取(MP3、M4A 等格式),适合只需要 BGM、播客或访谈人声的场景,无需先下载完整视频再二次转码。

  • 字幕/转录文本独立下载,无需拉取视频:可直接将视频的字幕导出为纯文本、SRT 或 VTT 格式,而不下载视频本体。对做会议纪要、内容二次创作、字幕翻译的用户来说,这一能力显著节省带宽与时间。

  • 针对限流与机器人检测做了工程化处理:内置 YouTube Cookie 认证,用于绕过机器人检测;下载失败时采用指数退避(exponential backoff)自动重试;批量下载之间插入睡眠间隔(sleep intervals)以规避站点速率限制,让长任务更稳定。

  • 播放列表与频道批量下载 + 实时进度条:支持整张播放列表、整个频道的批量拉取,并在终端中渲染美观的实时进度条,进度、速度、剩余时间一目了然,不必盲等。

  • 跨平台覆盖 Windows / macOS / Linux:三大桌面平台均提供预编译包,并支持 Homebrew、Chocolatey、go install、一键安装脚本与手动解压等多种安装方式,便于在不同工作环境中快速部署。

pull-vids 官网首页截图

免费下载 pull-vids #

以下为官方提供的各平台安装包,点击链接即可下载。下载后需解压,并按下方"pull-vids 如何安装?"中的步骤放入系统 PATH。

文件名 描述 大小 下载
pull-vids-darwin-amd64.tar.gz macOS Intel(x86_64)版 1.7 MB 夸克网盘
pull-vids-darwin-arm64.tar.gz macOS Apple Silicon(M1/M2/M3)版 1.6 MB 夸克网盘
pull-vids-linux-amd64.tar.gz Linux x86_64 版 1.7 MB 夸克网盘
pull-vids-linux-arm64.tar.gz Linux ARM64 版 1.6 MB 夸克网盘
pull-vids-windows-amd64.zip Windows 64 位版 1.8 MB 夸克网盘

提示:官方 Release 页面同样提供上述压缩包的直接下载地址,若网盘链接失效,可前往 GitHub Releases 获取最新版本。

pull-vids 如何使用? #

pull-vids 是命令行工具,没有图形界面窗口。使用流程可以拆解为以下几步:

  1. 确认环境就绪:先安装 yt-dlp 与 ffmpeg 两个依赖,然后在终端执行 pull-vids --version,能输出版本号说明安装成功。建议同时执行 ffmpeg -version 与 yt-dlp --version 做一次自检。

  2. 粘贴链接直接下载:最基础的用法是把视频地址作为参数传入,例如下载 YouTube 视频:

    pull-vids "https://www.youtube.com/watch?v=VIDEO_ID"
    

    其他平台同理,只需替换链接:

    pull-vids "https://vimeo.com/123456789"
    pull-vids "https://twitter.com/user/status/123456"
    pull-vids "https://www.tiktok.com/@user/video/123456"
    pull-vids "https://www.instagram.com/p/ABC123/"
    pull-vids "https://www.twitch.tv/videos/123456"
    
  3. 按需指定画质或格式:README 提供了 Command-Line Options、Quality Options、Format Options 等专门章节,可按需选择 360p 至 4K 的画质档位,或指定输出为纯音频格式(MP3、M4A 等)。具体参数写法建议直接对照仓库 README 的对应小节,避免记忆偏差。

  4. 只取字幕/转录文本:如果目标是文字而非视频,可走 Transcripts and Captions 相关用法,将字幕导出为纯文本、SRT 或 VTT,此过程不会下载视频本体,速度更快、占用更小。

  5. 批量抓取列表或频道内容:把播放列表页或频道页的 URL 直接交给 pull-vids,即可批量下载其中条目。若遇到平台的速率限制,工具会自动重试并在条目之间插入等待间隔;对需要登录验证的站点(典型如 YouTube 机器人检测),按 README 的 YouTube Authentication 一节配置 Cookie 支持。

使用建议:长任务建议放在 tmux 或 screen 会话中运行,避免终端断开导致中断;批量任务可配合 Shell 脚本循环读取链接文件,实现自动化归档。

pull-vids 的常见问题? #

Q1:pull-vids 支持哪些网站? 官方说明其覆盖范围取决于 yt-dlp,凡是 yt-dlp 支持的站点均可使用,README 列举了 YouTube、Vimeo、Twitter/X、TikTok、Instagram、Facebook、Twitch、Reddit、Dailymotion 等,并称可覆盖 1000+ 网站。README 中给出了完整支持列表的链接,遇到小众站点可先查阅该列表确认。

Q2:为什么下载 YouTube 视频时提示需要登录或触发机器人检测? 这是 YouTube 对未登录请求的风控策略,并非 pull-vids 自身故障。README 提供了 Cookie 认证(Cookie authentication)方案用于绕过机器人检测,按 "YouTube Authentication (Cookie Support)" 一节的说明导出并配置浏览器 Cookie 即可。

Q3:为什么有时下载速度很慢或中途暂停? 这类现象通常来自目标站点的速率限制。pull-vids 内置了指数退避自动重试与下载间隔(sleep intervals)机制,属于主动限速以换取任务成功率的设计。如果站点限制较严,可适当增加间隔、减少并发,或分批执行批量任务。

Q4:为什么某些视频无法下载? 受 DRM(数字版权管理)保护的内容无法被下载,这是工具的能力边界,README 在 Limitations 章节中明确列出了 "DRM-Protected Content"。除此之外,README 也专门说明了"What You CAN Download"(哪些内容可以下载),可对照判断。遇到失败建议先升级 yt-dlp 到最新版本,因为站点解析逻辑主要由 yt-dlp 承担。

Q5:执行 apt install pull-vids 提示找不到软件包怎么办? README 明确说明 APT、AUR 和 Snap 目前尚未提供,早期版本文档曾提前列出这些渠道,导致安装命令报 "package was not found"。正确做法是使用 Homebrew、Chocolatey、go install,或官方提供的 install.sh / install.ps1 安装脚本。

Q6:pull-vids 与 yt-dlp 是什么关系,需要两个都装吗? 需要。pull-vids 负责命令行交互、进度展示、依赖管理与下载编排,而站点解析与媒体抓取实际由 yt-dlp 完成,音视频合并则依赖 ffmpeg。因此 yt-dlp 与 ffmpeg 是必装依赖,用 Homebrew 或 Chocolatey 安装 pull-vids 时会自动一并安装。

pull-vids 如何安装? #

官方推荐优先使用包管理器,可自动处理 yt-dlp 与 ffmpeg 依赖。以下按平台分别说明。

macOS(Homebrew,推荐) #

  1. 添加官方 tap 并安装:

    brew tap vib795/tap
    brew install pull-vids
    
  2. 若从 0.3.3 之前的版本升级,需执行一次重装(否则 brew upgrade 会提示 "pull-vids 64 already installed" 而什么都不做):

    brew uninstall pull-vids && brew install vib795/tap/pull-vids
    
  3. 如依赖未自动装好,手动补齐:

    brew install ffmpeg yt-dlp
    

Windows(Chocolatey,推荐) #

  1. 以管理员身份打开 PowerShell,执行:

    choco install pull-vids
    
  2. 手动补齐依赖(如需要):

    winget install ffmpeg
    pip install yt-dlp
    

任意平台(已安装 Go 1.24+) #

go install github.com/vib795/pull-vids@latest

一键安装脚本 #

macOS / Linux:

curl -fsSL https://raw.githubusercontent.com/vib795/pull-vids/develop/install.sh | bash

Windows(以管理员身份运行 PowerShell):

irm https://raw.githubusercontent.com/vib795/pull-vids/develop/install.ps1 | iex

手动安装预编译包 #

  1. 从上方下载表格或 GitHub Releases 获取对应平台的压缩包(注意:Release 以压缩归档形式分发,必须先解压)。

  2. macOS(Apple Silicon 用 darwin-arm64,Intel 用 darwin-amd64):

    tar -xzf pull-vids-darwin-arm64.tar.gz
    chmod +x pull-vids-darwin-arm64
    sudo mv pull-vids-darwin-arm64 /usr/local/bin/pull-vids
    
  3. Linux(AMD64 或 ARM64 按机器架构选择):

    tar -xzf pull-vids-linux-amd64.tar.gz
    chmod +x pull-vids-linux-amd64
    sudo mv pull-vids-linux-amd64 /usr/local/bin/pull-vids
    
  4. Windows:解压 pull-vids-windows-amd64.zip,将 pull-vids-windows-amd64.exe 重命名为 pull-vids.exe,然后移动到 PATH 中的目录(例如 C:\Program Files\pull-vids\)。

  5. 安装依赖(Linux 示例):

    sudo apt update
    sudo apt install ffmpeg
    pip install yt-dlp
    
  6. 验证安装结果:

    ffmpeg -version
    yt-dlp --version
    pull-vids --version
    

从源码构建(可选) #

需要 Go 1.24 或更高版本以及 Git:

git clone https://github.com/vib795/pull-vids.git
cd pull-vids
make build        # 构建当前平台
make build-all    # 构建全部平台
make install      # 安装到系统

pull-vids 如何卸载? #

pull-vids 本体只是一个单二进制文件,卸载相对简单,但不会自动删除你已下载的媒体文件,需要自行清理下载目录。

macOS(Homebrew 安装) #

  1. 执行卸载命令:

    brew uninstall pull-vids
    
  2. 如不再需要,可移除已添加的 tap:

    brew untap vib795/tap
    
  3. 若希望一并清理由 Homebrew 安装的依赖(注意:可能被其他软件共用,请谨慎):

    brew uninstall ffmpeg yt-dlp
    

macOS / Linux(脚本或手动安装) #

  1. 删除二进制文件:

    sudo rm /usr/local/bin/pull-vids
    
  2. 若通过 go install 安装,删除 Go 的 bin 目录下的可执行文件即可(通常为 $(go env GOPATH)/bin/pull-vids)。

  3. 手动删除此前下载的视频、音频、字幕等输出文件。

Windows(Chocolatey 安装) #

  1. 以管理员身份打开 PowerShell 或 CMD:

    choco uninstall pull-vids
    
  2. 若为手动安装,直接删除存放 pull-vids.exe 的目录(如 C:\Program Files\pull-vids\),并检查系统环境变量 PATH 中是否残留该路径。

  3. 检查并清理下载输出目录中的媒体文件。

依赖与残留说明 #

  • pull-vids 官网文档未说明其会生成独立的用户配置文件或缓存目录,卸载时可重点检查下载输出目录与包管理器缓存。
  • yt-dlp 与 ffmpeg 属于通用依赖,若系统中还有其他工具在使用,不建议一并卸载。
  • 使用 pip install yt-dlp 安装的依赖,可用 pip uninstall yt-dlp 移除。
相关标签
pull-vids视频下载工具命令行视频下载器1000+ 网站下载yt-dlp 前端开源视频下载YouTube 视频下载音频提取工具视频字幕转录Downie 替代品