yt-dlp 全功能实战教程(含 TikTok 下载、脚本自动化)
1. 🧰 工具简介
yt-dlp
是 youtube-dl
的增强版本,支持更多网站、功能更强大、速度更快。支持 TikTok、YouTube、Bilibili、Twitter、Instagram、Twitch 等超多站点。
2. ⚙️ 安装方法
🪟 Windows
- 下载地址:https://github.com/yt-dlp/yt-dlp/releases/latest
- 重命名为
yt-dlp.exe
,放入环境变量或下载目录
🐧 Linux/macOS
sudo curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp
sudo chmod a+rx /usr/local/bin/yt-dlp
3. 🏁 基础用法
yt-dlp [OPTIONS] <URL>
例如:
yt-dlp https://www.tiktok.com/@xxx/video/1234567890123
4. 🧩 参数全分类详解
📥 下载控制
参数 |
功能 |
-f FORMAT |
指定视频/音频格式,如 bestvideo+bestaudio 、mp4 |
--no-playlist |
禁止下载播放列表 |
--playlist-items 1,3,5 |
下载指定序号 |
--max-downloads N |
最多下载 N 个视频 |
--download-archive FILE |
记录已下载内容,避免重复下载 |
--match-filter |
过滤下载,如 duration < 300 |
💾 保存与命名
参数 |
说明 |
-o "%(title)s.%(ext)s" |
自定义保存文件名 |
--output-na-placeholder "NA" |
没有信息时的默认值 |
--paths PATH/ |
统一指定保存路径 |
支持的字段有:
%(title)s
视频标题
%(uploader)s
上传者
%(id)s
视频ID
%(upload_date)s
上传日期等
📺 视频/音频格式
参数 |
功能 |
--recode-video mp4 |
转换输出为 mp4 |
-x 或 --extract-audio |
提取音频 |
--audio-format mp3 |
转为 mp3 |
--audio-quality 0 |
设置音质 0=最佳 9=最低 |
--merge-output-format mp4 |
视频合并输出为 mp4 |
🌐 网络连接
参数 |
说明 |
--proxy http://127.0.0.1:7890 |
设置代理 |
--user-agent UA |
模拟浏览器 |
--cookies cookies.txt |
加载登录 Cookie 下载私密视频 |
--source-address IP |
多网卡选择出口IP |
--limit-rate 2M |
限速 |
--fragment-retries 3 |
分段重试次数 |
💬 字幕与封面
参数 |
说明 |
--write-subs |
下载字幕 |
--write-auto-sub |
下载自动字幕 |
--sub-lang en,zh |
多语言字幕 |
--embed-subs |
将字幕嵌入视频 |
--write-thumbnail |
下载封面 |
--embed-thumbnail |
将封面嵌入视频文件 |
🧾 元数据与信息
参数 |
说明 |
--write-info-json |
写出 json 格式的所有元信息 |
--print "%(title)s" |
打印元数据信息 |
--get-duration |
获取视频时长 |
--get-description |
获取视频简介 |
--get-filename |
获取保存路径而不下载 |
5. 📚 实践案例
📽 TikTok 下载最佳视频 + 音频合并输出
yt-dlp -f bestvideo+bestaudio --merge-output-format mp4 https://www.tiktok.com/@scout2015/video/7041234567890123456
📂 批量下载 TikTok 视频 + 避免重复 + 封面元数据
yt-dlp -a tiktok_links.txt --download-archive downloaded.txt ^
-o "Videos/%(uploader)s_%(id)s.%(ext)s" ^
--write-thumbnail --embed-thumbnail --write-info-json ^
--merge-output-format mp4
🎧 提取 TikTok 音频为 MP3
yt-dlp -x --audio-format mp3 https://www.tiktok.com/@user/video/1234567890123
6. 📜 批处理 & Shell 脚本模板
🪟 Windows .bat
@echo off
set YTDLP=yt-dlp.exe
set LINK_FILE=tiktok_links.txt
set ARCHIVE=archive.txt
set OUTPUT=Videos
%YTDLP% -a %LINK_FILE% --download-archive %ARCHIVE% ^
-o "%OUTPUT%\%%(uploader)s_%%(id)s.%%(ext)s" ^
--write-info-json --write-thumbnail --embed-thumbnail ^
--merge-output-format mp4
pause
🐧 Linux/macOS .sh
#!/bin/bash
LINK_FILE="tiktok_links.txt"
ARCHIVE="archive.txt"
OUTPUT="Videos"
mkdir -p "$OUTPUT"
yt-dlp -a "$LINK_FILE" --download-archive "$ARCHIVE" \
-o "$OUTPUT/%(uploader)s_%(id)s.%(ext)s" \
--write-info-json --write-thumbnail --embed-thumbnail \
--merge-output-format mp4
7. 🕒 定时下载任务(Windows 示例)
- 写一个
.bat
脚本:auto_download.bat
- 打开计划任务 -> 创建基本任务 -> 设置定时执行
.bat
8. 🔑 私密视频下载(TikTok 登录)
方法:
- 登录 TikTok 网页
- 使用浏览器插件导出 Cookie(如 EditThisCookie)
- 保存为
cookies.txt
- 命令中加参数:
yt-dlp --cookies cookies.txt https://www.tiktok.com/...
9. 🧠 高级技巧:GUI / API 集成
10. 🧯 常见问题汇总
问题 |
解决方案 |
HTTP 403 Forbidden |
添加代理或 cookies |
视频 ID 错误或跳转 |
确保 URL 为标准 TikTok 网页格式 |
格式不兼容 |
使用 --merge-output-format mp4 |
速度慢 |
使用代理 --proxy ,或添加并发参数 |