本文介绍在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很简单,官方推荐的方法就是下载它,将其保存在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列出了给定视频的所有可用格式,从左到右,它显示相应视频的视频格式代码,扩展名和分辨率注释,当你想要以特定质量或格式下载视频时,此功能非常有用。 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 样本输出:
正如你在上面的屏幕截图中所看到的,给定视频的所有格式代码都列在第一列中,最后给出了最佳质量格式(格式代码为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
相关主题 |