yt2gdrive — YouTube Channel → Google Drive Media Sync
Sync YouTube channel updates to Google Drive as audio (mp3) or video (mp4). Great for podcast listening, offline collection, or daily channel monitoring.
Dependencies
yt-dlp,rclone,ffmpeg— install:brew install yt-dlp rclone ffmpeg- A configured rclone remote (default name
gdrive; runrclone configto set up Google Drive)
Workflow
- Edit
channels.conf: one channel URL per line (#for comments) - Run
scripts/yt2gdrive.sh(downloads audio mp3 by default) - Optional:
MEDIA_MODE=video ./scripts/yt2gdrive.shto download video mp4 - Optional:
scripts/install_launchd.shto set up macOS daily cron (default 07:30)
Configuration (env var overrides)
MEDIA_MODE—audio(default mp3) orvideo(mp4)CHANNELS_FILE— channel list file (default~/.config/yt2gdrive/channels.conf)ARCHIVE_FILE— download archive for dedup (default~/.config/yt2gdrive/archive.txt)LOCAL_DIR— local staging directory (default~/yt-uploads)REMOTE_NAME— rclone remote name (defaultgdrive)REMOTE_PATH— Google Drive target folder (default油管)RECENT_DAYS— only download videos from last N days (default 3)AUDIO_FORMAT/AUDIO_QUALITY— mp3 / 0 (best)VIDEO_FORMAT— video format selector (default best mp4)MAX_FILESIZE— per-file size limit (default 2G)MAX_DURATION— skip videos longer than N seconds (default 7200 = 2 hours)
Key Behaviors
MEDIA_MODE=audio(default): convert to mp3;MEDIA_MODE=video: download mp4 as-is- Skips videos ≥ 2 hours (
MAX_DURATIONadjustable) --dateafter+--break-on-reject: only recent updates, no historical catch-up--download-archivefor dedup: never re-downloads- Upload
--bwlimit 8.5Mto avoid saturating bandwidth - Auto-cleans local files older than N days (
--keep-localto keep) - Channel names with trailing spaces are automatically sanitized
Troubleshooting
- Logs:
~/.config/yt2gdrive/last.log --dry-runto preview without downloading/uploading
yt2gdrive — YouTube 频道 → Google Drive 媒体同步
把 YouTube 频道的更新自动下载为音频(mp3)或视频(mp4)并上传到 Google Drive(rclone remote),适合播客式追更或离线收藏。
依赖
yt-dlp、rclone、ffmpeg(macOS:brew install yt-dlp rclone ffmpeg)- 已配置好的 rclone remote(默认名
gdrive;rclone config配 Google Drive)
工作流
- 编辑
channels.conf:每行一个频道 URL(#开头为注释) - 运行
scripts/yt2gdrive.sh(默认下载音频 mp3) - 可选:
MEDIA_MODE=video ./scripts/yt2gdrive.sh下载视频 mp4 - 可选:
scripts/install_launchd.sh装 macOS 每日定时任务(默认 07:30)
配置(环境变量可覆盖)
MEDIA_MODE音频/视频:audio(默认 mp3)或video(mp4)CHANNELS_FILE频道列表(默认~/.config/yt2gdrive/channels.conf)ARCHIVE_FILE下载归档,去重(默认~/.config/yt2gdrive/archive.txt)LOCAL_DIR本地暂存(默认~/yt-uploads)REMOTE_NAMErclone remote(默认gdrive)REMOTE_PATHDrive 目标目录(默认油管)RECENT_DAYS只下载最近 N 天(默认 3,防止回捞旧视频)AUDIO_FORMAT/AUDIO_QUALITYmp3 / 0(最佳)VIDEO_FORMAT视频格式选择器(默认最佳 mp4)MAX_FILESIZE视频单文件上限(默认 2G)MAX_DURATION跳过超长视频(默认 7200 秒=2 小时)
行为要点
MEDIA_MODE=audio(默认):转 mp3 音频;MEDIA_MODE=video:下载 mp4 原画- 跳过时长 ≥ 2 小时的视频(
MAX_DURATION可调) --dateafter+--break-on-reject:只追最近更新,不回捞历史--download-archive去重,不重复下载- 上传
--bwlimit 8.5M限速,不占满带宽 - 自动清理本地 N 天前的文件(
--keep-local可保留) - 频道名带尾随空格时自动修正目录名
排错
- 日志:
~/.config/yt2gdrive/last.log --dry-run预演不实际下载/上传
