为了灵活高效地浏览Coursera等MOOC平台的课程视频,我建立了一套基于python脚本的准备流程:
随着每次预备视频和文档时一点点地优化,我现在只需要点几下鼠标就能完成上述的预处理任务了。
视频本地化的好处在于,在浏览时可以不受网络速度的约束,可以任意地拖动进度条,可以全程最大化视频窗口,可随时在pdf讲义和视频间快速切换,可加速视频,也不会受弹出的Quiz打扰,刷课效率质量都大大提升。
下面我来分享几个在编写脚本时,遇到的问题,以及我是如何解决的:
从截图可以看到coursera-dl当下的脚本维护状况不是太妙 ,用它来下载课程时,十有八九会报出如下错误:
“HTTPError: 400 Client Error: Bad Request for url: https://api.coursera.org/api/login/v3”
但是经过一番研究调查,我发现还是能够正常的使用的。由于Coursera增加了reCAPTCHA验证,仅用户名+密码已经很难直接成功登陆了。我们还需要从浏览器里找到登录coursera时的CAUTH信息,并把它填写仅命令行中去。
通过下载工具得到的视频名称一般都已经带有前缀数字。coursera-dl下载下来的文件前缀数字是有零填充的,因此排序后不会乱。但是,比如像Udeler这样的Udemy平台下载器得到的文件前缀数字并未进行零填充,这就导致编号10、11、12...会排在编号2之前。
Python的处理办法也很简单,使用natsort库来排序就能得到理想的顺序了。
VLC在读取M3U中的视频路径时,会人工智障,读不了Unicode特殊字符。今天终于在论坛上看到了解决方法,那就是把文件路径记录成以百分号编码的url格式,如:
file:///H:/MOOC/Coursera/%E3%80%90%E5%90%88%E9%9B%86%E3%80%91%E5%95%86%E4%B8%9A/%5BSpecialization%5D%20Business%20Foundations%20%28Wharton%29/Introduction%20to%20Operations%20Management/01_introduction/01_module-1-introduction/01_course-logistics.mp4
这样的话,VLC就能够顺利地读取M3U中的带中文路径的视频了!
经过这样一番折腾,上述的流程已经基本上满足了我的使用需求。如果你有什么相关的好点子,欢迎留言分享。