Update links in readme-translations/*.md so they point to the project root (prepend ../). Adjusted references for README.md, .github/CI_CD_README.md and LICENSE across the translation files so links resolve correctly from the readme-translations directory.
32 KiB
クリーンなPySide6インターフェースを備えたモダンなYouTubeダウンローダー。
あらゆる品質でのビデオダウンロード、オーディオ抽出、字幕取得などが可能です。
🌍 README 言語
英語: EN | アラビア語: AR | ドイツ語: DE | スペイン語: ES | フランス語: FR | ヒンディー語: HI | インドネシア語: ID | イタリア語: IT | 日本語: JA | ポーランド語: PL | ポルトガル語: PT | ロシア語: RU | トルコ語: TR | 中国語: ZH
❓ なぜ YTSage なのか?
YTSageは、シンプルでありながら強力なYouTubeダウンローダーを求めるユーザーのために設計されています。他のツールとは異なり、以下の機能を提供します:
- モダンでクリーンなPySide6インターフェース
- ビデオ、オーディオ、字幕のワンクリックダウンロード
- SponsorBlock、字幕結合、プレイリスト選択などの高度な機能
- yt-dlpがサポートするYouTube以外のサイト向けのオプションのジェネリックモード
- クロスプラットフォーム対応と簡単なインストール
✨ 機能
| 基本機能 | 高度な機能 | 追加機能 |
|---|---|---|
| 🎥 フォーマットテーブル | 🚫 SponsorBlock統合 | 🎞️ FPS/HDR表示 |
| 🎵 オーディオ抽出 | 📝 字幕選択と結合 | 🔄 yt-dlp自動更新 |
| ✨ シンプルなユーザーインターフェース | 💾 説明とサムネイルの保存 | 🛠️ FFmpeg/yt-dlp/Deno検出 |
| 📋 プレイリストのサポートと選択 | 🚀 速度制限 | ⚙️ カスタムコマンド |
| 📑 チャプター統合 | ✂️ ビデオセクションのトリミング | 🍪 クッキーログイン |
| 📜 ダウンロード履歴 | 🔄 リリースチャネルの選択 | 🌐 プロキシサポート |
| 🎚️ オーディオフォーマット変換 | 🎬 ビデオフォーマット設定 | 🆙 統合アップデートタブ |
| 🌍 ジェネリックモード | 🔊 オーディオノーマライズ (EBU R128) | 🌍 14言語へのローカライズ |
| 💾 プレイリストのエクスポート | ⚙️ デフォルトの品質と字幕 |
🚀 インストール
⚡ クイックインストール (推奨)
PyPI経由でYTSageをインストールします:
pip install ytsage
🔄 既存のインストールを更新する
pip install --upgrade ytsage
その後、アプリケーションを実行します:
ytsage
📦 ビルド済み実行ファイル (Executable)
🪟 Windows
| フォーマット | 説明 |
|---|---|
| 標準インストーラー | |
| FFmpeg同梱 | |
| ポータブル版、インストール不要 | |
| FFmpeg同梱、ポータブル版 (ZIP縮小) |
🛠️ インストール手順
- EXE インストーラー (
.exe): ファイルをダブルクリックし、セットアップウィザードに従います。 - ポータブル版 (
.zip): アーカイブを任意の場所に展開し、ytsage.exeを実行します。 - 内蔵 FFmpeg: システムに FFmpeg がインストールされていない場合は、FFmpeg 同梱版を選択してください。
🐧 Linux
| フォーマット | 説明 |
|---|---|
| Debian パッケージ | |
| AppImage、ポータブル | |
| RPM パッケージ | |
| Flatpak バンドル |
🛠️ インストール手順
- DEB (
.deb):sudo dpkg -i ytsage_*.deb sudo apt-get install -f # 必要に応じて不足している依存関係を修正 - RPM (
.rpm):sudo rpm -i ytsage-*.rpm - AppImage (
.AppImage):chmod +x YTSage-*.AppImage ./YTSage-*.AppImage - Flatpak: Flathub の指示に従うか、以下を実行します:
flatpak install flathub io.github.oop7.ytsage
🍎 macOS
| フォーマット | 説明 |
|---|---|
| Apple Silicon 用 ZIP アプリ | |
| Apple Silicon 用ディスクイメージインストーラー |
🛠️ インストール手順
- DMG インストーラー (
.dmg): ダブルクリックしてマウントし、YTSage.appをアプリケーションフォルダにドラッグします。 - App アーカイブ (
.zip): ZIP を展開し、YTSage.appをアプリケーションフォルダに移動します。
注意: 「アプリが破損しています」というエラーが表示される場合は、以下の macOS トラブルシューティング セクションを参照してください。
💻 ソースからの手動インストール
1. リポジトリをクローンする
git clone https://github.com/oop7/YTSage.git
cd YTSage
2. 依存関係をインストールする
⚡ uv を使用する場合
uv pip install .
📦 または標準の pip を使用する場合
pip install .
3. アプリケーションを実行する
python -m ytsage.main
📸 スクリーンショット
📖 使い方
🎯 基本的な使い方
- YTSage を起動する
- YouTube の URL を貼り付ける (または「URL を貼り付け」ボタンを使用)
- 「分析」をクリックする
- フォーマットを選択する:
- ビデオダウンロードの場合は
Video - オーディオ抽出の場合は
Audio Only
- ビデオダウンロードの場合は
- オプションを選択する:
- 字幕を有効にして言語を選択
- 字幕結合を有効化
- サムネイルを保存
- スポンサーセクションを削除
- 説明を保存
- チャプターを埋め込む
- 出力ディレクトリを選択する
- 「ダウンロード」をクリックする
💡 デフォルトのダウンロードディレクトリは、ユーザーの「ダウンロード」フォルダです。
📋 プレイリストのダウンロード
- プレイリストの URL を貼り付ける
- 「分析」をクリックする
- プレイリストセレクターからビデオを選択する (任意、デフォルトはすべて)
- 希望のフォーマット/品質を選択する
- 「ダウンロード」をクリックする
💡 アプリケーションはダウンロードキューを自動的に管理し、プレイリストのエントリを
.txt,.csv,.m3u, または.jsonファイルとしてエクスポートできます。
🌍 YouTube 以外のサイト向けのジェネリックモード
Dailymotion、CBC Gem、TikTok など、yt-dlp がサポートするサイトからの URL を YTSage に受け入れさせたい場合は、ジェネリックモードを使用します。
使用方法:
Download Settingsを開きます。Generic Modeを有効にします。- YouTube 以外のサポートされているビデオまたはプレイリストの URL を貼り付けます。
Analyzeをクリックします。- フォーマットを選択し、通常通りダウンロードします。
注意:
- ジェネリックモードは、YTSage 内部の URL バリデーションのみを変更します。対象サイトは、インストールされている yt-dlp バージョンでサポートされている必要があります。
- サイトによっては、エクストラクターに応じてクッキー、ログイン、プロキシ、または追加の yt-dlp 引数が必要になる場合があります。
- サイトが失敗する場合は、問題を報告する前に統合アップデートタブから yt-dlp を更新してください。
🧰 メディアとダウンロードのオプション
- 字幕オプション: 言語をフィルタリングし、字幕をビデオファイルに埋め込みます。
- 字幕結合: 字幕をビデオファイルにマージして、焼き付け字幕(ハードコード)にします。
- 説明の保存: ビデオの説明をテキストファイルとして保存します。
- サムネイルの保存: ビデオのサムネイルを画像ファイルとして保存します。
- チャプターの埋め込み: 対応しているビデオプレーヤー用に、チャプターマーカーをメタデータとして含めます。
- スポンサーセクションを削除: SponsorBlock を使用して、ビデオからスポンサーセグメントを削除します。
- ビデオのトリミング:
HH:MM:SS形式で時間範囲を指定して、ビデオの特定のセクションのみをダウンロードします。
⚙️ 出力とファイルの設定
- 速度制限: ダウンロード速度を制限します(例:500 KB/s の場合は
500K)。 - ダウンロードパスの保存: 将来のダウンロードのためにデフォルトのダウンロードパスを保存します。Download Settings → Download Path で設定可能です。
- デフォルトのビデオ解像度: 自動選択のために好みのビデオ解像度を設定します(例:1080p, 720p)。Download Settings → Default Video Resolution で設定可能です。
- デフォルトの字幕言語: 自動選択のためにデフォルトの字幕言語を設定します(カンマ区切り、例:
ja,en)。Download Settings → Default Subtitle Languages で設定可能です。 - ファイル名形式:
%(title)s,%(uploader)s,%(playlist_index)s,%(resolution)sなどの変数を使用して出力ファイル名の形式をカスタマイズします。Download Settings → Filename Format で設定可能です。 - 出力形式の強制: ビデオダウンロードを
mp4,webm,mkvなどの特定のコンテナ形式に強制します。Download Settings → Output Format Settings で設定可能です。 - オーディオ形式の変換: オーディオのみのダウンロードを
AAC,MP3,FLAC,WAV,Opus,M4A,Vorbis, またはBestなどの好みの形式に変換します。Download Settings → Audio Format Settings で設定可能です。 - オーディオノーマライズ: EBU R128 を使用して、オーディオのみのダウンロードの音量を標準化します。
- 同時接続数: ファイルを複数のパーツで同時にダウンロードすることで、ダウンロード速度を大幅に向上させます。Download Settings → General → Concurrent Connections で設定可能です(デフォルトは 1。IP ブロックを避けるため最大 8-10 を推奨)。
🌐 アクセスとネットワーク
- クッキーログイン: クッキーを使用して YouTube にログインし、非公開コンテンツにアクセスします。
使用方法:
- 推奨: アプリ内蔵の
Extract cookies from browserオプションを使用し、ブラウザと(必要に応じて)プロフィールを選択します。 - あるいは、クッキーを手動で抽出します:
a. cookie-editor などの拡張機能を使用して、ブラウザからクッキーをエクスポートします。
b. Netscape 形式でクッキーをコピーします。
c.
cookies.txtという名前のファイルを作成し、クッキーを貼り付けます。 d. アプリでcookies.txtファイルを選択します。
- 推奨: アプリ内蔵の
- プロキシサポート: ダウンロードにプロキシサーバーを使用します(例:
http://<proxy-server>:<port>)。 - ジェネリックモード: YTSage が yt-dlp でサポートされている YouTube 以外のサイトから分析およびダウンロードできるようにします。Download Settings → Generic Mode から有効にします。
🛠️ ツールとメンテナンス
- カスタムコマンド: コマンドライン引数を介して高度な yt-dlp 機能にアクセスします。
- アップデートタブ: カスタムオプション内の一箇所で内蔵のアップデートツールを管理します:
- yt-dlp アップデート: アップデートを確認し、Stable と Nightly リリースチャネルを切り替えます。
- FFmpeg バージョンチェッカー: FFmpeg のバージョンを確認し、インストールガイドを開きます。
- Deno アップデート: Deno ランタイムを確認し、アップデートします。
- FFmpeg/yt-dlp/Deno 検出: About ダイアログから FFmpeg、yt-dlp、Deno のパスとバージョンを自動的に検出します。
- ダウンロード履歴: History ボタンから、サムネイルとステータス付きで過去のダウンロードを表示します。
🌍 ローカライズ
YTSage はグローバルに対応するため、14 言語をサポートしています。Custom Options → Language で好みの言語を選択してください。
サポートされている言語
| 言語 | コード | 言語 | コード |
|---|---|---|---|
| 🇺🇸 英語 | en |
🇪🇸 スペイン語 | es |
| 🇸🇦 アラビア語 | ar |
🇫🇷 フランス語 | fr |
| 🇩🇪 ドイツ語 | de |
🇮🇳 ヒンディー語 | hi |
| 🇮🇩 インドネシア語 | id |
🇮🇹 イタリア語 | it |
| 🇯🇵 日本語 | ja |
🇵🇱 ポーランド語 | pl |
| 🇧🇷 ポルトガル語 | pt |
🇷🇺 ロシア語 | ru |
| 🇹🇷 トルコ語 | tr |
🇨🇳 中国語 | zh |
README 翻訳
| 言語 | ファイル | 言語 | ファイル |
|---|---|---|---|
| 🇺🇸 英語 | README.md | 🇪🇸 スペイン語 | README.es.md |
| 🇸🇦 アラビア語 | README.ar.md | 🇫🇷 フランス語 | README.fr.md |
| 🇩🇪 ドイツ語 | README.de.md | 🇮🇳 ヒンディー語 | README.hi.md |
| 🇮🇩 インドネシア語 | README.id.md | 🇮🇹 イタリア語 | README.it.md |
| 🇯🇵 日本語 | README.ja.md | 🇵🇱 ポーランド語 | README.pl.md |
| 🇧🇷 ポルトガル語 | README.pt.md | 🇷🇺 ロシア語 | README.ru.md |
| 🇹🇷 トルコ語 | README.tr.md | 🇨🇳 中国語 | README.zh.md |
💡 翻訳を手伝いたいですか? 貢献 セクションを参照して、さらに多くの言語を追加するのを手伝ってください!
🛠️ トラブルシューティング
クリックして一般的な問題と解決策を表示
- フォーマットテーブルが表示されない: yt-dlp を最新バージョンに更新し、yt-dlp Nightly への切り替えを試してください。
- ダウンロードが失敗する: インターネット接続を確認し、ビデオが利用可能であることを確認してください。
- 特定のダウンロードエラー:
- 非公開ビデオ: 非公開コンテンツにアクセスするには、クッキー認証を使用してください。
- 年齢制限のあるコンテンツ: YouTube アカウントにログインして、年齢制限のあるビデオを表示してください。
- ジオブロックされたビデオ: 地域制限を回避するために VPN の使用を検討してください。
- 削除されたビデオ: ビデオは YouTube で利用できなくなっています。
- ライブストリーム: ライブストリームは放送中にダウンロードできません。ストリームが終了するまで待ってください。
- ネットワークエラー: インターネット接続を確認して再試行してください。
- 無効な URL: URL が正しく、サポートされているプラットフォームのものであることを確認してください。
- プレミアムコンテンツ: YouTube Premium のサブスクリプションが必要です。
- 著作権ブロック: 著作権制限のため、コンテンツがブロックされています。
- ダウンロード後にビデオとオーディオファイルが分かれている: これは FFmpeg が不足しているか、検出されない場合に発生します。YTSage は、高品質のビデオとオーディオストリームを結合するために FFmpeg を必要とします。
- 解決策: FFmpeg がインストールされており、システムの PATH でアクセス可能であることを確認してください。Windows ユーザーにとって最も簡単なオプションは、FFmpeg が同梱されている
YTSage-v<version>-ffmpeg.exeファイルをダウンロードすることです。
- 解決策: FFmpeg がインストールされており、システムの PATH でアクセス可能であることを確認してください。Windows ユーザーにとって最も簡単なオプションは、FFmpeg が同梱されている
🛡️ Windows Defender / アンチウイルス警告
一部のアンチウイルスソフトウェアは、.exe ファイルを誤検知(False Positive)としてフラグを立てる場合があります。これは、パッケージ化されたアプリケーションの既知の制限です。
なぜ発生するのか:
- アンチウイルスのヒューリスティック機能が、パッケージ化された実行ファイルを疑わしいものとして誤認することがあります。
安全な選択肢:
- ✅ pip インストールを使用する:
pip install ytsage(推奨) - ✅ ソースからビルドする: このガイドに従ってください。
- ✅ アプリケーションをホワイトリストに追加する (アンチウイルスソフトウェアの設定)。
🍎 macOS: 「アプリが破損しているため開けません」
macOS Sonoma 以降でこのエラーが表示される場合は、 quarantine(隔離)属性を削除する必要があります。
- ターミナルを開きます (Spotlight で検索できます)。
- 次のコマンドを入力します が、まだ Enter は押さないでください。最後にスペースを含めるようにしてください:
xattr -d com.apple.quarantine - Finder ウィンドウから
YTSage.appファイルをドラッグし、ターミナルウィンドウに直接ドロップします。これにより、正しいファイルパスが自動的に貼り付けられます。 - Enter を押して コマンドを実行します。
- YTSage.app を再度開いてみてください。 正しく起動するはずです。
設定ファイルの場所 (上級者向け)
- Windows:
%LOCALAPPDATA%\YTSage - macOS:
~/Library/Application Support/YTSage - Linux:
~/.local/share/YTSage
💖 スポンサー
YTSage があなたの時間を節約できたなら、プロジェクトのスポンサーになることを検討してください。スポンサーシップは、開発時間、全プラットフォームでのテスト、および将来の改善に役立てられます。
- GitHub Sponsors: https://github.com/sponsors/oop7
- スポンサーリンクは、アプリ内の About ダイアログから直接利用可能です。
👥 貢献
貢献を歓迎します!以下のように手助けができます:
- 🍴 リポジトリをフォークする
- 🌿 フィーチャーブランチを作成する:
git checkout -b feature/AmazingFeature
- 💾 変更をコミットする:
git commit -m 'Add some AmazingFeature'
- 📤 ブランチにプッシュする:
git push origin feature/AmazingFeature
- 🔄 プルリクエストを作成する
🌍 翻訳に貢献する
- 関連するローカライズ版 README ファイルを更新する (例:
readme-translations/README.ja.md) ytsage/languages/<code>.jsonを編集して、アプリの文字列を同期させる- お使いの言語がない場合は、
README.mdをベースにREADME.<code>.mdを作成してください。
📂 プロジェクト構造
YTSage - プロジェクト構造
このドキュメントでは、YTSage の整理されたフォルダ構造について説明します。
📁 プロジェクト構造
YTSage/
├── 📁 .github/ # GitHub 設定
│ ├── 📁 ISSUE_TEMPLATE/ # イシューテンプレート
│ │ └── 🐛-bug-report.md # バグレポートテンプレート
│ ├─── 📁 workflows/ # GitHub Actions ワークフロー
│ │ ├── build-linux.yml # Linux ビルドワークフロー
│ │ ├── build-macos.yml # macOS ビルドワークフロー
│ │ │── build-windows.yml # Windows ビルドワークフロー
| | └── release-all.yml # マスターリリースワークフロー
│ └── 📄 CI_CD_README.md # CI/CD ドキュメント
├── 📁 branding/ # ブランディングアセット (スクリーンショット, SVG)
│ ├── 📁 icons/ # アプリアイコン
│ ├── 📁 screenshots/ # ドキュメント用スクリーンショット
│ └── 📁 svg/ # SVG アセット
├── 📄 LICENSE # ライセンスファイル
├── 📄 pyproject.toml # プロジェクトメタデータと依存関係
├── 📄 README.md # プロジェクトドキュメント
├── 📄 requirements.txt # Python 依存関係 (dev)
└── 📁 ytsage/ # ソースコードパッケージ
├── 📁 assets/ # ランタイムアセット
│ ├── 📁 Icon/ # アプリアイコン
│ └── 📁 sound/ # オーディオファイル
├── 📁 languages/ # ローカライズファイル
│ ├── 📄 ar.json # アラビア語翻訳
│ ├── 📄 de.json # ドイツ語翻訳
│ ├── 📄 en.json # 英語翻訳
│ └── ... # その他の言語
├── 📁 core/ # コアビジネスロジック
│ ├── 📄 __init__.py
│ ├── 📄 ytsage_deno.py # Deno 統合
│ ├── 📄 ytsage_downloader.py # ダウンロード機能
│ ├── 📄 ytsage_ffmpeg.py # FFmpeg 統合
│ ├── 📄 ytsage_utils.py # ユーティリティ関数
│ └── 📄 ytsage_yt_dlp.py # yt-dlp 統合
├── 📁 gui/ # ユーザーインターフェースコンポーネント
│ ├── 📄 __init__.py
│ ├── 📄 ytsage_gui_main.py # アプリメインウィンドウ
│ └── 📁 ytsage_gui_dialogs/ # ダイアログクラス
├── 📁 utils/ # ユーティリティモジュール
│ ├── 📄 __init__.py
│ ├── 📄 ytsage_config_manager.py # 設定管理
│ └── 📄 ytsage_logger.py # ロギングツール
├── 📄 __init__.py # パッケージエントリポイント
└── 📄 main.py # メイン実行スクリプト
⭐️ スター履歴
📜 ライセンス
このプロジェクトは MIT ライセンスの下でライセンスされています。詳細は LICENSE ファイルを参照してください。
🙏 謝辞
謝辞を表示
改善の提案やバグの報告のためにイシューを開いてこのプロジェクトに貢献してくださったすべての方々に感謝いたします。
| 主要コンポーネント | |
|---|---|
| yt-dlp | ダウンロードエンジン |
| FFmpeg | メディア処理 |
| Deno | yt-dlp 統合用ランタイム |
| ライブラリとフレームワーク | |
| PySide6 | GUI フレームワーク |
| Pillow | 画像処理 |
| requests | HTTP リクエスト |
| packaging | バージョン管理とパッケージ化 |
| markdown | Markdown レンダリング |
| loguru | ロギング |
| アセットと貢献者 | |
| New Notification 09 by Universfield | 通知音 |
| viru185 | コード貢献者 |
⚠️ 免責事項
このツールは個人利用のみを目的としています。YouTube の利用規約およびコンテンツ制作者の権利を尊重してください。
Created with ❤️ by oop7



