Win10 Python yt-dlp下载youtube视频 | 安装使用详细教程

这篇具有很好参考价值的文章主要介绍了Win10 Python yt-dlp下载youtube视频 | 安装使用详细教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。



前言

yt-dlp是一个命令行程序,可在youtube、twitch、bilbili、西瓜视频等一千多个网站下载视频资源1。国内平台的解析工具已经存在很多,像you-get之类,我们主要用它来下载海外视频。
作为youtube-dl的增补版,yt-dlp有着比起前辈更快的速度,以及众多新特性。本文仅记录win10系统python环境下的跑通方法。在尝试前,先确保本地存在3.7+的python版本,推荐安装ffmpeg、ffprobe等依赖,以方便视频合并、转码等后续处理。
官方项目地址:https://github.com/yt-dlp/yt-dlp

本文仅作学习记录,如有错误欢迎提出,持续更新。


0.科学上网

下载youtube视频的前提是自由访问,默认读到本文的应该都已实现科学访问了~
没有的同学请先行寻找合适的加速器

1.安装yt-dlp

打开命令行输入:

pip install yt-dlp

速度慢可以更换pip镜像源,或在pypi下载离线安装

2.安装FFmpeg

这里的FFmpeg指二进制文件,而非同名的python包,其中包含了ffmpeg、ffprobe、ffplay三大工具。

2.1 官网下载

访问网址:https://www.gyan.dev/ffmpeg/builds
全文搜索CTRL+F找到ffmpeg-release-full.7z这个安装包,点击下载
解压到本地目录中,打开bin文件夹,地址栏复制本地路径

2.2 环境变量配置

计算机右键【属性】-> 【高级系统设置】->【高级】-> 【环境变量】-> 【用户变量】
双击Path,新建一条,在变量值里粘贴复制的路径
yt-dlp下载,工具,python,音视频,ffmpeg

2.3 安装成果检查

WIN+R 输入cmd,命令行中测试一下,输入ffmpeg回车,出现下图类似结果安装成功
yt-dlp下载,工具,python,音视频,ffmpeg

3. 上手下载

3.1 基础格式

在想要保存的目录下打开命令行(地址栏输入cmd回车),按照如下格式书写命令:

yt-dlp [OPTIONS] [--] URL [URL...]

yt-dlp必须在前,OPTIONS和URL填写不分先后

基础用法示例:

# --proxy 使用指定的HTTP/HTTPS/SOCKS代理。 e.g. socks5://user:pass@127.0.0.1:1080/
# 127.0.0.1表示本机ip,1080表示当前使用的端口,请根据本机情况查询并更改,见3.2
# URL填写想下载的视频地址

# 下载单个视频
yt-dlp --proxy socks5://127.0.0.1:1080 https://www.youtube.com/watch?v=NtKJSHW68p4

# 下载播放列表的所有视频 
yt-dlp --proxy socks5://127.0.0.1:1080 https://www.youtube.com/playlist?list=PLqWr7dyJNgLJ79otw7N9CXQ_AU0Fm04aq

3.2 脚本地址查询

点右下角网络图标进入【网络和Internet设置】,选择【代理】
找到【使用设置脚本】,开启
检查命令中的ip和端口和【脚本地址】是否一致

3.3 常用参数和用例展示

根据使用需求,追加命令参数,体验yt-dlp的丰富玩法,具体见项目自述,也可在命令行输入yt-dlp --help查看说明

3.3.1 陈列资源 -F, --list-formats
  • 含义:列出所有文件的格式信息
  • 用法:
yt-dlp [--proxy ...] URL -F
yt-dlp [--proxy ...] URL --list-formats	

yt-dlp下载,工具,python,音视频,ffmpeg
对图中的标题做一下阅读理解:

ID EXT RESOLUTION FPS CH FILESIZE TBR PROTO
编码 扩展名 分辨率(宽x高) 每秒画面帧数 音频通道数 文件字节数 音频和视频的平均比特率(KBit) 下载协议 (http, https, rtsp, rtmp, rtmpe, mms, f4m, ism, http_dash_segments, m3u8, or m3u8_native)
VCODEC VBR ACODEC ABR ASR MORE INFO
视频编码方案 平均视频码率(KBit) 音频编码方案 平均音频码率(KBit) 音频采样率(hz) 补充说明
3.3.2 格式选择 -f , --format
  • 含义:格式选择器,根据要求下载指定格式的音视频资源

  • 说明:未传参时,默认下载最佳质量的格式。按特定要求下载时,写明视频和音频的格式要求。支持单独下载纯视频/音频,合并下载用"+“连接,各自分开下载用”,“,从左到右选择第一个可用资源下载用”/"

  • 示例:

# 根据id,下载编号597的资源作为视频画面,599作为视频声音,把图像和音轨合并为MP4格式导出
yt-dlp -f 597+599 [--proxy ...] URL --merge-output-format mp4

# 下载编码为22的文件
yt-dlp -f webm [--proxy ...] URL

# 下载最佳质量的单个webm文件(目前支持3gp, aac, flv, m4a, mp3, mp4, ogg, wav, webm格式)
yt-dlp -f webm [--proxy ...] URL

# 分开下载视频和音频,格式化命名,按title.ID.EXT模板输出
yt-dlp -f "bv,ba/b" -o "%(title)s.f%(format_id)s.%(ext)s" [--proxy ...] URL

# 条件过滤,通过表格中的各项条件筛选目标规格的资源
-f w 	# 下载质量最差的资源文件(同时包含音视频),wv纯视频,wa纯音频,适合测试命令时使用
-f "best[height=720]" 	# 筛选最佳质量的720p视频
-f "[filesize>10M]" 	# 筛选>10M的文件
-f "all[vcodec=none]" 	# 筛选所有纯音频
-f "(mp4,webm)[height<480]"		# 筛选低于480p的最佳mp4视频和webm音轨,合并
-f 'bv[height=1080][ext=mp4]+ba[ext=m4a]' --merge-output-format mp4  # 筛选1080p的mp4视频,与最佳的m4a音频下载合并
3.3.3 字幕下载 --write-subs,–write-auto-subs
  • 含义:下载字幕(投稿外挂的或自动翻译生成的)
  • 用例:
yt-dlp [--proxy ...] URL --list-subs	# 列出所有支持的字幕信息(语言标识名、语言名、文件格式)

下图列出的字幕使用--write-subs下载
yt-dlp下载,工具,python,音视频,ffmpeg
下图的字幕使用--write-auto-subs下载yt-dlp下载,工具,python,音视频,ffmpeg

# 下载视频时一同下载srt格式的中文字幕,--sub-lang后的值从图中的Langeuage列取得
yt-dlp --write-auto-subs --sub-format srt --sub-lang zh-Hans [--proxy ...] URL

# 单独下载最佳格式的英文字幕
yt-dlp --write-auto-subs --sub-format best --sub-lang en --skip-download [--proxy ...] URL

# 在视频中嵌入自动生成的阿拉伯语字幕,字幕嵌入操作仅适用于mp4,Webm和MKV视频
yt-dlp --write-auto-subs --sub-lang ar --embed-subs --merge-output-format mp4 [--proxy ...] URL
3.3.4 批量下载 -a FILE

下载文本中所有视频

yt-dlp -a urls.txt [--proxy ...] URL
3.3.5 片段提取 --download-sections

下载时间戳范围的片段

yt-dlp --download-sections "*1:30-inf" [--proxy ...] URL      # 前缀*,范围边界0:00 - inf

下载指定章节的片段

yt-dlp --download-sections "intro" [--proxy ...] URL

下载所有章节切片并按id.title.ext命名,同时下载一份完整的视频。
输出模板参数有section_number,section_title,section_start和section_end

yt-dlp --split-chapters -o "chapter:%(section_number)03d. %(section_title)s.%(ext)s" [--proxy ...] URL
3.3.6 格式化命名和存储 -o TEMPLATE

格式化命名文件并指定路径保存

-o "~/YouTube/%(title)s.%(ext)s"
-o "%(uploader)s/%(upload_date)s - %(title)s (%(id)s).%(ext)s"
-o "%(duration>%H-%M-%S)s" # 视频时长

输出模板的语法见output-template

3.3.7 更多
  • –merge-output-format FORMAT:视频合并操作
  • -j, --dump-json:打印JSON信息
  • –embed-thumbnail:将视频缩略图嵌入视频封面,需要合并操作
    yt-dlp --embed-thumbnail --merge-output-format mp4 [--proxy ...] URL
    
  • –embed-metadata:嵌入元数据,如视频简介描述,需要合并操作
  • –audio-format FORMAT:纯音频下载,支持格式转换
    yt-dlp -x --audio-format mp3 [--proxy ...] URL -o '%(title)s_%(id)s.mp3'
    
  • –skip-download:跳过视频下载,仅下载相关文件
  • –cookies-from-browser BROWSER:对于要求登录或会员才可下载的网址,调取浏览器cookies
    目前支持的浏览器有brave, chrome, chromium, edge, firefox, opera, safari, vivaldi
    yt-dlp下载,工具,python,音视频,ffmpeg

3.4 其他平台使用

3.4.1 b站

下载高清视频需要调取浏览器cookie登录

# 下载单P视频
yt-dlp https://www.bilibili.com/video/BV1dM411t7Ls --cookies-from-browser chrome
# 分P视频仅下载P1
yt-dlp https://www.bilibili.com/video/BV1vs4y1b7rU?p=1 --cookies-from-browser chrome

4. 进阶技巧

4.1 Aria2下载加速

作为外部下载器加速下载,多线程并发,提升带宽利用率。 详情见Aria2 Manual
下面仅介绍arias作为命令行工具的下载配置以及基础用法

4.1.1 官网下载

访问官网releases页面,根据选择的版本和本机环境在Assets下找到安装包,点击下载
我这里选择windows x64的安装包
yt-dlp下载,工具,python,音视频,ffmpeg
下载成功后解压,为了方便我直接放D盘并改名aria2

4.1.2 环境变量配置

打开文件夹,复制aria2c.exe的路径(我这里是D:\aria2),在环境变量path中配置(方法同2.2)

快捷操作:
win+R调出【运行】对话框 -> 输入sysdm.cpl,回车打开【系统属性】 -> 【高级】-> 【环境变量】 -> 【用户变量】
双击path新建,粘贴路径

4.1.3 命令行调用格式
aria2c [OPTIONS] [URI | MAGNET | TORRENT_FILE | METALINK_FILE]...

命令行输入aria2c -h查看具体参数说明
最简单的用法是aria2c URL,例如:

aria2c https://www.bilibili.com/
4.1.4 在yt-dlp中调用Aria2
# --downloader:指定下载器,aria2c以外还支持avconv,axel,curl,ffmpeg,httpie,wget
# --downloader-args:下载参数 -c:断点续传;-j:并发数;-x:线程数(最多16);-k:分段(每段1M)

yt-dlp --downloader aria2c --downloader-args aria2c:"-c -j 3 -x 8 -k 1M" [--proxy ...] URL

4.2 Python程序调用

基础用例:

from yt_dlp import YoutubeDL

URLS = ['https://www.youtube.com/watch?v=BaW_jenozKc']
with YoutubeDL() as ydl:
    ydl.download(URLS)

更多用例参考见embedding-examples
了解可用参数和公共函数列表,见yt_dlp.YoutubeDL.py

5.报错解决

5.1 无法连接

WARNING: [youtube] Unable to download webpage: <urlopen error [WinError 10061] 由于目标计算机积极拒绝,无法连接。>

解决:

  1. 检查vpn或代理是否正常连接
  2. 检查命令的地址和脚本地址是否一致

5.2 Unable to extract uploader id

Unable to extract uploader id; please report this issue on https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using yt-dlp -U

解决:
yt-dlp -U检查是否有可用新版本,尝试更新yt-dlp

pip310 install --upgrade yt-dlp

6. 拓展阅读

ArchWiki:https://wiki.archlinux.org/title/Yt-dlp


  1. 支持的视频列表见supportedsites ↩︎文章来源地址https://www.toymoban.com/news/detail-781588.html

到了这里,关于Win10 Python yt-dlp下载youtube视频 | 安装使用详细教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • YouTube 视频下载教程

    查看以下内容前确保您可以正常访问 YouTube。 此文仅基础使用教程,如需更详细文档请访问 https://github.com/yt-dlp/yt-dlp。 开源软件 yt-dlp 基于大名鼎鼎的 youtube-dl 而来;后者在21年便已经停更,且经过笔者亲测已经无法正常使用。以下是 yt-dlp 在 windows 平台下的使用教程;其他平

    2024年02月03日
    浏览(105)
  • 下载YouTube视频的一种方法

    yt-dlp 安装Python环境 pip install yt-dlp 默认格式,高于720P的格式一般是 webm 格式 yt-dlp https://youtu.be/sKrT6mBrosc 下载视频转换成mp4(用–merge-output-format参数) yt-dlp –merge-output-format mp4 https://youtu.be/sKrT6mBrosc 1.只下载音频 找m4a格式,列表越靠后越清晰。比如ID:140 | EXT:m4a | audio onl

    2024年02月13日
    浏览(62)
  • 下载YouTube中英文视频,使其在下载的视频中显示中文字幕

    一. 复制YouTube中视频链接,如下所示。 1.任选油管中某个视频 2.点击视频右下角分享,复制视频链接。 3.打开网站(https://yt5s.com)下载油管视频(下载的视频是无字幕的) 把链接复制到搜索框,然后点击Download Mp4,下载并保存。 5.下载该视频的SRT格式文件,打开网站(downsub.co

    2024年04月23日
    浏览(101)
  • 【抓包工具】win 10 / win 11:WireShark 下载、安装、使用

    目录 一、WireShark 下载 二、WireShark 安装 (1)双击运行安装程序 (2)Choose Components:选择组件 (3)Additional Tasks:附加任务 (4)Choose lnstall Location:选择安装位置 (5) Packet Capture:包捕获 (6)USB Capture:USB 捕获 (7)安装 Npcap (8)安装 USBPcap (9)重启电脑 三、WireSha

    2023年04月15日
    浏览(83)
  • win10 DBeaver (升级)下载、安装、彻底卸载

      DBeaver是一种通用数据库管理工具,适用于需要以专业方式使用数据的每个人;适用于开发人员,数据库管理员,分析师和所有需要使用数据库的人员的免费(DBeaver Community) 的多平台数据库工具。   DBeaver支持80多个数据库。支持所有流行的数据库,包括:MySQL、PostgreSQ

    2024年02月13日
    浏览(74)
  • JDK 8下载-安装-卸载全教程(win7及win10)

    1.在百度输入 jdk 8,找到orale的地址(https://www.oracle.com/java/technologies/downloads/archive/) Java Archive | Oracle 下拉,找到下载其他版本的下载之处,本次要下载jdk 8,点击后进行下载,此处需注意一点,只有注册后才能下载,下载后会提示进行oracle的用户注册,使用微信、qq或者邮箱

    2024年02月04日
    浏览(70)
  • 【Putty】win10 / win 11:SSH 远程连接工具 Putty 下载、安装

    目录 一、Jmerter 连接 SSH 隧道的 mysql(不可行) 二、Putty 介绍 三、Putty 的下载 四、Putty 无需安装直接使用 五、Putty 使用 (1)我需要连接 ssh 隧道的 MySQL 参数如下 (2)Putty 使用教程  网上搜索到的方案如下: win 本机 Jmerter 连接使用 SSH 隧道的 mysql 服务器时,Jmerter 自身元

    2024年02月08日
    浏览(115)
  • 【爬虫数据集】滇西小哥YouTube频道TOP10热门视频的热评数据,共2W条!

    目录 一、背景介绍 二、爬取目标 三、结果展示 四、演示视频 五、附完整数据 滇西小哥是一位来自中国云南省的视频博主,他在YouTube上拥有超过1000万的订阅者和上亿的观看量。他的视频内容主要涵盖中国文化、美食、旅行、音乐和艺术等方面。滇西小哥通过分享自己的文

    2024年02月05日
    浏览(44)
  • jdk11下载、安装及环境配置详解(win10环境)

    1.1、官网下载网址 https://www.oracle.com/java/technologies/downloads/#java11-windows 1.2、官网下载步骤 点击官网下载地址后,选择对应的系统环境,下载即可,如下图: 下载好安装包后,双击.exe程序,弹出如下窗口,点击【下一步】 更改安装目录,点击【下一步】,如下图: 等待安装,

    2024年01月15日
    浏览(79)
  • win10系统安装SQL Server2005中文版安装教程和下载地址

    说明:win10系统上安装sql 2005我试了不下10次,后来发现安装中途报错是缺少了一个替换文件sqlservr64.rar(32位系统上安装叫sqlservr32.rar).大家按照下面的教程一步步来操作都能安装成功,关键地方会加红标注,建议大家安装前先看下教程,关键的步骤在第13/14/25/30步。 SQL Serv

    2024年02月02日
    浏览(139)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包