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. 及其附屬公司沒有任何關聯。