/dingtalk-live-downloader

基于mitmproxy和n-m3u8dl-re的钉钉直播下载器

Primary LanguagePython

基于mitmproxy和n-m3u8dl-re的钉钉直播下载器

技术原理

通过mitmproxy抓包钉钉直播的m3u8地址,然后使用n-m3u8dl-re下载并合并m3u8视频。 原来的通过抓包获取normal.m3u8下载地址的方法已经失效,因为现在该地址访问一次后就会失效,所以需要通过mitmproxy抓包直接获取normal.m3u8的内容。

使用方法

  1. 安装与配置mitmproxy,可以参考这里
  2. 下载本仓库的main.py文件
  3. 安装n-m3u8dl-re,下载地址在这里。下载后,将n_m3u8_dl的可执行文件(windows版本即后缀为.exe的文件)放到与main.py同一目录下。
  4. 如果已经登录了钉钉,单击左上角头像,单击“切换账号”,来到登录界面。
  5. 在main.py存放的文件夹下,打开命令行,输入mitmdump -q -s main.py,然后回车。
  6. 单击登录界面的右上角的“V”,“类型”改为“HTTP代理”,“地址”填写127.0.0.1,“端口”填写8080,其他放空,然后单击“确定”,接着正常登录钉钉。
  7. 打开要下载的直播
  8. 此时命令行窗口会出现下载进度条,等待出现“Done”即代表该直播已经下载完成。关闭直播后打开其它直播还可以继续下载。你可以在main.py存放的文件夹下找到下载好的视频(文件名以该直播链接的id命名)。
  9. 下载完成后,关闭命令行窗口,然后按照上述操作再次来到钉钉登录界面,单击登录界面的右上角的“V”,“类型”改为“不使用代理”,然后单击“确定”,即可正常登录钉钉。

如果它对你有用,不要忘记给我点个Star🌟,这是对我最大的鼓励,谢谢!