文章目录
- TwitchDownloader:Twitch 直播内容的本地化保存工具
TwitchDownloader:Twitch 直播内容的本地化保存工具
看直播的时候,总有些精彩片段想留下来。主播的操作高光、弹幕里的名场面、某场赛事的关键局。但 Twitch 的 VOD 有保存期限,过了时间就看不到了。
TwitchDownloader 是一款开源工具,专门解决这个问题。它能下载 Twitch 的 VOD、Clip 和聊天记录,还能把弹幕渲染成视频。项目在 GitHub 上获得了 3,780 个 Star,支持 Windows、Linux 和 macOS 三个平台。
核心功能
这个工具主要做四件事。
第一,下载 Twitch VOD。输入视频 ID,选择画质,就能把完整的直播录像保存到本地。对于经常关注的主播,可以用这个方式建立自己的视频库。
第二,下载 Clip。Twitch 上的精彩剪辑有时效性,用这个功能可以把喜欢的 Clip 永久保存下来。
第三,下载聊天记录。弹幕本身就是直播内容的一部分。TwitchDownloader 支持导出为 JSON、HTML 和纯文本三种格式。JSON 格式保留了完整的原始信息,包括表情、徽章和时间戳。HTML 格式可以在浏览器里直接打开查看,纯文本则方便后续处理。
第四,聊天渲染。这是项目最有特色的功能。它能把 JSON 格式的聊天记录重新渲染成视频,支持 Twitter Twemoji、Google Noto Color 表情,以及 BTTV、FFZ、7TV 这三个主流的第三方表情平台。渲染出来的视频可以直接叠加到直播录像上,还原当时的弹幕氛围。
使用方式
项目提供了两种使用方式:图形界面和命令行。
Windows 用户有专门的 WPF 图形界面。界面支持多语言,内置了亮色和暗色主题,还能跟随系统主题自动切换。用户可以批量添加下载任务,也能直接在应用内搜索主播的 VOD 和 Clip。对于需要处理大量视频的用户,这个批量功能很实用。
Linux 和 macOS 用户可以使用命令行版本。CLI 是跨平台的,在三个系统上都能运行。命令行的好处是可以写脚本实现自动化。比如把下载 VOD、导出弹幕、渲染聊天这一整套流程写成一个脚本,以后只需要输入视频 ID 就能一键完成全部操作。
Linux 用户还有额外的选择。社区有人开发了一个叫 twitch-downloader-gui 的项目,给 CLI 包了一层图形界面,可以通过 AUR 安装。
技术实现
项目基于 .NET 10.0 构建。从源码编译需要安装 .NET SDK,大约占用 1GB 磁盘空间。编译过程比较标准,克隆仓库、还原依赖、发布即可。发布时可以指定目标平台,支持 Windows、Linux、Linux Alpine、Linux ARM、macOS 等多个配置。
聊天渲染部分使用了 SkiaSharp 和 HarfBuzzSharp 作为图形引擎,视频编码则依赖 FFmpeg。项目内置了 FFmpeg 的二进制文件,用户也可以选择使用系统已安装的 FFmpeg 版本。
实际使用场景
这个工具的使用场景比想象中要广。
对于普通观众,最直接的用途就是保存喜欢的直播片段。有些主播会删除自己的 VOD,或者因为版权原因导致部分回放下架。提前下载下来就不会丢失。
对于内容创作者,聊天渲染功能很有价值。制作直播集锦视频时,把弹幕一起渲染进去,观众的临场感会强很多。一些高光时刻如果没有弹幕,效果会打折扣。
对于研究者和数据分析师,聊天记录的导出功能提供了原始数据。可以用来分析弹幕节奏、观众互动模式,或者做舆情相关的研究。
对于社区管理者,批量下载功能可以用来存档重要赛事的直播内容。电竞比赛的回放经常因为各种原因被删除,用这个工具提前保存,可以为社区留下完整的赛事记录。
项目状态
TwitchDownloader 采用 MIT 协议开源,代码完全开放。项目的文档比较完善,README 提供了德语、意大利语、日语、葡萄牙语、俄语、西班牙语、土耳其语、简体中文、繁体中文和法语共 10 个语言的翻译版本,说明项目的国际化做得不错。
从 Star 数量和持续更新的情况来看,项目保持着活跃的维护状态。对于有 Twitch 内容保存需求的用户,这是一个值得尝试的工具。
续更新的情况来看,项目保持着活跃的维护状态。对于有 Twitch 内容保存需求的用户,这是一个值得尝试的工具。