腾讯课堂视频下载器

Overview

项目的由来

哎,腾讯课堂的app太难用了,此工具仅仅只是为了将视频下载到本地,使用第三方播放器使用

注意事项

  • 请自行下载安装ffmpeg与ffprobe
  • ffmpeg使用gpu加速,请自行查找资料
  • 未测试windows使用情况

使用帮助

  1. 请自行下载安装ffmpeg与ffprobe
  2. 请确保ffmpeg与ffprobe在同一目录
  3. 将ffmpeg安装目录填写到config.yaml中
  4. ffmpeg使用gpu加速相关,请自行查找资料
  5. 确认文件下载路径
  6. 目前已支持qq扫码登录/微信扫码登录/cookie登录
    1. 通过cookie登录
      1. 浏览器登录后,f12 --> NetWork
      2. 查找 https://ke.qq.com/cgi-bin/identity/info 接口请求
      3. 复制cookie到配置文件
    2. 微信扫码登录
      1. 启动程序后输入:login -type 3
      2. 手机扫码确认登录
      3. 手动关闭二维码
    3. qq扫码登录
      1. 启动程序后输入:login -type 2
      2. 手机扫码确认登录
      3. 手动关闭二维码
      4. 若出现二维码已失效,需手动关闭二维码图片,并重新输入login -type 2
  7. 执行命令,启动程序(Windows现在可以双击启动程序,而不依托cmd)
       tencentKeTang
  8. 执行命令,可查看说明
       help
  9. 可以通过cid直接下载,也可通过cid+tid列出目录后,进行选择下载,如下图所示
       tree -c 123  #获取123中所有视频
       tree -c 123 -t 456 #获取123中的456term
       tree -u https://ke.qq.com/course/123?taid=1234 #通过url获取cid
       tree -u https://ke.qq.com/webcourse/index.html#cid=1111&term_id=2222&taid=3333&type=4444&vid=55555    #通过url获取cid/tid
    
       d -c 123  #下载123中所有视频
       d 1    #下载tree列目录中的索引
       d 1 3 5    #下载tree列目录中的索引
    image

TODO List

  • 整理日志
  • 可通过终端选择要下载的文件
  • 显示下载进度
  • 优化进度条
  • 支持微信扫码登录
  • 从列表中选择多个视频下载
  • 打包ffmpeg/ffprobe(linux没有打包,目前只打包了mac/windows, mac: ffmpeg version 4.3.1, ffprobe version 4.3.1 windows: ffmpeg version 4.4-essentials_build-www.gyan.dev, ffprobe version 4.4-essentials_build-www.gyan.dev)
  • 支持qq扫码登录
  • 支持qq帐号密码登录
  • 增加桌面版界面

感谢

  • 感谢腾讯课堂给我们的优质内容,不过app真的不好用。。。
Issues
  • 大佬执行报错了

    大佬执行报错了

    anic: items.Get: json.Unmarshal: json: cannot unmarshal string into Go struct field .result.terms.chapter_info.sub_info.task_info.resid_ext of type struct { Times int "json:"times""; Txcloud int "json:"txcloud""; Vid string "json:"vid"" }

    goroutine 1 [running]: main.main() /Users/harry/app/go/src/crawler/tencentKeTang/main.go:35 +0x1f7

    bug 
    opened by jami1024 18
  • 大佬,能不能解决一些有些课程是特殊字符的问题

    大佬,能不能解决一些有些课程是特殊字符的问题

    我有些付费课程没有看完,想下过来看,但是课程名里面有问号(这一些特殊字符),导致下载的时候无法创建本地文件,这个能优化一下吗,比如用序号代替就可以了,万分感谢。 download err:ffmpeg.Do: os.Stat: CreateFile ./download//为什么是python?(建筑+风景+规划).mp4: The filename, directory name, or volume label syntax is incorrect.

    opened by skrjinn 7
  • Macos M1 Bigsur 11.5.1 启动闪退

    Macos M1 Bigsur 11.5.1 启动闪退

    在config.yaml中已经配置了ffmpeg的目录,但是启动就报ffmpeg异常 不确定是不是m1芯片导致的,附错误消息

    panic: 调用ffmpeg出错,请检查地址: exec.Run: signal: abort trap

    goroutine 1 [running]: crawler/tencentKeTang/config.NewApp(0x1b) /Users/harry/app/go/src/crawler/tencentKeTang/config/app.go:33 +0x2ed main.main() /Users/harry/app/go/src/crawler/tencentKeTang/main.go:25 +0x34

    opened by diduweiwu 3
  • 大佬你好,我想单独下载某一个视频,命令打的d -t 131,但是有报错,请问是我哪里做的不对么?

    大佬你好,我想单独下载某一个视频,命令打的d -t 131,但是有报错,请问是我哪里做的不对么?

    TencentKeTang:***$ d -t 131 Incorrect Usage: flag provided but not defined: -t

    NAME: tencentKeTang-windows-386.exe download - 下载文件

    USAGE: TencentKeTang download

    DESCRIPTION: 下载文件默认保存到当前目录的download目录 可输入cid直接下载全部内容 若不填写 flag 则通过tree中的序号下载(支持多序号下载)

       示例:
       TencentKeTang d -c 123456
       TencentKeTang d 1
       TencentKeTang d 1 2 3 4
    

    OPTIONS: --cid value, -c value 通过cid下载 --help, -h show help (default: false)

    opened by linyingge 0
  • gpu 加速不行

    gpu 加速不行

    电脑两个显卡 image

    已经安装 cuda_11.6.2_511.65_windows.exe,用的是自定义高级安装,不是精简安装。

    image

    使用 ffmpeg 时不使用 gpu ,报一个错误 ,不知道是显卡不支持还是哪里写的不对。

    使用命令测试能否用到 gpu

    ffmpeg -i test.mp4 -c:v h264_nvenc out.mp4
    

    image

    我感觉不应该在这里开 issue,看看有没有在大佬能帮助解决一下。

    opened by Liuzhj 0
Releases(v0.2.4)