vget が YouTube 動画ダウンロードに対応
vget
youtube
docker
動画ダウンロード
yt-dlp
vget v0.8 で待望の YouTube 動画ダウンロード機能が登場 - Docker でデプロイするだけで簡単にダウンロード可能
YouTube サポートがついに登場
v0.8 から、vget は正式に YouTube 動画のダウンロードに対応しました。コミュニティから最も要望の多かった機能の一つを、ついに実現しました。
なぜ Docker なのか
YouTube のボット対策は非常に複雑で、安定したダウンローダーをゼロから構築するのはほぼ不可能です。より現実的なアプローチとして、Docker 経由で yt-dlp を統合する方式を採用しました。
メリット:
- 安定性と信頼性 - yt-dlp は最もアクティブにメンテナンスされている YouTube ダウンロードツールで、YouTube の変更に継続的に対応
- フル機能 - 最高画質を自動選択し、動画と音声を自動でマージ
- 簡単デプロイ - コマンド一発で起動、複雑な設定は不要
クイックスタート
1. イメージをプル
docker pull ghcr.io/guiyumin/vget:latest
2. サービスを起動
docker run -d -p 8080:8080 \
-v ~/Downloads:/home/vget/downloads \
-v ~/.config/vget:/home/vget/.config/vget \
--name vget \
ghcr.io/guiyumin/vget:latest
3. 動画をダウンロード
ブラウザで http://localhost:8080 にアクセスし、YouTube のリンクを貼り付けてダウンロード開始。
コマンドラインでも可能:
docker exec vget vget https://www.youtube.com/watch?v=dQw4w9WgXcQ
技術詳細
vget の YouTube サポートは以下の技術スタックで構築されています:
- yt-dlp - メインのダウンロードツール、最新の YouTube プロトコルに対応
- youtube-dl - フォールバック用、yt-dlp が失敗した場合に自動切り替え
- ffmpeg - 分離された動画と音声ストリームをマージ
- Node.js - YouTube の N パラメータ JS チャレンジを解決
ダウンロード時、vget は自動的に:
- 最高の動画品質 + 最高の音声品質を選択
- MP4 形式にマージ
- 動画タイトルをファイル名として使用
対応 URL フォーマット
vget は様々な YouTube URL フォーマットに対応:
https://www.youtube.com/watch?v=VIDEO_IDhttps://youtu.be/VIDEO_IDhttps://m.youtube.com/watch?v=VIDEO_IDhttps://music.youtube.com/watch?v=VIDEO_ID
マルチアーキテクチャ対応
Docker イメージは linux/amd64 と linux/arm64 の両アーキテクチャに対応。x86 サーバーでも ARM デバイス(Raspberry Pi や Apple Silicon Mac など)でも、そのまま動作します。
今後の予定
- YouTube プレイリストのダウンロード対応
- 動画品質の選択機能
- 字幕ダウンロード対応
GitHub で Issue や PR をお待ちしています!