《油管字幕下载器》在线工具上线
花了两天时间写了这个网页版 油管字幕下载器(YouTube Captions Download) ,用于将YouTube cc字幕导出到本地,支持srt/vtt/txt/json等格式。
使用地址
点这里可直接免费使用:【油管字幕下载器】
功能介绍
将你感兴趣的YouTube视频地址url复制到工具输入框中,程序将自动获取该视频下的所有语种的字幕列表,并提供常用字幕格式的预览和下载。
效果演示
实现过程
谷歌官方提供了YouTube字幕相关的API (官方api地址),要列表有列表,要下载有下载,看起来很美好,调用接口时发现需要额外授权。搜查了不少资料后决定放弃官方接口,改由爬取页面的老手艺。(不明白为什么油管cc字幕是公开的,但下载字幕却需要额外授权)。
一、获取字幕列表
熟悉油管源码的朋友可能知道,字幕是通过https://www.youtube.com/api/timedtext
接口返回的,网上流传的通过https://www.youtube.com/api/timedtext?lang={LANG}&v={VIDEO_ID}
方式已经失效,推测应该是加了签名验证。通过查看https://youtube.com/watch?v={VIDEO_ID}
网页源码可发现,源码中即包含了一个timedtext集合,在captionTracks
对象中。
通过正则或其它方式将其解析出来,得到类似于这样的字幕地址:https://www.youtube.com/api/timedtext?v=PkZNo7MFNFg&ei=F6t6ZcShFMiWvcAP_5OZqAM&caps=asr&opi=112496729&xoaf=5&hl=zh-HK&ip=0.0.0.0&ipbits=0&expire=1702563207&sparams=ip,ipbits,expire,v,ei,caps,opi,xoaf&signature=D32EB73F562CC8651795FF5D2EF6189028305883.16939FF8E96324579331B8D4AB1ED314DE7EFFC3&key=yt8&lang=en
(注意有时效限制),尝试进行访问,得到了一个xml格式的字幕文件。
果不其然进行了签名验证,既然已经拿到字幕,接下来的事就水到渠成了。
二、预览/下载字幕
字幕文件已经到手,虽然是xml文件,预览和下载功能算是呼之欲出了,这里我使用Node.js进行文本的读取和写入,网上很多Node解析xml、Node文本读写的教程,不再赘述。
后话
我自已对字幕不是很懂,对一些细节问题可能没法设身处地去理解。我看网上也有人做了类似工具,甚至支持了翻译和双字幕功能,我暂时没有发现支持大额且免费的翻译方法,不知道他们是怎么解决翻译成本问题的。如果有人知道,也请不吝赐教。
热门文章
- 微信小程序“拍照识图”上线(63,758)
- YouTube评论翻译插件《油管评论翻译机》上线了(60,289)
- 基金助手--chrome浏览器插件(45,193)
- 拍照识别彩票结果在线工具(31,944)
- vue+tabs动态组件方案漫谈(26,477)
- 《油管评论翻译机》使用说明书(25,339)
- 网页打印插件Print.js(23,978)
- 自用YouTube抓取评论+翻译工具(23,380)
- YouTube评论导出免费在线工具(18,055)
- px转rem/vw方法小结(17,565)
太有帮助了!谢谢你!
很高兴能帮到你
你咋不上线推广呢,挂点广告赚钱也行啊
使用的人很少,转现还很困难