云网牛站
所在位置:首页 > Linux教程 > Youtube-dl教程与使用例子

Youtube-dl教程与使用例子

2019-06-27 10:49:39作者:梁叹稿源:云网牛站

本文介绍在Linux系统下安装Youtube-dl及使用Youtube-dl的方法,它是Youtube下载程序,与Mps-youtube一样,Youtube-dl也是一个命令行程序,用于从Youtube下载视频,它可以一次下载单个曲目或整个播放列表,它是一个用Python编写的免费开源命令行程序,支持GNU/Linux、Mac OS X和Microsoft Windows,可参考在Linux上安装和使用YouTube-DL GUI保存YouTube视频一文。

Youtube-dl教程与使用例子

 

安装Youtube-dl

安装Youtube-dl很简单,官方推荐的方法就是下载它,将其保存在PATH中,使其可执行并立即开始使用:

$ 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

如果你没有curl,请改用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

或者,可以使用Pip安装它,如下所示:

$ sudo -H pip install --upgrade youtube-dl

参考:在Ubuntu 18.04系统中安装pip并使用pip命令

Youtube-dl也可以在某些Linux发行版的官方存储库中找到,例如,可以使用以下命令在Arch Linux中安装它:

$ sudo pacman -S youtube-dl

在Debian、Ubuntu、Linux mint上:

$ sudo apt install youtube-dl

在Fedora上:

$ sudo dnf install youtube-dl

 

更新Youtube-dl

如果使用curl或wget手动安装了Youtube-dl,请运行以下命令进行更新:

$ sudo youtube-dl -U

如果使用pip安装它,请执行以下操作:

$ sudo pip install -U youtube-dl

那些使用发行版的包管理器安装Youtube-dl的人只需使用适当的更新命令,例如,在Arch Linux上,只需运行以下命令即可更新Youtube-dl:

$ sudo pacman -Syu

在Debian、Ubuntu上:

$ sudo apt update

至此,更新完成,现在让我们看一些学习使用Youtube-dl的例子。

 

Youtube-dl教程与使用示例

在这里,我编译了最常用的Youtube-dl命令,从youtube下载视频或播放列表。

1.下载视频或播放列表

要从Youtube下载视频或整个播放列表,只需提及以下网址:

$ youtube-dl https://www.youtube.com/watch?v=7E-cwdnsiow

如果要使用你选择的自定义名称下载视频或播放列表,命令将为:

$ youtube-dl -o 'abdul kalam inspirational speech' https://www.youtube.com/watch?v=7E-cwdnsiow

用你自己的名字取代“abdul kalam inspirational speech”。

你还可以使用以下命令在文件名中包含其他详细信息,例如标题,上传者名称(频道名称)和上载日期等:

$ youtube-dl -o '%(title)s by %(uploader)s on %(upload_date)s in %(playlist)s.%(ext)s' https://www.youtube.com/watch?v=7E-cwdnsiow

2.下载多个视频

有时,你可能希望从其他网站下载多个视频,如果是这样,请用空格分隔的视频网址,如下所示:

$ youtube-dl <url1> <url2>

或者,可以将它们全部放在文本文件中,并将其作为参数传递给Youtube-dl,如下所示:

$ youtube-dl -a url.txt

此命令将下载url.txt文件中提到的所有视频。

3.从视频中下载,仅音频

Youtube-dl允许我们仅从Youtube视频下载音频,如果你处于仅下载音频的情况,请执行以下操作:

默认情况下,Youtube-dl将以Ogg(opus)格式下载音频。

如果想下载任何其他格式,例如mp3,请运行:

$ youtube-dl -x --audio-format mp3 https://www.youtube.com/watch?v=7E-cwdnsiow

此命令将从给定视频下载音频,将其转换为MP3并将其保存在当前目录中,请注意,你应该安装ffmpeg或avconv将文件转换为mp3格式,参考初学者学习FFmpeg命令的教程

4.下载包含说明,元数据,注释,字幕和缩略图的视频

要下载视频及其他详细信息(如说明,元数据,注释,字幕和缩略图等),请使用以下命令:

$ youtube-dl --write-description --write-info-json --write-annotations --write-sub --write-thumbnail https://www.youtube.com/watch?v=7E-cwdnsiow

5.列出所有可用的视频或播放列表格式

要列出视频或播放列表可用的所有可用格式,请使用以下命令:

$ youtube-dl --list-formats https://www.youtube.com/watch?v=7E-cwdnsiow

或者:

$ youtube-dl -F https://www.youtube.com/watch?v=7E-cwdnsiow

样本输出:

Youtube-dl教程与使用例子

正如你在上面的屏幕截图中所看到的,Youtube-dl列出了给定视频的所有可用格式,从左到右,它显示相应视频的视频格式代码,扩展名和分辨率注释,当你想要以特定质量或格式下载视频时,此功能非常有用。

6.以特定质量和/或格式下载视频

默认情况下,Youtube-dl将下载最佳质量的视频,但是,也可以以特定的质量或格式下载视频或播放列表。

Youtube能够下载以下品质的视频:

best - 选择具有视频和音频的给定文件的最佳质量格式。

worst - 选择最差质量格式(视频和音频)。

bestvideo - 选择最佳质量的纯视频格式(例如DASH视频),请注意,它可能无法使用。

worstvideo - 选择质量最差的纯视频格式,可能无法使用。

bestaudio - 选择最优质的音频格式,可能无法使用。

worstaudio - 选择质量最差的音频格式,可能无法使用。

例如,如果要下载最佳质量格式(音频和视频),只需使用以下命令:

$ youtube-dl -f best https://www.youtube.com/watch?v=7E-cwdnsiow

同样,要以最佳质量下载仅音频:

$ youtube-dl -f bestaudio https://www.youtube.com/watch?v=7E-cwdnsiow

要下载质量最差的纯视频格式,请使用以下命令:

$ youtube-dl -f worstvideo https://www.youtube.com/watch?v=7E-cwdnsiow

还可以组合使用以下不同的格式选项。

$ youtube-dl -f bestvideo+bestaudio https://www.youtube.com/watch?v=7E-cwdnsiow

上面的命令将下载最高质量的仅视频和最高质量的纯音频格式,并将它们与ffmpeg或avconv合并在一起,确保已在系统上安装了这些工具中的任何一个。

如果不想合并,请将+(加号)运算符替换为(逗号),如下所示:

$ youtube-dl -f 'bestvideo,bestaudio' https://www.youtube.com/watch?v=7E-cwdnsiow -o '%(title)s.f%(format_id)s.%(ext)s'

此命令将下载最佳质量的视频和最佳质量的音频,不会混用它们,在这种情况下,你将获得两个文件,一个是音频,另一个是视频,在此示例中,建议输出模板作为bestvideo,bestaudio可以具有相同的文件名。

我们甚至可以以特定的分辨率下载特定质量的视频或播放列表。

例如,以下命令将下载小于或等于480像素分辨率的最佳质量视频:

$ youtube-dl -f "best[height<=480]" https://www.youtube.com/watch?v=7E-cwdnsiow

就像已经说过的那样,我们可以将格式选择器分组以获得特定质量的视频,以下命令将下载最佳格式,但不能超过480p:

$ youtube-dl -f 'bestvideo[height<=480]+bestaudio/best[height<=480]' https://www.youtube.com/watch?v=7E-cwdnsiow

7.使用格式代码下载视频

所有视频都有格式代码,我们可以用它来下载特定质量的视频,要查找格式代码,只需使用以下任一命令列出可用格式:

$ youtube-dl --list-formats https://www.youtube.com/watch?v=7E-cwdnsiow

或者:

$ youtube-dl -F https://www.youtube.com/watch?v=7E-cwdnsiow

样本输出:

Youtube-dl教程与使用例子

正如你在上面的屏幕截图中所看到的,给定视频的所有格式代码都列在第一列中,最后给出了最佳质量格式(格式代码为22),因此,下载最佳质量格式的命令是:

$ youtube-dl -f 22 https://www.youtube.com/watch?v=7E-cwdnsiow

下载多个视频时,某些视频可能没有相同的格式,在这种情况下,你可以按照自己喜欢的任何首选顺序指定多个格式代码,看看下面的例子:

$ youtube-dl -f 22/17/18 https://www.youtube.com/watch?v=7E-cwdnsiow

根据上面的示例,Youtube-dl将以格式22下载视频(如果可用),如果格式22不可用,则它将下载格式17(如果可用),如果22和17格式都不可用,它将最终尝试下载格式18,如果没有指定的格式可用,Youtube-dl将抱怨没有合适的格式可供下载。

请注意,斜杠是左关联的,即左侧的格式是首选。

8.按文件扩展名下载视频

以你的首选格式下载视频,例如MP4,只需运行:

$ youtube-dl --format mp4 https://www.youtube.com/watch?v=7E-cwdnsiow

某些视频可能无法以你的首选格式提供,在这种情况下,Youtube-dl将下载任何其他最佳可用格式,例如,此命令将下载最佳质量的MP4格式文件,如果MP4格式不可用,则它将下载任何其他最佳可用格式:

$  youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best' https://www.youtube.com/watch?v=7E-cwdnsiow

如果要使用自定义文件名下载它们,请执行以下操作:

$ youtube-dl --format mp4 -o '%(title)s.f%(format_id)s.%(ext)s' https://www.youtube.com/watch?v=7E-cwdnsiow

9.下载特定大小的视频

从播放列表下载多个视频时,你可能只想下载特定大小的视频。

例如,此命令将下载最佳视频格式但不大于100MB。

$ youtube-dl -f 'best[filesize<100M]' https://www.youtube.com/watch?v=7E-cwdnsiow

10.按日期下载视频

Youtube-dl允许我们按照上传日期过滤和下载视频或播放列表,当你想要从包含1000个视频的播放列表中下载视频时,这将非常有用。

例如,要下载在确切日期(例如2018年10月1日)上传的视频,命令将为:

$ youtube-dl --date 20181001 <URL>

下载在特定日期或之前上传的视频:

$ youtube-dl --datebefore 20180101 <URL>

下载在特定日期或之后上传的视频:

$ youtube-dl --dateafter 20180101 <URL>

仅下载过去6个月内上传的视频:

$ youtube-dl --dateafter now-6months <URL>

要在特定日期(例如2018年1月1日至2019年1月1日)之间下载视频,请使用以下命令:

$ youtube-dl --dateafter 20180101 --datebefore 20190101 <URL>

Youtube-dl还有很多选择,有关更多详细信息,请参阅Youtube-dl帮助信息:

$ youtube-dl --help

 

相关主题

在Linux系统中的YouTube视频下载器:Annie安装与使用

精选文章
热门文章