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
# 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 に切り替わります。