钉钉云课堂实现倍速播放 & 提取视频文件 & 提取直播回放
本文最后更新于 835 天前,其中的信息可能已经有所发展或是发生改变。

前言

钉钉的云课堂比较反人类,不仅有水印影响观看体验而且不支持倍速播放。看讲课比较慢的老师的视频,无疑是一种煎熬。过于慢的速度,反而会影响效率。

今天因为实在忍不了原速了,稍微研究了一下钉钉的微应用,然后就有了这篇博文。

思路

云课堂的本质是一个(套壳的)网页,限制特别多,例如不允许开控制台等等。我们可以从另一个角度入手,中间人注入 js 来实现目的。

提示

该方法仅 PC 端可用(其实手机也不是不行)。

对于有相关基础的读者应该没什么难度。

对于没有相关基础的读者,按照步骤一步步走就可以,本博文会尽可能面向新手详细地写明每一步。

开始

一、安装 Fiddler

如果你已经安装了 Fiddler,可以跳过此步骤。

到官网下载并安装 Fiddler,或者也可以点击这里来下载 Fiddler。

如果你不知道什么是 Fiddler,那么可以看下面这段话,当然略过也没有关系。

Fiddler 是一个用于 HTTP 调试的代理服务器应用程序,最初由微软 Internet Explorer 开发团队的前程序经理 Eric Lawrence 编写。Fiddler 能捕获 HTTP 和 HTTPS 流量,并将其记录下来供用户查看。它通过使用自签名证书实现中间人攻击来进行日志记录。

– Wikipedia

二、设置 Fiddler 捕获 HTTPS 流量

打开 Fiddler,点击顶栏 “Tools”,在弹出的菜单中点击 “Options…”。

在弹出的窗口中切换到顶部的 “HTTPS” 菜单,勾选 “Capture HTTPS CONNECTs” 和 “Decrypt HTTPS traffic” 复选框,然后点击 OK。

勾选后会弹出安装证书的窗口,确认即可。

三、中间人注入

在 Fiddler 中按下 Ctrl+R。弹出一个代码编辑器窗口。

在代码编辑器窗口按下 Ctrl+F,在弹出的窗口中输入 OnBeforeResponse 并按下回车。代码编辑器窗口会跳转到相关的位置。找到 OnBeforeResponse 函数。


复制下面的代码,并粘贴到下图中的位置,然后按下 Ctrl+S 来保存

var sToInsert = "<script src='https://res.wx.qq.com/mmbizwap/zh_CN/htmledition/js/vconsole/3.0.0/vconsole.min.js'></script><script>var vConsole = new VConsole();</script>"
oSession.utilDecodeResponse();
oSession.utilReplaceOnceInResponse('</head>', sToInsert + '</head>', 0);

四、直接在钉钉内倍速播放

打开钉钉的云课堂,点开一个视频,可以看到右下角多了一个绿色按钮。点击它。

点击之后,弹出了一个菜单。

将下面的代码粘贴进下图中标明的位置并点击右侧的 “OK” 按钮。

在点击右下角绿色按钮弹出的控制台按照上一步的方法输入以下代码:

document.querySelector("video").playbackRate=2.0

点击 OK。可以将钉钉内的视频变为二倍速。代码中的 2.0 可以换成其他的数字。

五、获取视频地址和下载视频

还是右下角的绿色按钮弹出的菜单,输入下面的代码

console.log(document.querySelector("video").src);

点击 OK 后,上面的列表出现了一个地址,这个地址就是该云课堂视频的源文件地址。复制这个地址,在浏览器打开即可下载该视频。或者,也可以用 Potplayer 直接打开该地址来倍速播放。

附:提取直播回放

  1. 完成前文的步骤一和二
  2. 打开直播回放
  3. 在 Fiddler 中按 下 Ctrl+F,搜索 .m3u8,按回车,找到高亮的 m3u8 文件。
  4. 右键复制地址,随便找一个 m3u8 下载器下载即可。

附:使用 Potplayer 倍速观看视频

推荐使用 Potplayer 来倍速观看视频。Potplayer 是一款很好用的播放器。

下载并安装 Potplayer 后,在 Potplayer 的左上角点击如图的菜单,或者直接按下 Ctrl+U

在弹出的窗口中粘贴刚才的复制的那个视频链接,点击确定。

可以看到,视频已经开始播放。

按下 C 键来加速,按下 X 键来减速,按下 Z 键来恢复原速。

按下按键后在视频左上角可以看到当前的倍速速率。

你也可以使用 IDM 等下载工具下载视频以后在本地观看。

附 2:一劳永逸地实现倍速播放

感谢评论区读者提供的改进:直接注入视频增强脚本来一劳永逸地实现倍速播放,而不用每次都输代码。

方法请参考 www.cnblogs.com/1024th/p/12317158.html

 

作者: solstice23
本文采用 CC BY-NC-SA 4.0 协议

评论

  1. 匿名
    Windows Chrome
    4年前
    2020-3-02 11:26:14

    为什么在右下角没有出现绿色按钮呢

  2. 匿名
    Windows Chrome
    4年前
    2020-2-22 0:35:12

    牛逼牛逼

  3. Windows Chrome
    4年前
    2020-2-19 20:22:35

    所有问题都解决了,但是好像不好复制出来,控制台点不动

  4. 匿名
    Windows Chrome
    4年前
    2020-2-18 21:03:44

    楼主知道第三步操作完以后打开视频没出现绿色按钮是怎么了嘛

    • 匿名
      匿名
      Windows Chrome
      4年前
      2020-3-02 11:41:06

      我也是同样问题!

  5. 匿名
    置顶
    Windows Firefox
    4年前
    2020-2-16 16:24:53

    感谢作者提供思路,这里给出一个一劳永逸的办法:https://www.cnblogs.com/1024th/p/12317158.html

    • 博主
      匿名
      Windows Chrome
      4年前
      2020-2-16 16:46:34

      Orz,这样直接注入那个视频增强的脚本会更方便一点,已经补充在文末,感谢

  6. 匿名
    Windows Chrome
    4年前
    2020-2-15 8:39:34

    console.log(document.querySelector(“video”).src);
    blob:https://saas.daxue.dingtalk.com/e0f9dec1-5483-48a7-95a7-4a10ac7c3f6d
    undefined
    最后解析出这个,有点懵,大佬晓得是那个地方出问题了吗

    • 博主
      匿名
      Windows Chrome
      4年前
      2020-2-15 11:45:14

      可能钉钉不同的视频用了不同的解析方案,我这里不是分段解析的。
      把最后一段代码换成 document.querySelector("video").playbackRate=2.0,直接在钉钉窗口内 2.0 倍速播放

      • yy
        solstice23
        Windows Chrome
        4年前
        2020-2-15 15:16:07

        谢谢,可以了

  7. DING
    Windows Edge
    4年前
    2020-2-14 18:41:32

    请问为什么再操作完第三步后,打开钉钉的结果是“服务错误”??

    • 博主
      DING
      Windows Chrome
      4年前
      2020-2-17 14:06:45

      先登录钉钉再打开 Fiddler,登录钉钉的时候不要打开 Fiddler

  8. even
    Android Chrome
    4年前
    2020-2-14 18:36:05

    牛逼,反手就是一个赞,简直拯救人类,我代表全国人民感谢你

  9. yuy
    Windows Chrome
    4年前
    2020-2-14 16:41:14

    支持

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: Telegram @AmashiroNatsukiEars_NoWord Sticker
Source: Telegram Animated Emojis
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
AmashiroNatsukiEars
Telegram Emojis
小恐龙
花!
上一篇
下一篇