如何利用Linux去油管下载带字幕的优质英文资料提升英文听力和词汇量
【step1,Centos6系统安装youtbe-dl下载带英文字幕的视频】
1.首先需要安装youtube-dl
2.需要自动转换字幕文件为src,需要安装mmpeg依赖,具体的安装办法参考:
https://stackoverflow.com/questions/48673224/how-to-install-ffmpeg-on-centos-6
安装完成之后,从Youtube下载英文带字幕的视频
youtube-dl --write-sub --sub-format "ass/srt/best" --convert-subs "srt" "video_url"
提取英文mp4带字幕;
比如:
youtube-dl --write-sub --sub-format "ass/srt/best" --convert-subs "srt" https://www.youtube.com/watch?v=uDVoZ39mONk
毫不费力就搞定了:
这样子就下载下来了,并且自动把字幕转为了通用的srt格式的,在windows上面我们可以使用迅雷播放起来播放这些带字幕的视频,锻炼听力的同时,还可以增长自己的词汇;
我们可以到YouTube上面随意挑选我们感兴趣的英文视频,而绝大多数的视频都是带字幕的。搜集一些我们感兴趣的英文发音比较好的那种放到手机上面,或者下载到电脑上面,平时就可以利用零碎时间来学习了。
我们把它载入iPhone手机的nPlayer播放器,如下,字幕自动加载了:
如果我们对于有些演讲特别感兴趣或者某个行业比较感兴趣的话,我们可以去专门针对这个行业,来下载一些口齿比较清晰的内容,带字幕的,Download到我们的手机上面利用零碎时间,每天半个小时,一年就会有1000分钟的听力输入量;
对于掌握某个领域的常用词汇是非常有用的。也有180小时的听力输入;也是不错的;
对于大部分没有字幕的,但是可以看到Google自动提供的字幕的,可以使用chorme插件Tampermonkey:
在开启这个插件的情况下,访问下面js脚本地址:安装js脚本,即可完成google智能生成的英文字幕的下载。
https://greasyfork.org/zh-CN/scripts/5368-youtube-subtitle-downloader-v20
字幕标题和视频标题保持一致即可,有时候会发现国内的迅雷播放器或者QQ影音播放器无法播放解析出视频画面,
这里推荐Windows系统上面的开源播放器:mpv-x86_64-20181002,下载地址: https://mpv.srsfckn.biz/mpv-x86_64-20181002.7z
但是iphone上面的nplayer没有这个问题,
我们可以窥见,IOS和windows平台上面的软件质量确实,差别蛮大的;
这个方法比较适合用来研究你本专业领域的一些专业词汇;
MPV播放器是开源,非常优秀:字幕也全部加载出来了。让MPV成为Windows系统默认的播放器:
下载这个批处理文件即可:https://github.com/rossy/mpv-install 按照文档提示操作;
听力先导的英语提升方法确实非常有效果,而寻找适合自己的语音材料,油管上面有取之不尽的资源,合理利用还是非常不错的,程序领域,前端领域,这个可以为以后阅读纯英文版本的技术书籍打下牢固基础;
如何利用Linux去油管下载带字幕的优质英文资料提升英文听力和词汇量的更多相关文章
- 利用lsof去查看Unix/Linux进程打开了哪些文件
利用lsof去查看Unix/Linux进程打开了哪些文件 今天用了一下lsof,发现这个linux的小工具,功能非常强大而且好用. 我们可以方便的用它查看应用程序进程打开了哪些文件或者对于特定的一个文 ...
- 利用Linux自带的logrotate管理日志
日常运维中,经常要对各类日志进行管理,清理,监控,尤其是因为应用bug,在1小时内就能写几十个G日志,导致磁盘爆满,系统挂掉. nohup.out,access.log,catalina.out 本文 ...
- 学了C语言,如何利用CURL写一个下载程序?—用nmake编译CURL并安装
在这一系列的前一篇文章学了C语言,如何为下载狂人写一个磁盘剩余容量监控程序?中,我们为下载狂人写了一个程序来监视磁盘的剩余容量,防止下载的东西撑爆了硬盘.可是,这两天,他又抱怨他的下载程序不好用,让我 ...
- SecureCRT、Xmanager对Linux上传下载文件或文件夹
(1).SecureCRT SecureCRT对Linux上传下载文件或文件夹拥有一个专门的软件SecureFXPortable.对于它来说只有两个的难题,一个是版本问题,尽量去官网下载最近版本:另一 ...
- 利用Linux中的计划任务+PHP网页程序(转)
利用Linux中的计划任务+PHP网页程序,实现对web服务器运行状况的监测[每5分钟监测一次,并邮件提醒]一.我的监测服务器环境:rhel5.5+apache2.2+php5二.功能描述:写一个PH ...
- Oracle 11g 下载|Oracle 11g 官网下载|Oracle 11g 官网下载 带登录用户和密码
本文转载自 Oracle 11g 下载|Oracle 11g 官网下载|Oracle 11g 官网下载 带登录用户和密码 oracle 下载还需要用户名我自己注册了个方便大家使用下载直接点击提示找不到 ...
- Linux下校验下载文件的完整性(MD5,SHA1,PGP)
查看: Linux下校验下载文件的完整性(MD5,SHA1,PGP) http://blog.useasp.net/archive/2014/03/29/use-md5-sha1-or-pgp-to- ...
- 利用linux信号机制调试段错误(Segment fault)
在实际开发过程中,大家可能会遇到段错误的问题,虽然是个老问题,但是其带来的隐患是极大的,只要出现一次,程序立即崩溃中止.如果程序运行在PC中,segment fault的调试相对比较方便,因为可以通过 ...
- 利用Linux命令行进行文本按行去重并按重复次数排序
最近杂事太多,正事进展缓慢.Fighting! linux命令行提供了非常强大的文本处理功能,组合利用linux命令能实现好多强大的功能.本文这里举例说明如何利用Linux命令行进行文本按行去重并按重 ...
随机推荐
- ArcSDE 10.2 for Oracle 12C安装注意事项
ArcSDE 10.2 for Oracle 12C安装注意事项 1.环境说明 从ArcSDE10.2.1开始支持Oracle 12C. 2.安装注意事项 SDE空间数据库可以安装到PDB中,使用Cr ...
- icon-font 字体图标的引用
1.font-class引用 font-class是unicode使用方式的一种变种,主要是解决unicode书写不直观,语意不明确的问题. 与unicode使用方式相比,具有如下特点: 兼容性良好, ...
- DevExpress 中 GridControl 的数据源DataTable 内容改变后 重新绑定
1.datatable dt=new datatable(); 2.dt 内容改变 dt.columns.add("col1"); dt.columns.add("col ...
- SQLSERVER 中GO的作用
go 向 SQL Server 实用工具发出一批 Transact-SQL 语句结束的信号.go是把t-sql语句分批次执行.(一步成功了才会执行下一步,即一步一个go) BEGIN 和 END 语句 ...
- 【Leetcode】【Medium】Construct Binary Tree from Inorder and Postorder Traversal
Given inorder and postorder traversal of a tree, construct the binary tree. Note:You may assume that ...
- 【Leetcode】【Medium】Populating Next Right Pointers in Each Node
Given a binary tree struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode *nex ...
- %02hhX
大家经常会遇到将 调试信息例如从网络收到的数据包 或者 转换后的数据 打印出来,调试问题. 如果以ascii码打印的话,控制字符和ascii码以外的字符不能很好的查看具体值(看不到,或者乱码,尤其对于 ...
- shell----删除文件中的^M
在Linux下使用vi来查看一些在Windows下创建的文本文件,有时会发现在行尾有一些“^M”.有几种方法可以处理. 1.使用vi的替换功能.启动vi,进入命令模式,输入以下命令: :%s/^M$/ ...
- nginx里配置跨域
发布于 881天前 作者 wendal 1404 次浏览 复制 上一个帖子 下一个帖子 标签: nginx 跨域 if ($request_method = OPTIONS ) { add ...
- Java -- Arrays.asList()方法
Arrays.asList() 是将数组作为列表 问题来源于: public class Test { public static void main(String[] args) { int[] a ...