钉钉直播回放下载指南
以下方法不能保证最简单,但至少能保证该方法可行
需要的工具
- 钉钉
- Fiddler
- IPython
- wget for Windows(下载地址)(下载完后存放到C:\Windows\System32,可以打开cmd输入
wget --version
如果能够正常输出,就说明安装完毕了) - FFmpeg(下载地址)(记得配置环境变量,相关方法可以查阅百度)
如果有VPN的话,先把VPN关了
打开Fiddler,配置HTTPS
选择Tools–>Options…
选择HTTPS,点击下面的Decrypt HTTPS traffic
然后一路确定
可以看到会话列表中抓取了很多HTTPS协议的会话,说明HTTPS配置成功
打开钉钉,选择浏览器代理,可以点左下角测试一下,如果成功的话,点击确定。登录
播放你想下载的直播回放
查看Fiddler的会话列表,最左边的图标是一个场记板的,说明该会话获取的是视频资源,随意复制一个会话的URL,先粘贴到记事本里
这个URL问号后面的内容对接下来获取视频资源没什么帮助,而且还影响到下载的文件命名,所以直接删掉
这里先说明,我们获取到的视频是一份一份的,可以先把刚刚的URL复制到浏览器,看看有什么反应[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
可以看到,我们下载了一个以ts
为后缀名只有大约30秒的视频,或许你的文件名不是1.ts
,不过这并不要紧
我们需要得到一个列表,能够把一份一份的的视频全部记录起来,类似于这样(因为等会儿要用wget获取视频)
但是手动输入太麻烦,这里我选择IPython(其实是刚好会用这个…)
f = open('short_video.txt', mode='w')
for x in range(1,101): #如果多下几个短视频就知道,时长基本都是30秒,如果一节课45分钟的话,应该会有(45*60/30)=90个视频,但是可能会有误差,所以我选择记录100个,多出来的wget应该会报404,不过不需要太在意
f.write('https://dtliving-pre.alicdn.com/live_hp/********-****-****-****-************/'+str(x)+'.ts\n') #这里的https://dtliving-pre.alicdn.com/live_hp/********-****-****-****-************/就是刚刚URL里的前缀
f.close()
最终生成了这样的列表
把这个列表储存到想要把一堆视频下载到的目录下
然后wget -i short_video.txt
可以看到后面的几个响应都是404 Not Found,不过这并不要紧
可以看到,我们需要的一堆视频都已经下载好了
接下来我们用FFmpeg把这些视频都拼接起来
因此,我们需要这样一个列表,以便我们能够使用ffmpeg -f concat -i filelist.txt -c copy output.mp4
我们还是选用IPython
f = open('filelist.txt', mode='w')
for x in range(1,89): #因为刚刚获取了1-88.ts的视频
f.write('file' + ' ' + str(x) + '.ts\n') #'file'和文件名的中间一定要有一个空格
f.close()
然后,输入ffmpeg -f concat -i filelist.txt -c copy output.mp4
回车
我们返回到文件管理器,看看刚刚拼接完成的视频
先别激动,打开看看
然后复制到学习资料的目录下,改一下文件名
参考资料:
Fiddler抓包工具实战全网最全最细教程,没有之一【柠檬班】
【FFmpeg 分P教学】转码、压制、录屏、裁切、合并、提取 … 统统不是问题。
学习资料: