加微信进交流群:xituxiaoshutong100

视频下载神器youtube-dl

流媒体 迷途小书童 0评论

环境

简介

youtube-dl是一个命令行工具,专门用来下载youtube视频,同时也支持其它一些主流网站,如tiktok.comted.comnba.com等等,大家可以到链接 https://github.com/ytdl-org/youtube-dl/tree/master/youtube_dl/extractor 去看看具体支持的站点,每个文件对应一个站点支持,文件名即是站点名。

youtube-dl的运行需要python的环境,在windowslinuxmacos上都可以运行,代码开源。

youtube-dl官网地址: https://youtube-dl.org/

youtbue-dl源码托管地址: https://github.com/ytdl-org/youtube-dl

安装youtube-dl

如果是windows系统的话,直接下载exe文件,地址是: https://yt-dl.org/latest/youtube-dl.exe,可以保存在相应目录(除了C:\Windows\System32),然后将此目录设置到系统环境变量Path

youtube-dl

如果是linux或者macos系统

# 使用curl下载
sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl

# 使用wget
sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl

如果你的系统中已有python的开发环境,那可以这样安装,适用于所有平台

pip install --upgrade youtube-dl

youtube-dl基本使用

这里以下载本人youtube频道上的一个视频为例,地址是: https://www.youtube.com/watch?v=e6MbVG8GO6s&lc=Ugydt8F8ECTvTxQEByx4AaABAg, 最简单也是最基础的下载命令是

youtube-dl "https://www.youtube.com/watch?v=e6MbVG8GO6s&lc=Ugydt8F8ECTvTxQEByx4AaABAg"

这里需要注意,要在下载链接加上双引号,下载url中经常会包含各种特殊字符,这样做是为了解析时不会出错。下载完成后,本地文件名与站点上的文件名一致

youtube-dl

使用ffmpeg工具查看视频信息

youtube-dl

可以发现,视频分辨率是1920x1080,也就是之前上传的分辨率,封装格式刷mkv,编码格式已经是youtube转码后的格式了

youtube-dl进阶

下载后重命名

使用参数-o

youtube-dl "https://www.youtube.com/watch?v=e6MbVG8GO6s&lc=Ugydt8F8ECTvTxQEByx4AaABAg" -o output

这里没办法指定封装格式。如果是-o output.mp4,最后下载的文件就是output.mp4.mkv

批量下载

如果下载链接是一个播放列表,那整个播放列表里的视频都会被下载,如果只想下载播放列表中的几个连续视频,可以指定开始和结束的序列号

youtube-dl.exe --playlist-start 31 --playlist-end 36 "https://www.youtube.com/watch?v=Ye018rCVvOo&list=PLJV_el3uVTsMhtt7_Y6sgTHGHp1Vb2P2J"

如果是独立的下载链接,可以按照如下方法进行。

创建一个txt文本文件(file.txt),将视频的地址按照一行一个的方式保存起来,如下

youtube-dl

然后执行命令

youtube-dl -a file.txt

下载指定分辨率

首先通过命令查看视频的信息,只查看,不下载

youtube-dl -F "https://www.youtube.com/watch?v=e6MbVG8GO6s&lc=Ugydt8F8ECTvTxQEByx4AaABAg"

youtube-dl

可以看到最左边的一列是一个数字,代表着不同格式,而且,注意看,youtube将音频和视频进行了分离。所以,

youtube-dl -f 134 "https://www.youtube.com/watch?v=e6MbVG8GO6s&lc=Ugydt8F8ECTvTxQEByx4AaABAg"

下载后的视频只有视频,而没有音频

youtube-dl

如果想下载完整的话,就需要这样,这里需要用到ffmpeg的工具,有了它,youtube-dl就会自动将音视频进行合并

(base) PS C:\Users\xugaoxiang\Desktop> youtube-dl -f 134+139 "https://www.youtube.com/watch?v=e6MbVG8GO6s&lc=Ugydt8F8ECTvTxQEByx4AaABAg"
[youtube] e6MbVG8GO6s: Downloading webpage
[youtube] e6MbVG8GO6s: Downloading MPD manifest
[download] Destination: 在google colab上进行yolov5模型训练,免费使用GPU资源-e6MbVG8GO6s.f134.mp4
[download] 100% of 7.78MiB in 00:06
[dashsegments] Total fragments: 118
[download] Destination: 在google colab上进行yolov5模型训练,免费使用GPU资源-e6MbVG8GO6s.f139.m4a
[download] 100% of 6.74MiB in 03:09
[ffmpeg] Merging formats into "在google colab上进行yolov5模型训练,免费使用GPU资源-e6MbVG8GO6s.mp4"
Deleting original file 在google colab上进行yolov5模型训练,免费使用GPU资源-e6MbVG8GO6s.f134.mp4 (pass -k to keep)
Deleting original file 在google colab上进行yolov5模型训练,免费使用GPU资源-e6MbVG8GO6s.f139.m4a (pass -k to keep)

-f除了可以使用id,还可以使用如下参数,含义很清楚,就不用解释了

-f best
-f worst
-f bestvideo
-f worstvideo
-f bestaudio
-f worstaudio

使用代理

如果你的网络不是全局的话,那就需要使用代理了,命令如下

youtube-dl --proxy 127.0.0.1:1089 "https://www.youtube.com/watch?v=e6MbVG8GO6s&lc=Ugydt8F8ECTvTxQEByx4AaABAg"

参考资料

喜欢 (0)
发表我的评论
取消评论

表情