使用youtube-dl下载YouTube视频

技术 秋水逸冰 38066 次围观 23 次吐槽

YouTube

youtube-dl是一个使用python编写的脚本,可以下载热门视频网站的视频。在Linux系统下可以一健下载Youtube、Youku、Tudou等热门网站的视频,甚至是一些XXX站的视频下载,如YouPorn、XVideos等。下面介绍使用方法。

1、环境确认
youtube-dl需要Python 2.6以上的版本。因此需要先确认安装的Python版本。默认CentOS6.x是安装了2.6.6。通过以下命令可以查看版本:
python –version

若是CentOS5.x,则需要编译安装新版本。参考《CentOS 6.4安装Python2.7.5》,在CentOS5.x下编译安装步骤是一样的。

2、下载安装
youtube-dl直接下载最新版到/usr/local/bin/目录下并赋予权限即可使用。命令:

wget http://youtube-dl.org/latest/youtube-dl -O /usr/local/bin/youtube-dl
chmod a+x /usr/local/bin/youtube-dl

3、用法
使用帮助命令查看其用法:

youtube-dl -h

一些常用的参数:

youtube-dl --list-extractors  #查看支持网站列表
youtube-dl -U  #程序升级
youtube-dl --get-format URL #获取视频格式
youtube-dl -F URL #获取所有格式(目前仅支持YouTube),例如:
youtube-dl -F http://www.youtube.com/watch?v=n-BXNXvTvV4
[youtube] Setting language
[youtube] n-BXNXvTvV4: Downloading video webpage
[youtube] n-BXNXvTvV4: Downloading video info webpage
[youtube] n-BXNXvTvV4: Extracting video information
Available formats:
37      :       mp4     [1080x1920]
46      :       webm    [1080x1920]
22      :       mp4     [720x1280]
45      :       webm    [720x1280]
35      :       flv     [480x854]
44      :       webm    [480x854]
34      :       flv     [360x640]
18      :       mp4     [360x640]
43      :       webm    [360x640]
5       :       flv     [240x400]
36      :       3gp     [240x320]
17      :       3gp     [144x176]
137     :       mp4     [1080p] (DASH Video)
136     :       mp4     [720p] (DASH Video)
135     :       mp4     [480p] (DASH Video)
134     :       mp4     [360p] (DASH Video)
133     :       mp4     [240p] (DASH Video)
160     :       mp4     [192p] (DASH Video)
141     :       mp4     [256k] (DASH Audio)
172     :       webm    [256k] (DASH Audio)
140     :       mp4     [128k] (DASH Audio)
171     :       webm    [128k] (DASH Audio)
139     :       mp4     [48k] (DASH Audio)

youtube-dl -f format URL #下载指定格式的视频,这里以下载1080p原画质量的视频格式为例:
youtube-dl -f 137 http://www.youtube.com/watch?v=n-BXNXvTvV4

补充说明:
我在VPS上试了试,下载YouTube的1080p速度飞快,几百兆的视频几乎瞬间搞定。下载回来重命名一下,放到Apache的htdoc目录里,再用百度或迅雷的离线下载拖回来,如此收藏YouTube视频易如反掌。

参考链接:
http://www.zhukun.net/archives/6785

转载请注明:秋水逸冰 » 使用youtube-dl下载YouTube视频

发表我的评论
取消评论

请输入正确答案后提交评论 *

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (23)

  1. youtube-dl能写个webui的教程网页下载?
    0071年前 (2018-06-21)回复
  2. 想问一下,我用这个下载的是一个视频列表,但是视频列表里边有一些视频被删除的,下载的时候进行到这些视频的时候就会error,有没有办法跳过这些被删除的视频继续下载,非常感谢
    niji0~3年前 (2016-07-08)回复
    • 跳过error使用参数 -i
      Bob3年前 (2017-05-19)回复
  3. 你好,提示没有安装ffmpeg怎么破?看网上安装ffmpeg的教程,太复杂,没有成功。我用的是centos
    枫林伞画桥4年前 (2016-04-27)回复
    • 安装 youtube-dl 和 ffmpeg 有什么关系? youtube-dl 依赖的 Python 环境,一般 Linux 发行版都是自带的。
      秋水逸冰4年前 (2016-04-28)回复
  4. 我用finalspeed加速ssh流量用SCP提取文件效果不错,速度蛮快的,基本能满速,VPS是搬瓦工的
    a17uk4年前 (2016-02-06)回复
  5. 现在youtube 1080p的音视频是分开的,能否更新一下如何配合FFmpeg在vps自动合成一条影片?看简介youtube-dl是支持的。
    mas4年前 (2015-12-22)回复
    • -f 后面的数字之间选视频和音频部分用加号连着,例如 youtube-dl -f 137+171 …… 记住视频一定要在音频前面
      Hsinchu4年前 (2016-02-01)回复
  6. 博主好,Debian 8用apt-get install apache2安装的是2.4.X版本,新版禁止了/var/www下文件的访问,请问要如何修改才能跟2.2一样?我自己查资料折腾了五六个小时也没搞定,望赐教。
    Pink4年前 (2015-09-26)回复
    • 自己解决了,给后来人说下.Debian 8用apt-get install apache2安装,下好后文件移到/var/www/html下面,就可以用“http://ip/文件名”访问了,离线速度跟网络繁忙程度有关,我用的百度离线,凌晨有1M/s以上的速度。我觉得用这个离线大于4G的文件比较好,偶尔需要上传大文件,不用买会员.....
      Pink4年前 (2015-09-28)回复
  7. 大神,我用你说的方法 把视频下载到了vps上!怎么把文件取回到本地啊!我查了好久还是弄不明白!最后找到这个http://www.5yun.org/4051.html#comments 看不明白啊!求个教程啊 !! 还有就是怎么离线到国内的网盘!
    木易4年前 (2015-08-01)回复
    • 可以安装个 Apache httpd 服务器,然后将下载好的文件放在 httpd 的根目录下,利用 http 下载。 要是实在不会,就安装本站的 LAMP一键安装脚本,安装完成后,把下载好的视频扔到 /data/www/default 目录下,就能通过 http 方式下载了。 但是我还想多说一句,http 方式并不安全,鉴于视频里还有 Google 的头文件信息,所以 http 方式下载有可能会失败,反正我是遇到过。最后配置了 https ,用此方式才全部下载的。
      秋水逸冰4年前 (2015-08-02)回复
      • 已按照你的方法,把下载的视频移到/data/www/default 目录下!迅雷离线添加链接 http://ip域名/视频文件名.mp4, 百度识别并且开始下载!为什么速度只有100k/s 以下? 迅雷速度还可以!400k/s !从来没接触过linux,好开心! 还有一个问题,我用这个下载的视频 和音频是分离的!网上查说能调用FFmpeg合并如何做呢!
        木易4年前 (2015-08-02)回复
      • 从vps离线到迅雷的速度是500kb/s 这个速度是不是跟vps机房到国内的速度有关?
        木易4年前 (2015-08-02)回复
  8. 速度果然快!10秒钟下了500M的视频!
    bhz63444年前 (2015-06-30)回复
  9. 从博主这获益良多,感谢。 请教个问题,我有个国外的VPS,下载好后,如何快速取回?使用WinSCP,速度很慢。我是linux菜鸟,能否详细解释下“放到Apache的htdoc目录里,再用百度或迅雷的离线下载拖回来” 下载步骤: 获取视频格式 youtube-dl -F http://www.youtube.com/watch?v=XXXXXXX 中-F的F必须是大写 下载 youtube-dl -f 137 http://www.youtube.com/watch?v=XXXXXXX 一份新的格式编号 format code extension resolution note 171 webm audio only DASH audio , [email protected] 48k (worst) 140 m4a audio only DASH audio , [email protected] 160 mp4 144p DASH video , video only 242 webm 240p DASH video , video only 133 mp4 240p DASH video , video only 243 webm 360p DASH video , video only 134 mp4 360p DASH video , video only 244 webm 480p DASH video , video only 135 mp4 480p DASH video , video only 247 webm 720p DASH video , video only 136 mp4 720p DASH video , video only 248 webm 1080p DASH video , video only 137 mp4 1080p DASH video , video only 271 webm 1440p DASH video , video only 264 mp4 1440p DASH video , video only 272 webm 2160p DASH video , video only 138 mp4 2160p DASH video , video only 100 webm 360p 3D 82 mp4 360p 3D 84 mp4 720p 3D 17 3gp 176x144 36 3gp 320x240 5 flv 400x240 43 webm 640x360 18 mp4 640x360 22 mp4 1280x720 (best) --max-quality 下载的是上面的(best) 如果你想下真正的最高画质需要分别下上面的138和140,然后用视频软件合成
    Pink5年前 (2014-07-30)回复
    • 安装 Apache 最简单的方法:yum install -y httpd 然后把视频文件移动到 Apache 的网站根目录里,这样就能通过浏览器(迅雷)进行 http 下载了。
      秋水逸冰5年前 (2014-07-30)回复
      • 具体怎么做呢?我可卡在这一步了!能不能详细的教程?
        木易4年前 (2015-08-01)回复
        • apache的根目录在var/www/http,把下载好的文件改好名字放到这个目录就行了,比如aaa.mp4 比如你的VPS的IP地址是133.130.32.23,那么你在迅雷里手动建立一个下载链接,下载地址就是 http://133.130.32.23/aaa.mp4
          地狱下面4年前 (2015-10-26)回复
        • 对不起搞错了,根目录在var/www/html,下载好的文件用命令或者FTP放到这个目录就行了
          地狱下面4年前 (2015-10-26)回复
          • 您好 文件已移动到var/www/html下 然而http://服务器ip/文件.mp4显示任务出错
            woorst3年前 (2017-04-19)回复
  10. 这个不大会折腾,我电脑里面是windows 系统。
    smartsun6年前 (2013-10-07)回复
    • 官方网站里有exe的Windows版本程序。可以试试。
      秋水逸冰6年前 (2013-10-07)回复