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

推荐订阅源

GbyAI
GbyAI
Simon Willison's Weblog
Simon Willison's Weblog
Microsoft Security Blog
Microsoft Security Blog
Y
Y Combinator Blog
The GitHub Blog
The GitHub Blog
Engineering at Meta
Engineering at Meta
F
Fortinet All Blogs
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
A
About on SuperTechFans
Last Week in AI
Last Week in AI
月光博客
月光博客
有赞技术团队
有赞技术团队
P
Proofpoint News Feed
MyScale Blog
MyScale Blog
Martin Fowler
Martin Fowler
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
C
Check Point Blog
U
Unit 42
The Register - Security
The Register - Security
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Hugging Face - Blog
Hugging Face - Blog
阮一峰的网络日志
阮一峰的网络日志
V
Visual Studio Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
D
DataBreaches.Net
WordPress大学
WordPress大学
aimingoo的专栏
aimingoo的专栏
H
Hacker News: Front Page
Recent Announcements
Recent Announcements
C
CXSECURITY Database RSS Feed - CXSecurity.com
Latest news
Latest news
小众软件
小众软件
P
Palo Alto Networks Blog
PCI Perspectives
PCI Perspectives
Security Latest
Security Latest
S
Secure Thoughts
Scott Helme
Scott Helme
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
Threat Research - Cisco Blogs
P
Proofpoint News Feed
M
MIT News - Artificial intelligence
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Google DeepMind News
Google DeepMind News
Recorded Future
Recorded Future
O
OpenAI News
S
Securelist
云风的 BLOG
云风的 BLOG
H
Help Net Security
T
Troy Hunt's Blog

郑泽鑫的博客

使用 Github Actions 自动更新 ANNOVAR 的 Clinvar 数据库 2020 年终总结 - 郑泽鑫的博客 解包一个 PAR 打包的 perl 程序源码 阿里云PBS作业排队管理 - 郑泽鑫的博客 VPS装机记录(3):任务机器人 - 郑泽鑫的博客 VPS装机记录(2):使用mosh - 郑泽鑫的博客 2019 年终总结 - 郑泽鑫的博客 VPS装机记录(1):SSH篇 - 郑泽鑫的博客 Typecho博客被刷垃圾评论 - 郑泽鑫的博客 记录 VEP 关于 COSMIC 注释的一个坑 记录一次 Name.com 自动续费成功退款的经过 - 郑泽鑫的博客 静态编译 Tmux - 郑泽鑫的博客 基因组、cDNA、氨基酸坐标转换神器:Transvar - 郑泽鑫的博客 macOS Case Sensitive to Case Insensitive(使用 Carbon Copy Cloner) 2018 年终总结 - 郑泽鑫的博客 ANNOVAR (3): 更新 COSMIC 数据库 (v70+) ANNOVAR (2): 关于注释数据库 - 郑泽鑫的博客 PyInstaller 打包 python 脚本的一些心得 - 郑泽鑫的博客 今天是万圣节 - 郑泽鑫的博客 伊恩结 - 郑泽鑫的博客 annovar 注释软件 - 郑泽鑫的博客 Pileup Format 学习笔记 - 郑泽鑫的博客 SAM 文件学习笔记 - 郑泽鑫的博客 Github 万圣节彩蛋 - 郑泽鑫的博客
用 youtube-dl 下载油管视频 - 郑泽鑫的博客
with / · 2016-09-17 · via 郑泽鑫的博客

最近在上油管看各类视频,因为有些视频不错,而网络条件又不是每时每刻都那么好。所以就想趁着在网络好的地方,先离线好油管的视频,那走到哪还是能接着看啦。

说干就干,立马就Google,虽然找到类似4K Video Downloader这种比较傻瓜式的软件,但是不知为啥,使用proxifier设置它走代理还是下载不动;有的人说,直接用IDM下载就可以啦,但是我的IDM设置代理不知道为啥也不成功,无奈之下,只好找其他方法了;又尝试过直接使用网上那些转换油管视频的网站,例如clipconverter,网站本身是十分好的,奈何直接在浏览器下载速度还是太慢了。

虽然尝试了那么多都失败了,但是技术改变生活,幸好我尝试了Youtube-dl,本来以为Youtube-dl很难布置,但是看到了知乎上的一个回答《如何下载Youtube的视频》,发现十分简单。于是就自己尝试了一下,请注意,以下布置是于2016年9月17日尝试成功的,前提是你有一个能上youtube的网络环境,以及Ubuntu操作环境,如果是Windows,请自行Google在win下的布置方法。

布置ffmpeg + youtube-dl##

首先,启动你的Ubuntu系统,或者你可以在你的VPS上操作: 首先安装ffmpeg,打开终端:

sudo apt-get install python-software-properties software-properties-common
sudo apt-add-repository ppa:mc3man/trusty-media
sudo apt-get update
sudo apt-get install ffmpeg gstreamer0.10-ffmpeg

然后安装youtube-dl:

sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl

这样子就布置成功了,然后是抓取视频:

youtube-dl -F https://www.youtube.com/watch?v=5UB4J_HEHZU #可以是视频链接或者是播放列表链接

返回类似这样的结果,其实是该视频的每种格式的详细情况——

youtube-dl
youtube-dl

第一列是格式的代号,第二列是文件格式,第三列是音频和视频分辨率等,第四列是视频/音频编码格式及文件大小等详情。

然后我们使用youtube-dl -f下载选中的格式的代号,例如

youtube-dl -f 22 https://www.youtube.com/watch?v=5UB4J_HEHZU #要下载播放列表也是同样,会自动下载列表中所有视频

下载油管字幕##

youtube-dl是有字幕选项的,但是博主没有认真去研究过,也许以后有时间,再写一篇详细的youtube-dl的blog,但是有一个网站用来下载油管的字幕还是很方便的,就是downsub了,直接输入视频链接,然后选择下载的语言。


2016.11.20更新 油管下载字幕也非常简单

$ youtube-dl -h
... #直接跳到字幕部分
Subtitle Options:
    --write-sub                      Write subtitle file
    --write-auto-sub                 Write automatically generated subtitle file (YouTube only)
    --all-subs                       Download all the available subtitles of the video
    --list-subs                      List all available subtitles for the video
    --sub-format FORMAT              Subtitle format, accepts formats preference, for example: "srt" or "ass/srt/best"
    --sub-lang LANGS                 Languages of the subtitles to download (optional) separated by commas, use --list-subs for available language tags
... #以下省略非字幕部分

可以看到,youtube-dl是支持字幕下载的,其中:

  • write-sub 下载up主自己上传的字幕(非youtube自动生成)
  • write-auto-sub 下载youtube自动生成的字幕
  • all-subs 下载所有字幕(有点夸张,可能用于采集吧)
  • list-subs 列出所有可以下载的字幕,包括语言以及格式
  • sub-format FORMAT 选择下载的字幕格式,如果没有你选定的格式,youtube会选择另外一个格式下载
  • sub-lang LANGS 选择下载字幕的语言

所以我们可以看见,本身youtube-dl的字幕下载功能就很强大。我演示一下list-subs以及如何下载一个播放列表并且包括所有视频的英文、中文简体字幕。

$ youtube-dl --list-subs https://www.youtube.com/watch?v=hpb-mH-yjLc&list=PL2mpR0RYFQsBiCWVJSvVAO3OJ2t7DzoHA
#列出所有可供下载的字幕,效果见下图

$ youtube-dl --write-auto-sub --sub-lang en,zh-Hans --convert-subtitles srt https://www.youtube.com/playlist?list=PL2mpR0RYFQsBiCWVJSvVAO3OJ2t7DzoHA
# 下载播放列表

Reference##