惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

雷峰网
雷峰网
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
大猫的无限游戏
大猫的无限游戏
Google DeepMind News
Google DeepMind News
V
V2EX
T
The Blog of Author Tim Ferriss
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Hugging Face - Blog
Hugging Face - Blog
Stack Overflow Blog
Stack Overflow Blog
I
InfoQ
博客园_首页
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Last Week in AI
Last Week in AI
Recent Announcements
Recent Announcements
Vercel News
Vercel News
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Tailwind CSS Blog
美团技术团队
Martin Fowler
Martin Fowler
宝玉的分享
宝玉的分享
Blog — PlanetScale
Blog — PlanetScale
GbyAI
GbyAI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
J
Java Code Geeks

夜行人

回家路上 第一期的直播演示项目 震动检测器 正能量 在线参观CodeLab Neverland 发布 CodeLab Adapter 3.3.1 DynamicTable 之 纸糊方向盘 CodeLab DynamicTable: 一个可实施的技术方案 CodeLab Insight 发布 Alpha 版 情人节 Home Assistant 周报 && IoT 周报 (02) Joplin: 关注隐私的 Evernote 开源替代软件 浏览器的未来与 Web 传感器 Home Assistant 周报 && IoT 周报 (01) 百宝箱(01) 论自由 介绍 WebThings Home Assistant 周报 && iot 周报 (00) 百宝箱(00) 毛姆读书心得 传世之作 周末徒步 CodeLab Adapter ❤️ Jupyter/Python 航班 躲雨 夏令营途中 [译]思想--作为一种技术 The future of coding 美国之行 三门问题的程序模拟
youtube-dl使用记录
2015-12-04 · via 夜行人

#缘起 最近在跟着一些资料学习数据分析,时常会连接到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"

下载完毕!

#参考

文章作者 种瓜

上次更新 2015-12-04