Logo

Twitch Downloader

Twitch 点播 / 剪辑 / 聊天下载及聊天渲染

反馈漏洞
## 聊天渲染示例 ## 它能做什么? - 下载 Twitch 点播 - 下载 Twitch 剪辑 - 以 [包含所有原始信息的 JSON](https://github.com/lay295/TwitchDownloader/files/13495494/ExampleMoonMoonJsonFile.json)、浏览器 HTML 文件或 [纯文本文件](https://github.com/lay295/TwitchDownloader/files/13495523/ExampleMoonMoonTextFile.txt) 的形式下载点播和剪辑的聊天内容 - 更新之前生成的 JSON 聊天文件的内容,并提供另一种格式的保存选项 - 使用之前生成的 JSON 聊天文件,用 Twitter Twemoji 或 Google Noto Color 表情符号以及 BTTV、FFZ、7TV 静态和动画表情来呈现聊天内容 # GUI ## Windows 呈现基础(WPF) ![WindowsWPF](https://i.imgur.com/bLegxGX.gif) ### [点击此处查看完整的 WPF 文档(英语)](TwitchDownloaderWPF/README.md) ### 功能介绍 Windows WPF GUI 实现了程序的所有主要功能以及一些额外的提升效率的功能: - 排队同时运行多个下载 / 渲染任务 - 从点播 / 剪辑链接列表中创建下载任务列表 - 搜索并下载来自任何流媒体的多个点播 / 剪辑,无需离开应用程序 ### 多语言支持 通过社区翻译,Windows WPF GUI 有多种语言版本。请参阅 [WPF 自述文件(英语)](TwitchDownloaderWPF/README.md)的 [本地化部分](TwitchDownloaderWPF/README.md#localization)。 ### 主题 Windows WPF GUI 内置了浅色和深色主题,以及根据当前 Windows 主题进行实时更新的选项。它还支持用户创建主题!更多详情,请参阅 [WPF 自述文件(英语)](TwitchDownloaderWPF/README.md)的 [主题部分](TwitchDownloaderWPF/README.md#theming)。 ### 视频演示 (旧版,概念相同) ## Linux? 请查看 [Github](https://github.com/mohad12211/twitch-downloader-gui) 上的 twitch-downloader-gui 或 [AUR](https://aur.archlinux.org/packages/twitch-downloader-gui) 上的 CLI 的 Linux GUI 封装程序。 ## MacOS? 目前还没有适用于 MacOS 的 GUI 版本 :( # CLI ### [点击此处查看完整的 CLI 文档](TwitchDownloaderCLI/README.md) CLI 是跨平台的,可以实现程序的主要功能。它可在 Windows、Linux 和 MacOS* 上运行。 *仅对 Intel Mac 进行了测试 通过 CLI,可以使用外部脚本自动处理视频。例如,你可以在 Windows 上将以下代码复制粘贴到 `.bat` 文件中,下载点播及其聊天内容,然后渲染聊天内容,所有这些都只需一次输入。 ```bat @echo off set /p vodid="输入点播 ID:" TwitchDownloaderCLI.exe videodownload --id %vodid% --ffmpeg-path "ffmpeg.exe" -o %vodid%.mp4 TwitchDownloaderCLI.exe chatdownload --id %vodid% -o %vodid%_chat.json -E TwitchDownloaderCLI.exe chatrender -i %vodid%_chat.json -h 1080 -w 422 --framerate 30 --update-rate 0 --font-size 18 -o %vodid%_chat.mp4 ``` ## Windows - 开始 1. 前往 [发行版页面](https://github.com/lay295/TwitchDownloader/releases/) 并下载最新的 Windows 版本或 [从源代码构建](#building-from-source)。 2. 提取 `TwitchDownloaderCLI.exe`。 3. 打开可执行文件放置的位置: ```命令 cd C:\folder\containing\TwitchDownloaderCLI ``` 4. 如果没有 FFmpeg,可以通过 [Chocolatey 程序包管理器](https://community.chocolatey.org/) 安装,也可以从 [ffmpeg.org](https://ffmpeg.org/download.html) 或使用 TwitchDownloaderCLI 以独立文件的形式获取: ```命令 TwitchDownloaderCLI.exe ffmpeg --download ``` 5. 你现在可以开始使用 TwitchDownloaderCLI 了,例如: ```命令 TwitchDownloaderCLI.exe videodownload --id <点播 ID> -o out.mp4 ``` 更多命令示例请参阅 [CLI 自述文件](TwitchDownloaderCLI/README.md#example-commands)。 ## Linux – 开始 1. 有些发行版,如 Linux Alpine,缺少某些语言(阿拉伯语、波斯语、泰语等)的字体。如果是这种情况,请安装额外的字体系列,如 [Noto Sans](https://fonts.google.com/noto/specimen/Noto+Sans),或者查看发行版的字体 Wiki 页面,因为它可能有针对这种特定情况的安装命令,如 [Linux Alpine](https://wiki.alpinelinux.org/wiki/Fonts) 字体页面。 2. 确保 `fontconfig` 和 `libfontconfig1` 都已安装。在 Ubuntu 上运行 `apt-get install fontconfig libfontconfig1`。 3. 前往 [发行版页面](https://github.com/lay295/TwitchDownloader/releases/) 并下载最新的 Linux 版本抓取适用于 Arch Linux 的 [AUR 软件包](https://aur.archlinux.org/packages/twitch-downloader-bin/),或 [从源代码构建](#building-from-source)。 4. 提取 `TwitchDownloaderCLI`。 5. 打开二进制可执行文件放置的目录: ```命令 cd directory/containing/TwitchDownloaderCLI ``` 6. 授予二进制可执行文件权限: ```命令 sudo chmod +x TwitchDownloaderCLI ``` 7. a) 如果没有 FFmpeg,可以通过 [Chocolatey 程序包管理器](https://community.chocolatey.org/) 安装,也可以从 [ffmpeg.org](https://ffmpeg.org/download.html) 或使用 TwitchDownloaderCLI 以独立文件的形式获取: ```命令 ./TwitchDownloaderCLI ffmpeg --download ``` 7. b) 如果下载的是独立文件,还必须授予其可执行权限: ```命令 sudo chmod +x ffmpeg ``` 8. 你现在可以开始使用 TwitchDownloaderCLI 了,例如: ```命令 ./TwitchDownloaderCLI videodownload --id -o out.mp4 ``` 更多命令示例请参阅 [CLI 自述文件](TwitchDownloaderCLI/README.md#example-commands)。 ## MacOS – 开始 1. 如果你的设备使用的是 Apple Silicon M 系列处理器,请确保下载了 arm64 二进制文件,但如果你想在 Apple Silicon 上使用 x64 二进制文件,则必须在 Rosetta 2 下通过终端会话运行: ```命令 arch -x86_64 zsh ``` 2. 前往 [发行版页面](https://github.com/lay295/TwitchDownloader/releases/) 并下载最新的 MacOS 版本或 [从源代码构建](#building-from-source)。 3. 提取 `TwitchDownloaderCLI`。 4. 打开二进制可执行文件放置的目录: ```命令 cd directory/containing/TwitchDownloaderCLI ``` 5. 授予二进制可执行文件在终端中的权限: ```命令 chmod +x TwitchDownloaderCLI ``` 6. a) 如果没有 FFmpeg,可以通过 [Homebrew 程序包管理器](https://brew.sh/) 在整个系统中安装,也可以从 [ffmpeg.org](https://ffmpeg.org/download.html) 或使用 TwitchDownloaderCLI 以独立文件的形式获取: ```命令 ./TwitchDownloaderCLI ffmpeg --download ``` 6. b) 如果下载的是独立文件,还必须授予其可执行权限: ```命令 chmod +x ffmpeg ``` 7. 你现在可以开始使用 TwitchDownloaderCLI 了,例如: ```命令 ./TwitchDownloaderCLI videodownload --id -o out.mp4 ``` 更多命令示例请参阅 [CLI 自述文件](TwitchDownloaderCLI/README.md#example-commands)。 # 从源代码构建 ## 要求 - [.NET 6.0.x SDK](https://dotnet.microsoft.com/en-us/download/dotnet/6.0) - 约 1GB 磁盘空间 ## 构建说明 1. 克隆本仓库: ```命令 git clone https://github.com/lay295/TwitchDownloader.git ``` 2. 定位至 solution 文件夹: ```命令 cd TwitchDownloader ``` 3. 还原 solution: ```命令 dotnet restore ``` - 非 Windows 设备可能需要明确指定要还原的项目,即 `dotnet restore TwitchDownloaderCLI` 4. a) 构建 GUI: ```命令 dotnet publish TwitchDownloaderWPF -p:PublishProfile=Windows ``` 4. b) 构建 CLI: ```命令 dotnet publish TwitchDownloaderCLI -p:PublishProfile= ``` - 可接受的配置文件:`Windows`、`Linux`、`LinuxAlpine`、`LinuxArm`、`LinuxArm64`、`MacOS`、`MacOSArm64` 5. a) 定位至 GUI 构建文件夹: ```命令 cd TwitchDownloaderWPF/bin/Release/net6.0-windows/publish/win-x64 ``` 5. b) 定位至 CLI 构建文件夹: ```命令 cd TwitchDownloaderCLI/bin/Release/net6.0/publish ``` # 第三方贡献 聊天渲染使用 [SkiaSharp](https://github.com/mono/SkiaSharp) 和 [HarfBuzzSharp](https://github.com/mono/SkiaSharp) © Microsoft 公司。 对聊天渲染进行编码,并最终完成视频下载使用 [FFmpeg](https://ffmpeg.org/) © FFmpeg 开发者。 聊天渲染可能会使用 [Noto Color 表情符号](https://github.com/googlefonts/noto-emoji) © Google 及其贡献者。 聊天渲染可能会使用 [Twemoji](https://github.com/twitter/twemoji) © Twitter 及其贡献者。 内置的 FFmpeg 二进制文件取自 [gyan.dev](https://www.gyan.dev/ffmpeg/) © Gyan Doshi。 FFmpeg 二进制文件和运行时的下载使用 [Xabe.FFmpeg.Downloader](https://github.com/tomaszzmuda/Xabe.FFmpeg) © Xabe。 聊天 Html 导出使用的 _Inter_ 字体由 [Google Fonts API](https://fonts.google.com/) 托管 © Google。 有关使用的外部库的完整列表,请参阅 [THIRD-PARTY-LICENSES.txt(英语)](./TwitchDownloaderCore/Resources/THIRD-PARTY-LICENSES.txt)。 # 开源许可协议 [MIT](./LICENSE.txt) TwitchDownloader 与 Twitch Interactive, Inc. 及其附属公司没有任何关联。