youtube-dl使用记录
文章目录
#缘起 最近在跟着一些资料学习数据分析,时常会连接到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 "
,输出:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
:::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"
输出为:
1 2 3 4 5 6 7 8 9 10 11 |
:::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" |
下载完毕!
#参考 * rg3/youtube-dl
文章作者 种瓜
上次更新 2015-12-04