Macos下载钉钉直播回放经验总结

 
Category: Tips

写在前面

今天上课使用了钉钉的直播功能, 想要录屏却发现效果不好, obsCPU过载严重, 调整好之后也收效甚微, 正好听同学说钉钉上课的话有直播回放, 但是不能下载, 这让我十分不爽, 开始Google!

大致思路

还真找到了很不错的解决方案, 参考1. 大致方法就是

  1. 下载安装Mac下使用的抓包工具Charles, 当然这个软件是付费的, 可以通过一些特殊手段进行安装;

  2. 配置Charles, 需要安装证书, 信任证书, 然后开启代理;

  3. 打开钉钉开启直播回放然后看Charles的抓包情况, 找后缀是m3u8的链接然后复制下来;

  4. 通过brew下载ffmpqg这个强大的视频处理工具, 然后执行

    ffmpeg -i <刚才的视频链接> aa.mp4
    

    即可完成下载.

具体的部分这里就不列举了, 原文写的很详细了.

Charles部分

下载安装

官网下载(或者brew下载), 安装, 然后找一个注册码网站注册一下.

配置

  1. Proxy -> macOS Proxy 菜单开启代理

  2. Proxy -> Proxy Settings 菜单,对代理进行配置,需要开启 HTTP 代理——选择 Use HTTP proxy

  3. 安装 Charles 根证书,选择 Help -> SSL Proxying -> Install Charles Root Certificate 即可完成安装

    未出现可自行打开 Mac 系统自带软件——钥匙串访问 ,如果证书显示不被信任,则双击进行设置,设置为始终信任

  4. 设置 SSL 代理,选择 Proxy -> SSL Proxying Settings 菜单,出现如下界面后,选中 Enable SSL Proxying,然后添加一个代理规则,Host 设置为 *,由于是抓取 HTTPS 协议请求,Port 设置为 443

抓包部分

Charles 配置完成后,

  1. 打开钉钉群直播视频,然后观察 Charles 抓包内容,获取到如下请求信息,其中 *.alicdn.com 格式的请求,为钉钉群视频直播地址。
  2. 展开抓取到的请求信息后,发现了完整的视频地址,最后我们要做的就是想办法下载 m3u8 格式的视频。

下载部分

  1. 通过brew 下载FFmpeg, 然后粘贴上面的m3u8视频链接:

     ffmpeg -i "https://dtliving-bj.dingtalk.com/live_hp/xxx" --threads 3 video1.mp4
    

需要注意的地方

  1. 我电脑是m1的MacBook Air, CPU8核, 运行的时候全部跑满, 烫的不行, 后来找到了解决方案, 添加线程数限制-threads 3, 参考了23. 就可以以43%左右的CPU占用下载视频并进行合并等操作了.
  2. 注意Charles开启代理之后, 如果关闭Charles电脑就不能联网了, 需要记得用完之后关掉Mac全局代理.

主要参考