mmzou / geektime-dl

👾 Geektime-dl 是使用Go构建的快速、简单的极客时间下载器,支持专栏下载为PDF文档。
MIT License
552 stars 168 forks source link

视频课程下载方法 #68

Closed L-ios closed 2 years ago

L-ios commented 2 years ago
  1. 找到新的m3u8
  2. 解析m3u8内容
  3. 替换其中的 AES-128需要使用的 URI(好像只能获取一次)替换后如下
    #EXTM3U
    #EXT-X-VERSION:3
    #EXT-X-ALLOW-CACHE:YES
    #EXT-X-TARGETDURATION:10
    #EXT-X-MEDIA-SEQUENCE:0
    #EXT-X-KEY:METHOD=AES-128,URI="file://./aes.key"
  4. 利用ffmpeg进行转换
weiyongsheng commented 2 years ago

aes.key是怎么来的?

L-ios commented 2 years ago

aes.key是怎么来的?

m3u8里面的URI给的

weiyongsheng commented 2 years ago

极客时间采用的阿里云视频私有加密方式,我之前研究过,比较复杂,页面播放都是通过js sdk的加解密方式。如果你有更好的解决方案,辛苦可以来个Merge,THX!

L-ios commented 2 years ago

不会go语言,无力提交pr,我弄了一个kotlin的版本,你可以参考一下 https://github.com/L-ios/geektime-ktdl/blob/c3c6d134e5c7e7a218d6ec62ff77bccfce037276/src/main/kotlin/io/github/lionseun/Main.kt#L301