各大网站视频下载:yt-dlp 的使用

我要跑半马。



各大网站视频下载


0、快速使用

**确保python环境 ffmpeg 环境 **

使用pip安装,windows 和 mac 都可以

pip install yt-dlp
yt-dlp --version
yt-dlp <视频URL>

yt-dlp 详细介绍

yt-dlp 是一个功能强大的开源命令行工具,用于下载 YouTube 及其他网站的视频和音频。它是 youtube-dl 的增强版,支持更多的网站、更高效的下载、批量处理、字幕下载等功能,并且维护更为活跃。


1. 安装 yt-dlp

Windows

  1. 下载 yt-dlp.exe
    • 访问 官方 GitHub 页面,下载最新的 yt-dlp.exe
    • yt-dlp.exe 移动到 C:\Windows\System32 目录,方便在命令行中随时调用。
  2. 直接使用 cmd 运行:
    yt-dlp --version
    
  3. 可选:安装 ffmpeg(用于更好的格式转换)
    • 访问 FFmpeg 官网,下载 ffmpeg
    • 解压后,将 ffmpeg.exe 添加到系统环境变量中,以便 yt-dlp 自动调用。

macOS

  1. 使用 Homebrew 安装
    brew install yt-dlp
    
  2. 检查安装是否成功
    yt-dlp --version
    
  3. 或者下载独立可执行文件
    • 访问 GitHub Releases,下载 yt-dlp_macos.zip
    • 解压后赋予执行权限:
      chmod +x yt-dlp_macos
      
    • 运行:
      ./yt-dlp_macos --version
      

Linux

  1. 使用 pip 安装
    pip install -U yt-dlp
    
  2. 或者使用 wget/curl
    sudo wget -O /usr/local/bin/yt-dlp https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp
    sudo chmod a+rx /usr/local/bin/yt-dlp
    

2. 基本用法

下载 YouTube 视频

yt-dlp "https://www.youtube.com/watch?v=VIDEO_ID"
  • 默认下载最高质量的视频和音频合并版本。

下载特定格式

yt-dlp -f "bestvideo+bestaudio" "https://www.youtube.com/watch?v=VIDEO_ID"
  • -f "bestvideo+bestaudio":下载最高质量的视频和音频并自动合并。

只下载音频

yt-dlp -f "bestaudio" --extract-audio --audio-format mp3 "https://www.youtube.com/watch?v=VIDEO_ID"
  • --extract-audio:提取音频
  • --audio-format mp3:转换成 MP3 格式

下载 YouTube 播放列表

yt-dlp -f "best" --yes-playlist "https://www.youtube.com/playlist?list=PLAYLIST_ID"
  • --yes-playlist:确认下载整个播放列表

3. 高级功能

指定文件名

yt-dlp -o "%(title)s.%(ext)s" "https://www.youtube.com/watch?v=VIDEO_ID"
  • %(title)s:使用视频标题作为文件名

下载带字幕的视频

yt-dlp --write-subs --sub-lang en "https://www.youtube.com/watch?v=VIDEO_ID"
  • --write-subs:下载字幕
  • --sub-lang en:下载英文字幕(可换成 zh-Hans 下载中文字幕)

限制文件大小

yt-dlp -f "best[filesize<100M]" "https://www.youtube.com/watch?v=VIDEO_ID"
  • 只下载小于 100MB 的最佳格式

跳过已下载的文件

yt-dlp -ic "https://www.youtube.com/watch?v=VIDEO_ID"
  • -i:忽略错误
  • -c:断点续传(如果之前下载失败)

4. 结合 FFmpeg 进行视频合并

如果视频和音频是分开下载的(YouTube 上很多 1080p 以上的视频是这样),你可以使用 FFmpeg 自动合并:

yt-dlp -f "bestvideo+bestaudio" --merge-output-format mp4 "https://www.youtube.com/watch?v=VIDEO_ID"
  • --merge-output-format mp4:强制合并成 MP4 格式

5. 适用于其他网站

yt-dlp 支持超过 1000 个网站,如:

  • Bilibili
  • Twitter/X
  • Instagram
  • Facebook
  • TikTok
  • Reddit
  • SoundCloud

示例:

yt-dlp "https://www.bilibili.com/video/BV1xxxxxx"

6. 下载限制与速率控制

限制下载速度

yt-dlp --limit-rate 500K "https://www.youtube.com/watch?v=VIDEO_ID"
  • --limit-rate 500K:限制下载速度为 500KB/s

使用代理

yt-dlp --proxy "socks5://127.0.0.1:1080" "https://www.youtube.com/watch?v=VIDEO_ID"
  • --proxy:使用 SOCKS5 代理下载

7. 配置文件

为了减少每次输入命令的麻烦,可以在 ~/.config/yt-dlp/config(Linux/macOS)或 C:\Users\<用户名>\yt-dlp.conf(Windows)中写入常用参数,例如:

-f best
-o ~/Downloads/%(title)s.%(ext)s
--merge-output-format mp4
--write-subs
--sub-lang en

这样,每次只需运行:

yt-dlp "https://www.youtube.com/watch?v=VIDEO_ID"

就能自动使用这些参数。


8. 参考链接


这样,你就可以高效使用 yt-dlp 进行视频下载了!🎉