1

youtube-dl使用记录

 2 years ago
source link: http://wwj718.github.io/post/%E6%8A%80%E6%9C%AF/youtube-dl-note/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

youtube-dl使用记录

2015-12-04

#缘起 最近在跟着一些资料学习数据分析,时常会连接到youtube,要看些演讲之类的,想下载下来看。有朋友也在学习这块知识,所以最理想是把视频放到国内云上,这样可以分享给小伙伴

#思路 恰好有服务器在国外,所以想做个自动化的工作,大体思路是

写个网页收集下载链接,然后后台触发celery去执行任务,任务里使用youtube-dl去下载视频,下载完后使用bypy同步到百度云盘,然后发一封邮件通知视频下载者。

关于同步到云盘和邮件通知这部分我之前在for_dinner里写过

所以这次任务不算太难,写个建议的表单页面,熟悉使用youtube-dl就行了。

###dirty and quick 我们也可以简化以上流程,一种建议的不那么自动化的方式是:

  • 小伙伴把想下载的视频微信告诉你
  • 你去国外vps上使用youtube-dl把视频下载下来
  • 之后使用FTP把视频拖回本地

#youtube-dl ##what youtube-dl是一个简单的命令行下载工具,支持全球上百个视频网站的下载,包括国内主流视频网站资源,无须注册,无须付费,无须登录,智能嗅探出真实下载地址。据官网介绍,youtube-dl甚至支持全球最大的成人视频网站免费下载。

具体列表可通过youtube-dl --extractor-descriptions查看

我使用wc统计了下(youtube-dl --extractor-descriptions|wc -l),一共可以下载国内外714个视频源的视频/音频。

此外前头说的官网介绍属实!

可供下载的国内一些著名音视频源包括:优酷/百度视频/音悦Tai/QQ音乐/网易云音乐/酷我音乐

##安装 sudo pip install youtube-dl

##使用 ###帮助 youtube-dl –help

###常用命令

  • youtube-dl –list-extractors #查看支持网站列表
  • youtube-dl -U #程序升级
  • youtube-dl –get-format URL #获取视频格式
  • youtube-dl -F URL #获取所有格式(目前仅支持YouTube)
  • youtube-dl -f format URL #下载指定格式的视频,这里以下载1080p原画质量的视频格式为例: youtube-dl -f 137 https://www.youtube.com/watch?v=Izj_F8r2yt0

###demo 我们以下载Role of Python in Data Science and Machine Learning(地址:https://www.youtube.com/watch?v=CoxjADZHUQA)为例

因为YouTube的video 和 audio 部分是分开的,所以这里要用到 ffmpeg 这个神器来合并视频和音频:sudo apt-get install ffmpeg

youtube-dl -F " youtube-dl -F ",输出:

:::text
[youtube] CoxjADZHUQA: Downloading webpage
[youtube] CoxjADZHUQA: Downloading video info webpage
[youtube] CoxjADZHUQA: Extracting video information
[youtube] CoxjADZHUQA: Downloading DASH manifest
[youtube] CoxjADZHUQA: Downloading DASH manifest
[info] Available formats for CoxjADZHUQA:
format code  extension  resolution note
140          m4a        audio only DASH audio   99k , m4a_dash container, aac  @128k (44100Hz), 29.96MiB
141          m4a        audio only DASH audio  195k , m4a_dash container, aac  @256k (44100Hz), 59.79MiB
160          mp4        256x144    DASH video  119k , avc1.4d400c, 13fps, video only, 34.22MiB
133          mp4        426x240    DASH video  258k , avc1.4d4015, 25fps, video only, 76.12MiB
134          mp4        640x360    DASH video  605k , avc1.4d401e, 25fps, video only, 77.20MiB
135          mp4        854x480    DASH video 1104k , avc1.4d401e, 25fps, video only, 160.60MiB
136          mp4        1280x720   DASH video 2205k , avc1.4d401f, 25fps, video only, 322.11MiB
137          mp4        1920x1080  DASH video 4127k , avc1.640028, 25fps, video only, 632.46MiB
17           3gp        176x144    small ,  mp4a.40.2, mp4v.20.3
36           3gp        320x240    small ,  mp4a.40.2, mp4v.20.3
5            flv        400x240    small
43           webm       640x360    medium ,  vorbis, vp8.0
18           mp4        640x360    medium ,  mp4a.40.2, avc1.42001E
22           mp4        1280x720   hd720 ,  mp4a.40.2, avc1.64001F (best)

选定音视频质量后(比如我们选择160对应的视频,141对于的音频),开始下载: youtube-dl -f 160+141 "https://www.youtube.com/watch?v=CoxjADZHUQA"

:::text
youtube] CoxjADZHUQA: Downloading webpage
[youtube] CoxjADZHUQA: Downloading video info webpage
[youtube] CoxjADZHUQA: Extracting video information
[youtube] CoxjADZHUQA: Downloading DASH manifest
[youtube] CoxjADZHUQA: Downloading DASH manifest
[download] Destination: PyCon Ukraine 2014 - Jeremy Achin - Role of Python in Data Science and Machine Learning-CoxjADZHUQA.f160.mp4
[download] 100% of 34.22MiB in 00:09
[download] Destination: PyCon Ukraine 2014 - Jeremy Achin - Role of Python in Data Science and Machine Learning-CoxjADZHUQA.f141.m4a
[download] 100% of 59.79MiB in 00:12
[ffmpeg] Merging formats into "PyCon Ukraine 2014 - Jeremy Achin - Role of Python in Data Science and Machine Learning-CoxjADZHUQA.mp4"

下载完毕!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK