利用youtube-dl下载各种视频

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

查看支持网站: https://rg3.github.io/youtube-dl/supportedsites.html

安装步骤

安装很简单,Youtube-dl支持Windows,Linux,OS X,etc等系统,这次主要介绍Linux系统。最新官方下载:

Linux系统安装:

以下三种下载安装方式选择一个就行了。

  1. sudo curl L
  2. sudo chmod a+rx /usr/local/bin/youtubedl

如果你的vps没有安装 curl ,可以使用 wget 来下载。

  1. sudo
  2. sudo chmod a+rx /usr/local/bin/youtubedl

当然你也可以用pip来安装,如果你没有pip就先安装pip, apt-get install python-pip -y

  1. sudo pip install upgrade youtube-dl

 

使用方法

第1步: 进入到你要下载视频网站

第2步: 从浏览器复制你要下载的视频连接

打开终端输入:

# youtube-dl <video URL>

例如:
# youtube-dl https://www.youtube.com/watch?v=9mmF8zOlh_g

其它选项

三,一些高级用法
安装自己指定的视频格式下载视频

# youtube-dl -F  {video URL}

比如:

# youtube-dl -F  https://www.youtube.com/watch?v=9mmF8zOlh_g

比如你想下载成为‘mp4’格式的,那命令就是这样的

# youtube-dl -f  {format code} {video URL}

这样上面的mp4格式码都是18

# youtube-dl -f  18  https://www.youtube.com/watch?v=9mmF8zOlh_g

下载youtube字幕及视频

有的youtube视频是有字幕的可供下载的,但不是全部;如果过你想要下载字幕用这个脚本来操作也是很容易的;
先来说说两个参数–write-sub加入字幕文件 –all-subs如果有字幕存在则全部下载

下载一系列视频

支持读取下载链接列表文件。这意味着我可以先把所有下载链接整理好后放进一个txt文件,然后让youtube-dl去读取这个txt文件就行了,接下来它就会自动下载全部的视频。该方法的命令如下:

# youtube-dl -a videos_url.txt
这里的 -a 参数表示读取外部链接文件。

youtube-dl -c -i -a video_url.txt

呃,眼尖的你可能已经发现了,上面这条命令好像多出了两个参数?没错,youtube-dl提供了很多有用的附加参数,这里用到的是:

  • -c 断点续传(如果由于意外原因下载中断了,再次启动下载命令时,可以实现断点续传)
  • -i 忽略报错(如果出现某些链接无法打开或者下载的问题,会自动绕过,继续下载其他视频)

四、更新YouTube-DL

使用下面的命令即可更新了

# youtube-dl -U

而 YouTube 现在的 1080p 视频,video 和 audio 部分是分开的,所以这里我们得用到 ffmpeg 这个神器来合并视频和音频。而在 Ubuntu 14.04 LTS 里,ffmpeg 这货居然从官方的包里移除了,所以我们得用 ppa 形式,首先安装 ffmpeg:

注:gstreamer0.10-ffmpeg 这货是用来支持更多格式的视频的

然后我们安装 youtube-dl:…..

它其實還有很多參數可以使用,底下列一些玩過的參數:

  • –help : 查看所有可用的參數及說明。
  • -U : 更新 youtube-dl。
  • -F 影片網址 : 只顯示指定網址影片提供了哪些格式。
  • -f 影片格式代碼 : 指定要下載的影片格式,預設是用最高解析度,要注意有些格式只有影像,不含聲音。
  • -a 文字檔檔名 : 批次下載影片(文字檔內一行一部影片的網址)。
  • -o : 設定儲存時的檔名「格式」,預設是儲存在目前目的資料夾中,用 “標題-ID.格式副檔名” ,也就是「-o “%(title)s–%(id)s.%(ext)s”」。
    如果只想用標題不想加上 ID,而且想儲存在 vidoe 資料夾中,可以利用底下的參數:
    -o “video/%(title)s.%(ext)s”
  • -x : 只下載聲音。
  • –audio-format : 指定聲音的格式,例如:–audio-format mp3,不過必須在目錄中有影音轉檔的程式 ffmpegavconv 搭配使用。
  • –audio-quality : 設定聲音轉檔時的音質,0~9 ,數字愈小,品質愈高。預設值是 5 (128K)。
  • –playlist-start : 指定 Youtube 播放清單由第幾部影片開始。
  • –playlist-end : 指定 Youtube 播放清單到第幾部影片。
  • –no-playlist : 不以 Youtube 播放清單來下載,只下載目前的影片。
  • –no-warnings : 不要顯示錯誤訊息。
  • –list-extractors : 列出 youtube-dl 可解析的網站。

==============================================

为了防止关闭Putty窗口后,下载/上传进程就断掉了,可以考虑使用Screen远程会话管理功能。简单介绍就是,有了这玩意儿,你可以在Putty中启动下载或者上传进程,让其在后台运行,然后关掉Putty离开电脑旁该干啥干啥去,有需要的话回来重新打开窗口就可以看到进程依然在跑。

要检查操作系统是否支持screen,可以直接输入screen然后回车,如果提示找不到这个命令,那就是系统还没安装好这个东西。

在CentOS 7中安装screen:

yum install screen

在debian/ub系统的安装screen:

apt-get install screen

安装完毕后,输入 screen -S xxx 即可创建一个名为 xxxx 的screen会话窗口。在此窗口中执行想要做的任务,然后同时按下 ctrl + a,松开后按下 d,即可将此session放到后台去运行,并回到之前的对话窗口。在非screen对话窗口中,输入 screen -ls 可以列举已有的screen进程。输入 “screen -r 进程代码” 就可以再次调出正在运行的

=================================================================需要注意的事:下载文件的缓存会暂用vps上的硬盘空间,清理的文件在 /root/.gdfuse/googledrive/cache 把里边的文件清理就可以释放硬盘空间.

“利用youtube-dl下载各种视频”的2个回复

  1. Hi! I have to admit, I’m amazed with your site.
    I had no trouble navigating through all the
    information. I found what I needed in no time at all.
    Pretty awesome. Would appreciate it when you add forums or something like that, it would be a
    perfect way for your clients and various other visitors
    to interact. Congrats.

发表评论

电子邮件地址不会被公开。 必填项已用*标注