yt-dlp
视频下载神器

好用分享

yt-dlp
视频下载神器

安装完yt-dlp后使用如下命令便可下载视频到本地:

yt-dlp --cookies "H:\yt-dlp video download\Edge all cookies\cookies.txt" -P "【保存地址】" -f "bv*+ba/b" --merge-output-format mp4 "【视频链接】"

下面按“从左到右”把这条命令每一段都拆开解释(你把 【保存地址】【视频链接】 换成真实值即可):

yt-dlp --cookies "H:\yt-dlp video download\Edge all cookies\cookies.txt" -P "【保存地址】" -f "bv*+ba/b" --merge-output-format mp4 "【视频链接】"

1) yt-dlp

调用程序本体:用 yt-dlp 去解析网页并下载媒体。

1) yt-dlp

调用程序本体:用 yt-dlp 去解析网页并下载媒体。



2) --cookies "H:\yt-dlp video download\Edge all cookies\cookies.txt"

让 yt-dlp 读取你导出的 cookies 文件,用它来模拟“你已登录的浏览器身份”。

作用:

  • 访问需要登录才能看的内容(X 上很常见)
  • 解决游客访问时的限制/403/看不到视频等问题

注意:

  • 路径有空格,所以必须用引号包住。
  • cookies 过期就需要重新导出。


3) -P "【保存地址】"

-P保存路径(输出目录)

作用:

  • 把下载好的文件保存到你指定的目录里,而不是当前命令行所在目录。

例如:-P "J:\123"

补充:

  • -P 还可以更细分(比如临时目录、主目录),但你这种用法就是最常见的“全部都存到这个文件夹”。


4) -f "bv*+ba/b"

-f选择下载“哪个格式/哪条流”(format selection)。

这一段比较关键,我拆开讲:

bv*

bv = best video(最佳视频流)
* 表示“允许带扩展条件的最佳视频”(更通用的写法,通常等价于:选可用的最高画质视频流)。

+ba

ba = best audio(最佳音频流)
+ 表示把 视频流 + 音频流 组合下载(分别下载两条流)。

很多网站(包括 X)会把音频和视频分开提供,所以你会看到它先下两个文件再合并。

/b

这是“回退方案”(fallback):

  • 如果找不到可分离的“视频流+音频流”(例如只有一个文件),就退回下载 b
  • b = best(单文件最佳)

一句话总结:
优先:最高视频 + 最好音频(分开下再合并)
不行就退:直接下一个最佳单文件。



5) --merge-output-format mp4

当你下载的是“视频流 + 音频流”两份文件时,yt-dlp 会调用 ffmpeg 把它们合并。

这个参数的意思是:

  • 合并输出时 尽量生成 mp4 容器(你最终看到的文件后缀就是 .mp4)

注意:

  • 需要你电脑上能用 ffmpeg(能在命令行执行 ffmpeg -version)。
  • 如果源视频本身用的编码不适合无损封装到 mp4,yt-dlp/ffmpeg 有时会选 mkv 等作为更稳的容器;但你加了这个参数会让它优先 mp4。


6) "【视频链接】"

最后这个就是要下载的网页链接,比如:

  • https://x.com/i/status/xxxxxxxxxxxx
  • 或具体推文链接

同样因为有特殊字符,建议也用引号包住(你已经这么做了)。



运行时你会看到的常见过程

  • 解析推文/页面
  • 选择格式(bv 和 ba)
  • 下载视频流、下载音频流
  • 调用 ffmpeg 合并为一个 mp4
  • 把 mp4 放到你 -P 指定的目录


如果你愿意,我也可以把它扩展成“更好用”的固定版,比如:

  • 自定义文件名(避免乱后缀)
  • 自动跳过已下载
  • 下载失败自动重试
  • 限制最高分辨率(如只要 1080p)等