メインコンテンツへスキップ

yt-dlp と aria2 でダウンロード速度を 16倍爆速化

標準の yt-dlp は単一スレッドでダウンロードするため、CDN の速度制限を受けやすくなっています。aria2c を外部エンジンとして連携 させることで、動画ごとに最大 16並列接続 を行いギガビット回線をフル活用できます。

1. ベンチマーク比較:標準ダウンローダー vs aria2

動画配信サーバーは1接続あたりの帯域を制限することが多くあります。aria2 で16分割並列ダウンロードを行うことで制限を完全に回避できます:

画質とファイルサイズ yt-dlp 標準 (1接続) yt-dlp + aria2 (16並列) 速度向上倍率
1080p 60fps (850 MB) 2m 45s (5.1 MB/s) 14s (60.7 MB/s) 11.8x Faster ⚡
4K UHD 60fps HDR (3.4 GB) 9m 12s (6.2 MB/s) 38s (89.5 MB/s) 14.5x Faster ⚡
8K 60fps AV1 (9.8 GB) 28m 40s (5.7 MB/s) 1m 48s (92.4 MB/s) 15.9x Faster ⚡

2. 必須のコマンドライン引数

--downloader--downloader-args を組み合わせて実行します:

yt-dlp --downloader aria2c --downloader-args "aria2c:-x 16 -s 16 -k 1M" "https://www.youtube.com/watch?v=VIDEO_ID"

主要オプションの解説:

  • --downloader aria2c:yt-dlp が直リンクを取得後、実データの取得を aria2c に委譲します。
  • aria2c:-x 16:単一サーバーあたりの最大接続数を 16 に設定します。
  • aria2c:-s 16:動画ファイルを 16 分割して並列ダウンロードします。
  • aria2c:-k 1M:最小分割サイズを 1MB に設定します。
  • aria2c:-j 4:プレイリスト取得時の最大同時ダウンロード数です。

⚡ インタラクティブ yt-dlp + aria2 コマンド生成ツール

以下のオプションを選択して、最適な一行コマンドをリアルタイム生成します:

yt-dlp --downloader aria2c --downloader-args "aria2c:-x 16 -s 16 -k 1M" -f "bestvideo+bestaudio/best" --merge-output-format mkv --embed-subs --embed-chapters "URL"

3. 実用的なアドバンスドコマンド集

プレイリスト一括保存、Cookie認証、プロキシ経由のダウンロード:

A. プレイリストの一括取得と履歴記録

downloaded_archive.txt に履歴を残し、重複取得を防止します:

yt-dlp --downloader aria2c \
  --downloader-args "aria2c:-x 16 -s 16 -k 1M -j 4" \
  --download-archive downloaded_archive.txt \
  -o "%(playlist_title)s/%(playlist_index)s - %(title)s.%(ext)s" \
  "https://www.youtube.com/playlist?list=PLAYLIST_ID"

B. ブラウザの Cookie を引き継いで 403 エラーを回避

会員限定や年齢制限のある動画をブラウザの Cookie でダウンロードします:

yt-dlp --cookies-from-browser chrome \
  --downloader aria2c \
  --downloader-args "aria2c:-x 16 -s 16 -k 1M" \
  "https://www.youtube.com/watch?v=VIDEO_ID"

C. SOCKS5 / HTTP プロキシ経由でダウンロード

地域制限のある動画をプロキシ経由で安全に取得します:

yt-dlp --proxy "socks5://127.0.0.1:1080" \
  --downloader aria2c \
  --downloader-args "aria2c:--all-proxy=http://127.0.0.1:1080 -x 16 -s 16" \
  "https://www.youtube.com/watch?v=VIDEO_ID"

4. 設定ファイル (yt-dlp.conf) で常時デフォルト化

毎回オプションを入力する手間を省くため、グローバル設定ファイルを作成します:

設定ファイルの配置場所:

  • Windows: %APPDATA%\yt-dlp\config
  • Linux / macOS: ~/.config/yt-dlp/config
  • Android (Termux): ~/.config/yt-dlp/config
# Production yt-dlp.conf
# 1. Use aria2 as external multi-connection engine
--downloader aria2c
--downloader-args "aria2c:-x 16 -s 16 -k 1M --retry-wait=3 --max-tries=5"

# 2. Automatically select highest quality streams and remux to MKV
-f "bestvideo+bestaudio/best"
--merge-output-format mkv

# 3. Embed artwork, chapters, and metadata
--embed-chapters
--embed-metadata
--embed-thumbnail

# 4. Standard clean output naming
-o "~/Downloads/Videos/%(title)s [%(id)s].%(ext)s"

5. トラブルシューティング & FAQ

Q1: "ERROR: aria2c exited with code 1 / 3 / 9" や "HTTP 403 Forbidden" が出る原因は?

原因: 署名付き URL の有効期限切れや User-Agent の不一致です。
解決策: 接続数を 8 に下げて実行してください:--downloader-args "aria2c:-x 8 -s 8"

Q2: "External downloader aria2c not found" と表示されるときは?

解決策: aria2c を環境変数 PATH に通すか、Windows の場合は yt-dlp.exe と同じフォルダに aria2c.exe を配置してください。

Q3: ライブ配信 (HLS / m3u8) のダウンロードにも使えますか?

回答: aria2 は容量が決まっている静的ファイル用です。ライブ配信では自動的に標準エンジンや ffmpeg に切り替わります。