diff --git a/README.md b/README.md index 28dcbe67..0bad89b5 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ This document is also available in: - [**Italian / Italiano**](README_it.md) - [**Portuguese (Brazil) / Português (Brasil)**](README_pt-br.md) - [**Turkish / Türkçe**](README_tr.md) -- [**Japanese / 日本語 (翻訳作業中 WIP)**](README_ja.md) +- [**Japanese / 日本語**](README_ja.md) - [**Simplified Chinese / 简体中文**](README_zh-cn.md) ## Chat Render Example diff --git a/README_ja.md b/README_ja.md index be8c38d8..c72cbe0c 100644 --- a/README_ja.md +++ b/README_ja.md @@ -17,9 +17,9 @@ ## なにができる? -- TwitchのVODsをダウンロードする +- Twitchのアーカイブをダウンロードする - Twitchのクリップをダウンロードする -- VODs、クリップのチャットを[全ての情報を含んだJSON](https://github.com/lay295/TwitchDownloader/files/13495494/ExampleMoonMoonJsonFile.json)、ブラウザ用のHTMLファイル、[プレーンテキスト](https://github.com/lay295/TwitchDownloader/files/13495523/ExampleMoonMoonTextFile.txt)でダウンロードする +- アーカイブ、クリップのチャットを[全ての情報を含んだ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 emoji・BTTV・FFZ・7TV・スタンプ・GIFスタンプと一緒にチャットをレンダリングします @@ -36,8 +36,8 @@ Windows WPF GUIは、プログラムのすべての主要機能といくつかのQOL機能を実装しています: - 複数のダウンロード・レンダリングジョブを同時にキューに追加する -- VODs・クリップのリンクからダウンロードジョブのリストを作成する -- ストリーマーから複数のVODs・クリップを検索してダウンロードする +- アーカイブ・クリップのリンクからダウンロードジョブのリストを作成する +- ストリーマーから複数のアーカイブ・クリップを検索してダウンロードする ### 複数言語サポート @@ -62,13 +62,14 @@ MacOS用のGUIはまだありません。:( # CLI -### [See the full CLI documentation here](TwitchDownloaderCLI/README.md) +### [完全なCLIのドキュメントを見る](TwitchDownloaderCLI/README.md) -The CLI is cross-platform and implements the main functions of the program. It works on Windows, Linux, and MacOS*. +CLIはクロスプラットフォームであり、プログラムの主要な機能を実装しています。Windows, Linux, MacOSで動作します*。 -*Only Intel Macs have been tested +*Intel Macのみでテストされています。 -With the CLI, it is possible to automate video processing using external scripts. For example, you could copy-paste the following code into a `.bat` file on Windows to download a VOD and its chat, and then render the chat, all from a single input. +CLIを使用すると、外部スクリプトを使用してビデオ処理を自動化することができます。 +例えば、以下のコードをWindowsの`.bat`ファイルにコピーペーストすると、アーカイブとそのチャットをダウンロードし、チャットをレンダリングすることができます。 ```bat @echo off @@ -78,160 +79,160 @@ 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 - Getting started +## Windows - はじめに -1. Go to [Releases](https://github.com/lay295/TwitchDownloader/releases/) and download the latest version for Windows or [build from source](#building-from-source). -2. Extract `TwitchDownloaderCLI.exe`. -3. Browse to where you extracted the executable: +1. [Releases](https://github.com/lay295/TwitchDownloader/releases/)に行き、Windows用の最新バージョンをダウンロードするか[ソースコードからビルドする](#ソースコードからビルドする) +2. `TwitchDownloaderCLI.exe`を展開する。 +3. 実行ファイルを展開した場所に移動する: ``` cd C:\folder\containing\TwitchDownloaderCLI ``` -4. If you do not have FFmpeg, you can install it via [Chocolatey package manager](https://community.chocolatey.org/), or you can get it as a standalone file from [ffmpeg.org](https://ffmpeg.org/download.html) or by using TwitchDownloaderCLI: +4. FFmpegを持っていない場合は、[Chocolatey package manager](https://community.chocolatey.org/) でインストールするか、[ffmpeg.org](https://ffmpeg.org/download.html) からスタンドアロンファイルとして入手するか、TwitchDownloaderCLIを使用してください: ``` TwitchDownloaderCLI.exe ffmpeg --download ``` -5. You can now start using TwitchDownloaderCLI, for example: +1. これで、TwitchDownloaderCLIを使用する準備は整いました。例: ``` TwitchDownloaderCLI.exe videodownload --id -o out.mp4 ``` -You can find more example commands in the [CLI README](TwitchDownloaderCLI/README.md#example-commands). +その他のコマンド例は [CLI README](TwitchDownloaderCLI/README.md#example-commands) で見つけることができます。 -## Linux – Getting started +## Linux – はじめに -1. Some distros, like Linux Alpine, lack fonts for some languages (Arabic, Persian, Thai, etc.) If this is the case for you, install additional fonts families such as [Noto](https://fonts.google.com/noto/specimen/Noto+Sans) or check your distro's wiki page on fonts as it may have an install command for this specific scenario, such as the [Linux Alpine](https://wiki.alpinelinux.org/wiki/Fonts) font page. -2. Ensure both `fontconfig` and `libfontconfig1` are installed. `apt-get install fontconfig libfontconfig1` on Ubuntu. -3. Go to [Releases](https://github.com/lay295/TwitchDownloader/releases/) and download the latest binary for Linux, grab the [AUR Package](https://aur.archlinux.org/packages/twitch-downloader-bin/) for Arch Linux, or [build from source](#building-from-source). -4. Extract `TwitchDownloaderCLI`. -5. Browse to where you extracted the binary: +1. いくつかのディストリビューション(例えば、Alpine Linuxなど)には、一部の言語(アラビア語、ペルシャ語、タイ語など)のフォントが含まれていません。 + このような場合は、[Noto](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. [Releases](https://github.com/lay295/TwitchDownloader/releases/) で、Linux用の最新バイナリをダウンロードする。または Arch Linux の場合は [AUR Package](https://aur.archlinux.org/packages/twitch-downloader-bin/) から入手するか、[ソースコードからビルドする](#ソースコードからビルドする)。 +4. `TwitchDownloaderCLI`を展開する。 +5. バイナリを展開した場所に移動する: ``` cd directory/containing/TwitchDownloaderCLI ``` -6. Give the binary executable rights: +1. バイナリの実行権限を与える: ``` sudo chmod +x TwitchDownloaderCLI ``` -7. a) If you do not have FFmpeg, you should install it system-wide via your distro package manager, however you can also get it as a standalone file from [ffmpeg.org](https://ffmpeg.org/download.html) or by using TwitchDownloaderCLI: +7. a) FFmpegを持っていない場合は、使用しているディストリビューションのパッケージマネージャーからシステム全体にインストールする必要がありますが、[ffmpeg.org](https://ffmpeg.org/download.html) からスタンドアロンファイルとして入手するか、TwitchDownloaderCLIを使用して入手することもできます: ``` ./TwitchDownloaderCLI ffmpeg --download ``` -7. b) If downloaded as a standalone file, you must also give it executable rights with: +1. b) スタンドアロンファイルとしてダウンロードした場合は、実行権限を与える必要があります。: ``` sudo chmod +x ffmpeg ``` -8. You can now start using TwitchDownloaderCLI, for example: +9. これで、TwitchDownloaderCLIを使用する準備は整いました。例: ``` ./TwitchDownloaderCLI videodownload --id -o out.mp4 ``` -You can find more example commands in the [CLI README](TwitchDownloaderCLI/README.md#example-commands). +その他のコマンド例は [CLI README](TwitchDownloaderCLI/README.md#example-commands) で見つけることができます。 ## MacOS – Getting started -1. If your device has an Apple Silicon M-series processor, ensure that you download the arm64 binary, however if you would like to use the x64 binary on Apple Silicon it must be run via a terminal session running under Rosetta 2: +1. あなたのデバイスが Apple Silicon M シリーズプロセッサを搭載している場合は、arm64 バイナリをダウンロードしてください。ただし、Apple Silicon で x64 バイナリを使用する場合は、Rosetta 2 で実行されたターミナルセッションから実行する必要があります。: ``` arch -x86_64 zsh ``` -2. Go to [Releases](https://github.com/lay295/TwitchDownloader/releases/) and download the latest binary for MacOS or [build from source](#building-from-source). -3. Extract `TwitchDownloaderCLI`. -4. Browse to where you extracted the binary: +1. [Releases](https://github.com/lay295/TwitchDownloader/releases/) で、Mac用の最新バイナリをダウンロードする。または [ソースコードからビルドする](#ソースコードからビルドする)。 +2. `TwitchDownloaderCLI`を展開する。 +3. バイナリを展開した場所に移動する: ``` cd directory/containing/TwitchDownloaderCLI ``` -5. Give the binary executable rights in the terminal: - +5. ターミナルでバイナリの実行権限を与える: ``` chmod +x TwitchDownloaderCLI ``` -6. a) If you do not have FFmpeg, you can install it system-wide via the [Homebrew package manager](https://brew.sh/), or you can get it as a standalone file from [ffmpeg.org](https://ffmpeg.org/download.html) or by using TwitchDownloaderCLI: +1. a) FFmpegを持っていない場合は [Homebrew package manager](https://brew.sh/) からシステム全体にインストールするか、[ffmpeg.org](https://ffmpeg.org/download.html) からスタンドアロンファイルとして入手するか、TwitchDownloaderCLIを使用してください: ``` ./TwitchDownloaderCLI ffmpeg --download ``` -6. b) If downloaded as a standalone file, you must also give it executable rights with: +6. b) スタンドアロンファイルとしてダウンロードした場合は、実行権限を与える必要があります: ``` chmod +x ffmpeg ``` -7. You can now start using TwitchDownloaderCLI, for example: +7. これで、TwitchDownloaderCLIを使用する準備は整いました。例: ``` ./TwitchDownloaderCLI videodownload --id -o out.mp4 ``` -You can find more example commands in the [CLI README](TwitchDownloaderCLI/README.md#example-commands). +その他のコマンド例は [CLI README](TwitchDownloaderCLI/README.md#example-commands) で見つけることができます。 -# Building from source +# ソースコードからビルドする -## Requirements +## 必要条件 - [.NET 6.0.x SDK](https://dotnet.microsoft.com/en-us/download/dotnet/6.0) -- About 1GB of disk space +- 約1GBのディスク空き容量 -## Build Instructions +## ビルド手順 -1. Clone the repository: +1. リポジトリをクローン: ``` git clone https://github.com/lay295/TwitchDownloader.git ``` -2. Navigate to the solution folder: +2. ソルーションフォルダに移動する: ``` cd TwitchDownloader ``` -3. Restore the solution: +3. ソリューションをリストアする: ``` dotnet restore ``` -- Non-Windows devices may need to explicitly specify a project to restore, i.e. `dotnet restore TwitchDownloaderCLI` +- Windows以外のデバイスでは、リストアするプロジェクトを明示的に指定する必要があります。`dotnet restore TwitchDownloaderCLI` -4. a) Build the GUI: +1. a) GUIをビルドする: ``` dotnet publish TwitchDownloaderWPF -p:PublishProfile=Windows ``` -4. b) Build the CLI: +4. b) CLIをビルドする: ``` dotnet publish TwitchDownloaderCLI -p:PublishProfile= ``` -- Applicable Profiles: `Windows`, `Linux`, `LinuxAlpine`, `LinuxArm`, `LinuxArm64`, `MacOS`, `MacOSArm64` +- 適用可能なProfile: `Windows`, `Linux`, `LinuxAlpine`, `LinuxArm`, `LinuxArm64`, `MacOS`, `MacOSArm64` -5. a) Navigate to the GUI build folder: +5. a) GUIのビルドフォルダに移動する: ``` cd TwitchDownloaderWPF/bin/Release/net6.0-windows/publish/win-x64 ``` -5. b) Navigate to the CLI build folder: +1. b) CLIのビルドフォルダに移動する: ``` cd TwitchDownloaderCLI/bin/Release/net6.0/publish @@ -259,4 +260,5 @@ For a full list of utilized external libraries, see [THIRD-PARTY-LICENSES.txt](. [MIT](./LICENSE.txt) -TwitchDownloader is in no way associated with Twitch Interactive, Inc. or its affiliates. +TwitchDownloaderは、Twitch Interactive, Inc. およびその関連会社とは一切関係ありません。 +(TwitchDownloader is in no way associated with Twitch Interactive, Inc. or its affiliates.) diff --git a/TwitchDownloaderWPF/README.md b/TwitchDownloaderWPF/README.md index 609c06be..0e86ecb6 100644 --- a/TwitchDownloaderWPF/README.md +++ b/TwitchDownloaderWPF/README.md @@ -1,7 +1,13 @@ # TwitchDownloaderWPF A Windows WPF desktop application that implements the core functionality wrapped in various quality of life features. +This document is also available in: + +- [**Japanese / 日本語**](README_ja.md) + +## Table of Contents - [TwitchDownloaderWPF](#twitchdownloaderwpf) + - [Table of Contents](#table-of-contents) - [Usage](#usage) - [VOD Download](#vod-download) - [Clip Download](#clip-download) diff --git a/TwitchDownloaderWPF/README_ja.md b/TwitchDownloaderWPF/README_ja.md new file mode 100644 index 00000000..584af152 --- /dev/null +++ b/TwitchDownloaderWPF/README_ja.md @@ -0,0 +1,402 @@ +> [!WARNING] +> 日本語版の TwitchDownloaderWPF README に翻訳が追い付いていない場合があります。 +> 最新の Twitch DownloaderWPF README を確認したい場合は、[英語版](README.md)を確認してください。 + +# TwitchDownloaderWPF +TwitchDownloaderWPF は Windows のデスクトップアプリケーションで、様々な QoL 向上機能を有したコア機能を実装しています。 + +## 目次 +- [TwitchDownloaderWPF](#twitchdownloaderwpf) + - [目次](#目次) + - [使用方法](#使用方法) + - [アーカイブのダウンロード](#アーカイブのダウンロード) + - [クリップダウンロード](#クリップダウンロード) + - [チャットダウンロード](#チャットダウンロード) + - [チャットの更新](#チャットの更新) + - [チャットレンダリング](#チャットレンダリング) + - [一般](#一般) + - [レンダリング](#レンダリング) + - [スケーリング](#スケーリング) + - [エンコーディング](#エンコーディング) + - [FFmpeg](#ffmpeg) + - [レンダリング速度の最適化](#レンダリング速度の最適化) + - [タスクキュー](#タスクキュー) + - [設定](#設定) + - [トラブルシューティング](#トラブルシューティング) + - [エラー以外の問題](#エラー以外の問題) + - [一般的なエラー](#一般的なエラー) + - [一般的ではないエラー](#一般的ではないエラー) + - [翻訳](#翻訳) + - [テーマ](#テーマ) + +--- + +## 使用方法 + +ほとんどのページでは、ウィンドウの左側に情報エリアがあり、サムネイル(ある場合)、配信者、作成日、アーカイブ/クリップのタイトルが表示され、ウィンドウの中央にはジョブの設定があり、ウィンドウの右側にはイベントのログを表示するエリアがあります。 + +### アーカイブのダウンロード +Twitch から配信のアーカイブやハイライトをダウンロードする。 + +![Figure 1.1](Images/vodExample.png) +
*図 1.1* + +はじめに、アーカイブまたはハイライトの有効なリンク、または ID を入力し、`取得`ボタンを押します。 +すると、ダウンロードオプションのロックが解除され、ジョブをカスタマイズできるようになります。 +アーカイブまたはハイライトが非公開、またはサブスクライバー限定の場合は、ビデオにアクセスできるアカウントの Oauth トークンが必要です。 + +**品質**: ダウンロードの品質を選択し、推定ファイルサイズを提供します。たまに、Twitchは一般的な解像度フォーマット(図 1.1の場合は1080p60)ではなく、最高画質を「Source」と呼ぶことがあります。 + +**トリミング**: ビデオのダウンロードの開始時間と終了時間を設定します。フォーマットは左から \[時間\] \[分\] \[秒\]。ビデオをトリミングすることで、ダウンロード総量が減少します。 + +**Download Threads**: 実行される並列ダウンロードスレッドの数 + +**OAuth**: サブスクライバー限定および非公開なアーカイブやハイライトのダウンロードをするための認証トークンです。有料コンテンツや非公開コンテンツの不正ダウンロードを防ぐため、このアプリケーションとTwitchが要求しています。Oauth トークンの取得方法は以下の動画(英語)を確認してください。[https://youtu.be/1MBsUoFGuls](https://www.youtube.com/watch?v=1MBsUoFGuls). +**絶対にほかの誰かにあなたのトークンを共有しないでください** + +**ダウンロード**: ダウンロードジョブを開始します。代わりにドロップダウンメニューを開くと、`ダウンロードをキューに追加`オプションで [タスクキュー](#タスクキュー)に送ることができます。どちらの方法でも、現在のダウンロード設定が使用されます。 + +### クリップダウンロード +Twitch からクリップをダウンロードする。 + +![Figure 2.1](Images/clipExample.png) +
*図 2.1* + +はじめに、クリップの有効なリンクまたは ID を入力し、`取得`ボタンを押します。 +すると、ダウンロードオプションのロックが解除され、ジョブをカスタマイズできるようになります。 + +**品質**: ダウンロード前のクリップの品質を選択します。 + +**メタデータのエンコード**: 配信日時やクリップIDなどのクリップのメタデータを、FFmpeg を使って最終的な mp4 ファイルにエンコードします。 + +**ダウンロード**: ダウンロードジョブを開始します。代わりにドロップダウンメニューを開くと、`ダウンロードをキューに追加`オプションで [タスクキュー](#タスクキュー)に送ることができます。どちらの方法でも、現在のダウンロード設定が使用されます。 + +### チャットダウンロード +アーカイブ、ハイライト、クリップのチャットをダウンロードします。 + +![Figure 3.1](Images/chatdownload1Example.png) +
図 3.1* + +![Figure 3.2](Images/chatdownload2Example.png) +
図 3.2* + +はじめに、アーカイブ、ハイライト、クリップの有効なリンク、または ID を入力し、`取得`ボタンを押します。 +すると、ダウンロードオプションのロックが解除され、ジョブをカスタマイズできるようになります。 +アーカイブやハイライトがサブスクライバー限定、または非公開の場合、チャットをダウンロードすることはできません。これは TwitchDownloader の制限ではなく、TwitchAPI の制限です。 + +**ダウンロードフォーマット**: ダウンロードしたチャットが保存されるファイルの形式。 +- `JSON` はチャットの更新やレンダリングに使用できるチャットデータを出力します。 +- `Text` はアーカイブを見ながらチャットを読むのに最適な生のテキストを出力します。 +- `HTML` は Twitch ウェブサイトの外見を再現したローカルウェブページを出力します。 + +**圧縮** (JSON のみ): GZip 標準圧縮を使用して出力 JSON を圧縮し、ファイルサイズを 40~90 % 削減できます。[チャットの更新](#チャットの更新) を使用せずにチャットファイルの値を手動で変更する場合は推奨されません。 + +**タイムスタンプフォーマット** (Text のみ): テキストダウンロードのタイムスタンプ形式を変更する。 `UTC`(協定世界時) 、動画の開始位置からの相対的な時間の `Relative`、または `None` から選ぶ。 + +**トリミング**: ビデオのダウンロードの開始時間と終了時間を設定します。フォーマットは左から \[時間\] \[分\] \[秒\]。ビデオをトリミングすることで、ダウンロード総量が減少します。 + +**イメージを埋め込む** (JSON & HTML のみ): 配信者のスタンプとバッジをダウンロードし、ダウンロードしたチャット内に保存します。ファイルサイズはかなり大きくなります。 + +**サードパーティスタンプ** (JSON & HTML のみ): 指定されたサードパーティプロバイダからスタンプをダウンロードし、チャット内に保存します。配信者が指定されたプロバイダに登録していない場合は、スキップされます。 + +**Download Threads**: 実行される並列ダウンロードスレッドの数。インターネット接続によっては、Twitch サーバーが1つ以上のチャットダウンロードスレッドの使用を拒否する場合があります。 + +**ダウンロード**: ダウンロードジョブを開始します。代わりにドロップダウンメニューを開くと、`ダウンロードをキューに追加`オプションで [タスクキュー](#タスクキュー)に送ることができます。どちらの方法でも、現在のダウンロード設定が使用されます。 + +### チャットの更新 +ダウンロードした JSON チャットの埋め込みスタンプ、バッジ、ビッツ、トリミングを更新したり、JSON チャットを別のフォーマットに変換したりできます。 + +![Figure 4.1](Images/chatupdateExample.png) +
図 4.1* + +はじめに、**参照**ボタンをクリックし、以前にダウンロードした JSON チャットファイルを選択します。すると、更新オプションのロックが解除され、ジョブをカスタマイズすることができます。チャットの元のビデオがまだ存在する場合、その情報は情報セクションに読み込まれます。 + +**ダウンロードフォーマット**: ダウンロードしたチャットが保存されるファイルの形式。 +- `JSON` はチャットの更新やレンダリングに使用できるチャットデータを出力します。 +- `Text` はアーカイブを見ながらチャットを読むのに最適な生のテキストを出力します。 +- `HTML` は Twitch ウェブサイトの外見を再現したローカルウェブページを出力します。 + +**圧縮** (JSON のみ): GZip 標準圧縮を使用して出力 JSON を圧縮し、ファイルサイズを 40~90 % 削減できます。[チャットの更新](#チャットの更新) を使用せずにチャットファイルの値を手動で変更する場合は推奨されません。 + +**タイムスタンプフォーマット** (Text のみ): テキストダウンロードのタイムスタンプ形式を変更する。 `UTC`(協定世界時) 、動画の開始位置からの相対的な時間の `Relative`、または `None` から選ぶ。 + +**トリミング**: 更新されたチャットをトリミングする開始時刻と終了時刻を設定します。フォーマットは左から \[時間\] \[分\] \[秒\]。チャットのトリミングを拡大すると、つまり現在の開始時刻よりも早く、現在の終了時刻よりも遅く設定すると、元々の JSON チャットに含まれていなかったコメントを取得しようとします。チャットのトリミングを縮小しても、コメントは削除されません。 + +**Embed Missing** (JSON & HTML のみ): JSON チャットに含まれていないスタンプまたはバッジをダウンロードします。既存のスタンプやバッジは上書きされません。 + +**埋め込みを置き換える** (JSON & HTML のみ): JSON チャットの既存のスタンプとバッジをすべて削除し、現在のスタンプとバッジをダウンロードします。 + +**サードパーティスタンプ** (JSON & HTML のみ): 指定されたサードパーティプロバイダからスタンプをダウンロードし、チャット内に保存します。配信者が指定されたプロバイダに登録していない場合は、スキップされます。 + +**更新**: 更新ジョブを開始します。代わりにドロップダウンメニューを開くと、`更新をキューに追加`オプションで [タスクキュー](#タスクキュー)に送ることができます。どちらの方法でも、現在の更新設定が使用されます。 + +### チャットレンダリング +チャットの JSON ファイルからビデオをレンダリングする。 + +![Figure 5.1](Images/chatrender1Example.png) +
図 5.1* + +![Figure 5.2](Images/chatrender2Example.png) +
図 5.2* + +![Figure 5.3](Images/chatrender3Example.png) +
図 5.3* + +![Figure 5.4](Images/chatrender4Example.png) +
図 5.4* + +![Figure 5.5](Images/chatrender5Example.png) +
図 5.5* + +![Figure 5.6](Images/rangeExample.png) +
図 5.6* + + +はじめに、**参照**ボタンをクリックし、以前にダウンロードした JSON チャットファイルを選択します。すると、レンダリングオプションのロックが解除され、ジョブをカスタマイズすることができます。 + +**レンダリング**: レンダリングジョブを開始します。代わりにドロップダウンメニューを開くと、`レンダリングをキューに追加`オプションで [タスクキュー](#タスクキュー)に送ることができます。あるいは `部分レンダリング` オプションを選択することもできます。現在のレンダリング設定はすべてのシナリオで使用されます。 + +#### 一般 + +**横幅**: 出力するチャットの横幅。偶数である必要があります。 + +**高さ**: 出力するチャットの高さ。偶数である必要があります。 + +**フォント**: 出力するチャットで使用されるフォント。Twitch のウェブサイトでは*Inter*を使用しており、*Inter Embedded* として TwitchDownloader に含まれています。 + +**フォントサイズ**: フォントの大きさ。 + +**フォントカラー**: メッセージのフォントカラー。 + +**バックグラウンドカラー**: 出力するチャットのバックグラウンドカラー + +**代替バックグラウンドカラー**: 代替のバックグラウンドカラー。`代わりの背景` オプションが有効になっている必要があります。 + +#### レンダリング + +**アウトライン**: ユーザー名とメッセージに細い黒の輪郭を追加します。 + +**タイムスタンプ**: チャットメッセージの横に、ビデオ開始からの相対的なタイムスタンプを描画します。 + +**サブスクライバーメッセージ**: サブスクライブ、再サブスクライブ、サブスクギフトの通知メッセージの描画。無効にするとレンダリングから除外されます。 + +**チャットバッジ**: ユーザー名の横にチャットバッジを描画します。 + +**Update Rate**: 次のコメントのバッチを描画するまでの時間(秒)。数値を小さくするとチャットの流れが読みやすくなりますが、レンダリング時間がわずかに長くなります。 + +**分散**: 2022年11月にTwitch APIが変更され、チャットメッセージのダウンロードが秒単位になりました。このオプションでは、追加のメタデータを使用して、メッセージが実際に送信された時刻に復元しようとします。その結果、コメントの順序が異なる場合があります。効果的な結果を得るには、更新レートが1.0未満である必要があります。 + +**代わりのバックグラウンド**: 他のチャットメッセージの背景色を交互に表示し、見分けやすくします。 + +**BTTV スタンプ**: BTTV からのスタンプを描画に含みます。 + +**FFZ スタンプ**: FFZ からのスタンプを描画に含みます。 + +**7TV スタンプ**: 7TV からのスタンプを描画に含みます。 + +**オフライン**: ネットワークリクエストを一切行わず、JSON チャットに埋め込まれた情報と画像のみを使用してレンダリングを行います。 + +**チャットバッジフィルター**: 指定されたバッジをレンダリングしません。例えば、図 5.2 の場合 `音声のみ` バッジと `音声なしで視聴中` バッジはレンダリングされません。 + +**無視するユーザーのリスト**: レアだリングから削除するユーザーを、カンマ区切りで大文字と小文字を区別せずに指定します。例えば、図 5.2 では StreamLabs, StreamElements, Nightbot がレンダリングから削除されます。 + +**BAN されたワード**: カンマで区切られた、大文字と小文字を区別しない単語のリスト。例えば、図5.2では `" pog"`, `"[pOg+"`, `"/POg9"` を含むメッセージはレンダーから削除されます。`"poggers"` を含むメッセージは削除されません。。 + +**Emojiベンダー**: レンダリングで使用する絵文字のスタイル。現在、Twitter の `Twemoji`、Google の `Noto Color`、システムの絵文字(`None`)がサポートされています。 + +#### スケーリング + +**Emote Scale**: The scale of emotes. + +**Badge Scale**: The scale of badges. + +**Emoji Scale**: 絵文字のスケール。 + +**Vertical Spacing Scale**: メッセージ間の空白のスケール。 + +**Side Padding Scale**: 水平方向のの空白のスケール。 + +**Section Height Scale**: テキスト行の高さのスケール。 + +**Word Spacing Scale**: 単語間の空白のスケール。 + +**Emote Spacing Scale**: スタンプと他のスタンプ、または単語の間の空白のスケール。 + +**Highlight Stroke Scale**: 強調表示、サブスクライブメッセージのサイドバーの幅スケール。 + +**Highlight Indent Scale**: 強調表示、サブスクライブメッセージのインデントのスケール。 + +#### エンコーディング + +**ファイルフォーマット**: 出力するファイル形式。 + +**コーデック**: 出力に使用するコーデック。 + +**フレームレート**: 出力されるビデオのフレームレート。 + +**マスクを生成**: レンダリング中のテキストと画像の白黒マスクを含む二次出力ファイルを生成する。背景色のアルファチャンネルは255未満でなければならない。 + +**Sharpening**: レンダリングされたビデオにシャープニングフィルタを適用します。レンダリング時間とファイルサイズがわずかに増加します。`ファントサイズ` 24 以上で最適です。 + +#### FFmpeg + +**警告: FFmpeg の引数を変更するとパイプエラーが発生する場合があります。** + +**入力引数**: FFmpegへのレンダリング入力を制御するための引数。 + +**出力引数**: FFmpegからのエンコード出力を制御するための引数。 + +**デフォルトにリセット**: FFmpeg の引数の両方をデフォルトにリセットします。 + +#### レンダリング速度の最適化 + +レンダリング速度が遅すぎると感じたら、以下のいずれかを試してみてください: + +| 大きな影響 | 中程度の影響 | 小さな影響 | +|------------------------------|---------------------------------|-----------------------------------------------| +| レンダリング幅を減らす | BTTV、FFZ、7TVスタンプを無効にする | Update Rateが1.0以下の場合、分散を無効にする | +| レンダリング高さを減らす | Update Rateを増やす | サブスクライブメッセージを無効にする | +| フレームレートを減らす | システム絵文字に変更する | アウトラインを無効にする | +| マスク生成を無効にする | | 代わりの背景を無効にする | +| Sharpeningを無効にする | | | +| コーデックをH.264に変更する | | | + + +### タスクキュー +複数のジョブを作成し、管理する。 + +![Figure 6.1](Images/taskqueueExample.png) +
図 6.1* + +![Figure 6.2](Images/massurlExample.png) +
図 6.2* + +![Figure 6.3](Images/massvodExample.png) +
図 6.3* + +![Figure 6.4](Images/massclipExample.png) +
図 6.4* + +![Figure 6.5](Images/enqueueExample.png) +
図 6.5* + +タスクキューは、多くのジョブを順次または並行して実行することを可能にします。他の5つのページのどのジョブも、それぞれの `XXXをキューに追加` ボタンを使ってタスクキューに送ることができます。(図 6.5 参照) + +タスクキューのページには、4つの制限があります。: + +**アーカイブのダウンロード**: 同時に行えるアーカイブ/ハイライト のダウンロードジョブ数。 + +**クリップダウンロード**: 同時に行える クリップ のダウンロードジョブ数。 + +**チャットダウンロード**: 同時に行える チャット のダウンロードジョブ数。 + +**チャットレンダリング**: 同時に行える チャット のレンダリングジョブ数。 + +タスクキューには3種類の大量ダウンロード機能があります: + +**URLリスト**: 全て同じ設定で処理されるアーカイブ、ハイライト、クリップのURLリスト。図 6.2 および 図 6.5 参照。 + +**アーカイブを検索**: 同じ設定で処理される配信者からの全アーカイブを検索するウィンドウ。図 6.3 および 図 6.5 参照。 + +**クリップを検索**: 同じ設定で処理される配信者の全クリップを検索するウィンドウ。図 6.3 および 図 6.5 参照。 + +### 設定 +アプリケーションの動作を管理します。 + +![Figure 7.1](Images/settingsExample.png) +
図 7.1* + +**キャッシュフォルダ**: 一時的な作業ファイルが保存されるフォルダ。これにはアーカイブダウンロード、スタンプ、バッジ、ビッツが含まれます。 +- **クリア**: TwitchDownloader 関連のキャッシュファイルをすべて削除します。アプリケーションが正しく動作していない場合をのぞき、お勧めしません。 +- **参照**: 一時キャッシュを保存するフォルダを選択します。既存のキャッシュファイルは転送されません。 + +**寄付ボタンを非表示**: 寄付ボタンを非表示にする。 + +**詳細なエラー**: エラー発生時の説明ポップアップを有効にする。 + +**テーマ**: アプリケーションのテーマ。[テーマセクション](#テーマ) を参照。 + +**言語**: アプリケーションの言語。 [翻訳セクション](#翻訳) を参照。 + +**最大スレッド帯域幅**: 新しいダウンロードスレッドが使用を許可される最大帯域幅を1秒当たりのキロバイト数(KiB/s)で指定する。 + +**ダウンロードファイルの名前テンプレート**: ダウンロード時にデフォルトのファイル名を生成するためのテンプレート。 + +## トラブルシューティング + +### エラー以外の問題 + +エラーとはみなされない問題もあります。これらは[Github Issue](https://github.com/lay295/TwitchDownloader/issues)として、問題の原因となった入力とともに報告する必要があります。エラーではない問題の例をいくつか挙げます: +- 動画のダウンロードが`Downloading: 99%` が 5 分以上続く +- チャットレンダリングのステータスが10秒以上更新されない +- チャットのレンダリングでコメントが表示されない +- アプリケーションのテーマを変更してもUI要素が反応しない +- スタンプの埋め込みなどのオプションを変更しても効果がない + +### 一般的なエラー + +エラーは、ジョブの開始前または開始直後に発生した場合、「一般的な」エラーとみなされます。一般的なエラーには、何が問題であったかを説明する親切なエラーメッセージが表示されます。一般的なエラーの例としては、以下のようなものがあります: +- サムネイルが見つかりません + - アーカイブの有効期限が切れているか、現在ライブ中です。 +- ビデオ/クリップ情報が取得できません + - リンク先のアーカイブ/Clipが無効であるか、削除されているか、プライベート/サブ専用で有効なOAuthが提供されていません。 +- 入力を解析できませんでした + - 1つ以上のレンダー入力が無効です。 + +### 一般的ではないエラー +一般的でないエラーは、"Fatal Error"というタイトルのポップアップや、不親切なエラーメッセージによって特徴付けられます。これらのエラーは、[Github Issue](https://github.com/lay295/TwitchDownloader/issues)として、エラーの原因となった入力とともに報告する必要があります。一般的でないエラーの例としては、以下のようなものがあります: +- Error converting value 'XXX' to type 'XXX'. Path 'XXX', line #, position #. +- Cannot access child value on Newtonsoft.Json.Linq.JValue. +- Response status code does not indicate success: 404 (Not Found). +- The pipe has been ended. + - FFmpegで問題が発生しました。引数をデフォルトにリセットして再試行してください。それでも成功しない場合は、Githubに新しいIssueを作成してください。 + +エラーの原因を突き止めるために、[設定](#設定)で`詳細なエラー`を有効にして、"Verbose Error Output "というタイトルのポップアップのスクリーンキャプチャを取ってください。 + +## 翻訳 + +このアプリケーションは、翻訳を申し出てくれる寛大なコミュニティのメンバーのおかげで、多言語で利用できます。 + +もしあなたが翻訳を作成する能力に自信があり、TwitchDownloaderWPF があなたの母国語で利用できない場合、またはあなたの母国語の翻訳が不完全な場合、あなたの助けを歓迎します! + +もし始めるにあたってサポートが必要であれば、コミット [53245be1fe55768d525905e81cc2cd0c12469b03](https://github.com/lay295/TwitchDownloader/blob/53245be1fe55768d525905e81cc2cd0c12469b03/TwitchDownloaderWPF/Services/AvailableCultures.cs) を確認するか、[AvailableCultures.cs](Services/AvailableCultures.cs) を確認するか、オリジナルの [localization thread](https://github.com/lay295/TwitchDownloader/issues/445) を確認するか、[GithubIssueを作成して](https://github.com/lay295/TwitchDownloader/issues/new/choose) サポートを求めてみてください。(サポートやスレッドは基本的に英語です) + +文字列や文字列の一部をどのように翻訳したらよいかわからない場合は、英語のままでも構いません。 + +## テーマ + +ライトテーマとダークテーマの両方がアプリケーションに含まれており、現在のWindowsアプリのテーマに基づいて自動的に2つを切り替えるオプションもあります。現在、ライトテーマとダークテーマは、常に最新であることを保証するために、実行するたびに上書きされます。 + +自分のテーマを作り始めるには、同梱されているテーマを複製して、お好きなテキストエディタで開くだけです。 + +WPFアプリケーションでは、_HandyControl_と呼ばれるパッケージの要素をいくつか使用していますが、これらは完全なテーマ化サポートを提供していません。ほとんどのHandyControl要素はテキストとボーダーの再カラーリングのみをサポートしています。これを制御するには、`DarkHandyControl`真偽値キーをtrueまたはfalseに設定します。 + +あなたのテーマで暗いタイトルバーを有効にするには、`DarkTitleBar`真偽値キーをtrueに設定します。 + +残りの `SolidColorBrush` キーは、アプリの背景色、テキスト色、ボーダー色など、アプリとアプリの要素の色を制御します。Inner'キーは、以下の図に見られるように、再帰的な要素に深さを追加するために使用されます: + +``` +/---------------------------[-][#][x] +| AppBackground | +| /-------------------------------\ | +| | AppElementBackground | | +| | /---------------------------\ | | +| | | AppInnerElementBackground | | | +| | | | | | +| | \---------------------------/ | | +| | | | +| \-------------------------------/ | +| | +\-----------------------------------/ +``` + +この場合、`AppElementBackground`はフレームで使用され、`AppInnerElementBackground`はボーダーラベルや空白の画像背景などで使用されます。 + +**重要な注意事項** + +- アプリケーションを起動すると、`Dark.xaml` と `Light.xaml` は常に上書きされます。 +- ファイル名は大文字と小文字を区別せずに読み込まれるため、`Dark.xaml`と`dark.xaml`を区別することはできません。 +- テーマファイルの一番上にある作者コメントを編集することを忘れないでください! +- あなたのテーマをプログラムに含めることができます!自分の TwitchDownloader のフォークにアップロードして、[プルリクエストを作成](https://github.com/lay295/TwitchDownloader/pulls)してください。 + +カスタムテーマの作成に関するオフラインの手順については、`Themes/README.txt` を参照してください。このファイルは、実行のたびに再生成されます。 \ No newline at end of file diff --git a/TwitchDownloaderWPF/Translations/Strings.ja.resx b/TwitchDownloaderWPF/Translations/Strings.ja.resx index 3e56a489..457c007d 100644 --- a/TwitchDownloaderWPF/Translations/Strings.ja.resx +++ b/TwitchDownloaderWPF/Translations/Strings.ja.resx @@ -147,7 +147,7 @@ BANされたワードやフレーズのリスト - カンマ区切り、カンマの周りのスペースは無視、大文字と小文字は区別しない。 - Browse + 参照 BTTV スタンプ: @@ -272,7 +272,7 @@ レンダリングをキューに追加 - をキューに追加 + 更新をキューに追加 エラー: @@ -345,7 +345,7 @@ 長さ: - VODs/クリップのリスト (1行に1つ) + アーカイブ/クリップのリスト (1行に1つ) ログ: @@ -358,7 +358,7 @@ Leave a trailing space - サブスクライバーのみのVODsにのみ必要です。サードパーティのOAuthトークンは使用できません。OAuthトークンの取得方法はYouTubeのビデオをご覧ください。 + サブスクライバーのみのアーカイブにのみ必要です。サードパーティのOAuthトークンは使用できません。OAuthトークンの取得方法はYouTubeのビデオをご覧ください。 オフライン @@ -426,7 +426,7 @@ クリップを検索 - VODsを検索 + アーカイブを検索 全て選択 @@ -535,7 +535,7 @@ リンクを解析できませんでした - VOD/クリップのリンクが正しいか再度確認してください + アーカイブ/クリップのリンクが正しいか再度確認してください 不明 @@ -562,22 +562,22 @@ タイトル: - VOD/クリップのリンク: + アーカイブ/クリップのリンク: - VODのダウンロード + アーカイブのダウンロード - VODのダウンロード + アーカイブのダウンロード ビデオの有効期限が切れているか、埋め込みIDが壊れている - VOD リンク/ID: + アーカイブ リンク/ID: - VODs: + アーカイブ: チャットのダウンロード @@ -861,13 +861,16 @@ フォルダを開く - Unknown User + 不明なユーザー - Unknown Game + 不明なゲーム - Unknown + 不明 + + + ユーザー名の読みやすさを向上する: Increase Username Readability: