youtube-dl 使用教程
HDUZN

youtube-dl 是一款采用Python 编写的免费、开源、命令行程序,主要是用来下载视频的。
主要下载Youtube上的视频,还有国内外其它一些视频网站的,m3u8的好像会有点问题,下载不了。

一、安装环境

因为命令行需要用到 youtube-dl,所以把ffmpeg、youtube-dl.exe 都添加到系统环境变量。

youtube-dl 项目github地址:https://github.com/rg3/youtube-dl/

二、下载YouTube视频

1、查看视频所有类型,只看不下载

1
youtube-dl -F [url]

2、下载视频和音频并主动合并

1
youtube-dl -f [format code] [url]    //下载指定格式的视频和音频,如 youtube-dl -f 299+140 [url]youtube-dl -f bestvideo+bestaudio [url]    //下载质量最好的视频和音频

如果系统中安装了ffmpeg的话,youtube-dl会自动合并已经下载好的音频和视频,然后自动删除单独的音视频文件。

把下载的视频转换成mp4格式
加上--merge-output-format mp4 参数

3、下载字幕

1
2
3
4
--list-subs 列出所有可以下载的字幕,包括语言以及格式
--write-sub下载up主自己上传的字幕(非youtube自动生成)
--write-auto-sub 下载youtube自动生成的字幕
--sub-lang [LANGS] 选择下载字幕的语言

1).查看视频支持哪些语言的字幕

1
youtube-dl --list-subs [url]

2).下载字幕
a.只下载字幕用户上传的 zh-Hans 字幕,不下载视频

1
youtube-dl [url] --write-sub --sub-lang zh-Hans --skip-download

b.把下载的vtt字幕转换成srt字幕

1
youtube-dl [url] --write-sub --sub-lang zh-Hans --sub-format vtt --convert-subs srt --skip-download

3).同时下载视频和字幕(字幕嵌入视频)
加上参数:–embed-sub -i

1
youtube-dl.exe [url] -f 299+140 --write-sub --sub-lang zh-Hans --embed-sub -i

会下载一个视频文件(内嵌字幕)。

4、总结

1).查看视频支持哪些语言的字幕

1
youtube-dl --list-subs [url]

2).下载视频(含字幕,质量最好的视频和音频)

1
youtube-dl [url] -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/mp4' --write-sub --sub-lang zh-Hans --embed-sub -i

三、批量下载视频

1、下载播放列表

参数:–yes-playlist -f -k ListURL

1).下载YouTube播放列表(-i 后面跟的即列表名)

1
youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/mp4' --write-sub --sub-lang zh-Hans --embed-sub -i PLBAGcD3siRDguyYYzhVwZ3tLvOyyG5k6K

2).下载播放列表

  • 要从播放列表下载第 10 个文件,可使用:youtube-dl –playlist-items 10 [playlist_url]
  • 要下载多个指定的文件,只需用逗号分隔:youtube-dl –playlist-items 2,3,7,10 [playlist_url]
  • 从第 10 个开始,直接下载完整个列表:youtube-dl –playlist-start 10 [playlist_url]
  • 在播放列表中仅下载从第 2 到第 5 的文件:youtube-dl –playlist-start 2 –playlist-end 5 [playlist_url]

2、批量下载

新建一个 list.bat 文件,文件内容为:

1
2
3
url1
url2
url3
1
youtube-dl --batch-file list.bat
1
youtube-dl -a list.txt
1
youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/mp4' --write-sub --sub-lang zh-CN --embed-sub -i -a list.txt

五、报错

如果提示 HTTP Error 403: Forbidden 错误,运行一下下面的代码:

1
youtube-dl --rm-cache-dir
  • 本文标题:youtube-dl 使用教程
  • 本文作者:HDUZN
  • 创建时间:2022-04-09 16:50:00
  • 本文链接:http://hduzn.cn/2022/04/09/youtube-dl 使用教程/
  • 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
 评论