yt-dlp A video downloader using . Supports YouTube / Loom / Vimeo / and all other platforms supported by yt-dlp.
Prerequisites
brew install yt-dlp ffmpeg
Basic download (recommended settings)
Save at max 1080p as mp4. Calls from manabi-ingest also use this.
yt-dlp \
-o "downloads/%(title)s.%(ext)s" \
-f "bv*[height<=1080][ext=mp4]+ba[ext=m4a]/b[height<=1080][ext=mp4]/b" \
--merge-output-format mp4 \
"<URL>"
Quality specification
# 720p
yt-dlp -f "bv*[height<=720]+ba/b[height<=720]" "<URL>"
# 4K
yt-dlp -f "bv*[height<=2160]+ba/b[height<=2160]" "<URL>"
# 利用可能なフォーマット一覧
yt-dlp -F "<URL>"
Audio only
yt-dlp -x --audio-format mp3 -o "downloads/%(title)s.%(ext)s" "<URL>"
Bulk playlist
yt-dlp \
-o "downloads/%(playlist_title)s/%(playlist_index)s-%(title)s.%(ext)s" \
"<PLAYLIST_URL>"
Batch download (multiple URLs)
yt-dlp -a urls.txt
(urls.txt one URL per line)
Save metadata and thumbnails
yt-dlp \
--write-info-json \
--write-thumbnail \
--write-description \
-o "downloads/%(title)s.%(ext)s" \
"<URL>"
Download subtitles
# 自動生成字幕も含めて取得
yt-dlp --write-subs --write-auto-subs --sub-langs "ja,en" --skip-download "<URL>"
When you're stuck
| Symptom | Remedy |
|---|---|
ERROR: Unsupported URL |
pip install -U yt-dlp update to latest |
| Videos requiring authentication | --cookies-from-browser chrome use browser cookies |
| Download is slow | -N 4 parallel segment DL |
| Merge error | ffmpeg not installed → brew install ffmpeg |
License and usage notes
- Only target videos you own the rights to, or videos whose download is permitted under the terms of service and copyright law
- Check the platform's terms of service
- Use within the scope of personal viewing, education, and fair use