某教育平台视频下载完整指南

某教育平台视频下载完整指南

目标页面信息

项目 内容
页面 坐位体前屈(小学体育与健康 · 一至二年级 · 水平一 · 人教版)
页面URL https://basic.smartedu.cn/syncClassroom/classActivity?activityId=d1a5243d-9b85-11ec-92ef-246e9675e50c&chapterId=b44e3dad-30a0-3b26-8856-4db325da2a89&teachingmaterialId=96297c58-094b-45c8-b4da-4034ee696824&fromPrepare=1&classHourId=lesson_1
ActivityId d1a5243d-9b85-11ec-92ef-246e9675e50c
视频ID 5520fef9-9ba6-11ec-9c6b-fa20200f090a
视频封面 https://r1-ndr.ykt.cbern.com.cn/edu_product/esp/micro_lesson_video/5520fef9-9ba6-11ec-9c6b-fa20200f090a.t/zh-CN/1769440331675/transcode/thumbnail.jpg
视频格式 HLS(m3u8 流媒体)
CDN r1-ndr.ykt.cbern.com.cn / r3-ndr.ykt.cbern.com.cn

保护机制分析

通过分析页面代码,发现平台采用以下保护:

  1. 登录验证 — 页面弹出「需要登录才可以查看,是否登录?」对话框,未登录无法播放
  2. Token认证 — 视频 m3u8 地址需要携带ccessToken 参数
  3. CORS跨域限制 — API 接口禁止跨域直接访问
  4. CDN防盗链 — 视频 CDN 校验 Referer 和签名
  5. SPA动态加载 — 页面为单页应用,视频地址通过 JS 动态获取,不在 HTML 源码中

关键技术细节

  • 视频信息存储在i__storage 字段中,形如cs_path:,运行时替换为实际 CDN 地址
  • m3u8 地址通过 host_private(国内)或 host_ove__文本__rsea(海外)拼接
  • 需要调用认证接口获取ccessToken 后拼接到 m3u8 URL
  • 平台 SDP-APP-ID: e5649925-441d-4a53-b525-51a2f1c4e0a8
  • API 基础域名: https://s-file-1.ykt.cbern.com.cn/zxx/ndrv2/

方案一:使用现成工具(推荐)

1.1 Smartedu-Download ⭐ 首选

GitHub 上最受欢迎的智慧教育平台下载工具,支持视频、教材、课件下载。

项目地址: https://ghproxy.net/https://github.com/52beijixing/smartedu-download

下载地址(打包版,自带 FFmpeg + N_m3u8DL-CLI):
https://ghproxy.net/https://github.com/52beijixing/smartedu-download/releases/download/v1.1.0/smartedu-download_with_ffmpeg_and_N_m3u8DL-CLI_v3.0.2.zip

单独程序:
https://ghproxy.net/https://github.com/52beijixing/smartedu-download/releases/download/v1.1.0/smartedu-download.exe

使用步骤:

  1. 下载打包版 zip,解压到任意目录
  2. 双击运行 smartedu-download.exe
  3. 在浏览器打开 https://basic.smartedu.cn/ 并登录账号
  4. 按 F12 打开开发者工具 → 切换到「控制台」(Console)
  5. 粘贴并执行以下代码(自动复制 Token 到剪贴板):
1
copy(localStorage.getItem("ND_UC_AUTH-e5649925-441d-4a53-b525-51a2f1c4e0a8&ncet-xedu&token")) 
  1. 回到下载工具,粘贴 Token

  2. 输入视频页面链接:
    https://basic.smartedu.cn/syncClassroom/classActivity?activityId=d1a5243d-9b85-11ec-92ef-246e9675e50c&chapterId=b44e3dad-30a0-3b26-8856-4db325da2a89&teachingmaterialId=96297c58-094b-45c8-b4da-4034ee696824&fromPrepare=1&classHourId=lesson_1

  3. 等待下载完成

注意事项:

  • 该工具依赖 N_m3u8DL-CLI 和 FFmpeg,打包版已包含
  • 如果下载报错,尝试重新获取 Token(Token 会过期)
  • Windows 用户建议使用打包版,避免环境问题

1.2 飞翔教学资源助手(原 SmartEduDownloader)

专门针对智慧教育平台的资源解析下载工具,有详细使用教程。

项目地址: https://ghproxy.net/https://github.com/cjhdevact/FlyEduDownloader

下载地址: https://ghproxy.net/https://github.com/cjhdevact/FlyEduDownloader/releases

使用教程: https://ghproxy.net/https://raw.githubusercontent.com/cjhdevact/cjhdevact.github.io/main/otherprojects/FlyEduDownloader/Help/index.html


1.3 N_m3u8DL-CLI(专业 m3u8 下载器)

专业的 m3u8 视频下载工具,可独立使用或配合其他工具。

下载地址:
https://ghproxy.net/https://github.com/nilaoda/N_m3u8DL-CLI/releases/download/3.0.2/N_m3u8DL-CLI_v3.0.2_with_ffmpeg_and_SimpleG.zip

独立使用方法(需先获取 m3u8 地址,见方案二):
N_m3u8DL-CLI_v3.0.2.exe "m3u8地址" --saveDir "C:\Downloads" --saveName "坐位体前屈"


1.4 其他工具

工具名 Stars 说明 链接
tchMaterial-downloader 63 免登录下载电子教材 https://ghproxy.net/https://github.com/amakerlife/tchMaterial-downloader
SmartEduDownloader 极简版 18 极简 CLI,支持批量下载教材 https://ghproxy.net/https://github.com/LoongBa/SmartEduDownloader
textbook-pdf 20 Chrome 插件,下载教材 PDF https://ghproxy.net/https://github.com/microboym/textbook-pdf
smartedu-material-downloader 10 油猴脚本 https://ghproxy.net/https://github.com/topjohncian/smartedu-material-downloader

方案二:手动抓取 m3u8 地址后下载

适合不想安装额外工具的用户,或工具下载失败时的备选方案。

步骤 1:抓取 m3u8 地址

方法 A:浏览器开发者工具

  1. 在浏览器打开视频页面并登录
  2. 按 F12 打开开发者工具
  3. 切换到「网络」(Network) 标签
  4. 在筛选器中输入 m3u8
  5. 点击视频播放按钮
  6. 在网络请求列表中找到 .m3u8 文件
  7. 右键 → 复制 → 复制链接地址

方法 B:浏览器扩展嗅探

安装以下任一扩展,播放视频后扩展会自动检测到 m3u8 地址:

扩展名 浏览器 说明
猫抓 Cat-Catch Chrome/Edge https://ghproxy.net/https://github.com/xifangczy/cat-catch
Stream Recorder Chrome Chrome 应用商店搜索安装
Video DownloadHelper Firefox/Chrome 老牌视频嗅探扩展

步骤 2:使用 FFmpeg 下载

ffmpeg -i "粘贴的m3u8地址" -c copy -bsf:a aac_adtstoasc "坐位体前屈.mp4"

步骤 3:或使用 N_m3u8DL-CLI 下载

N_m3u8DL-CLI_v3.0.2.exe "粘贴的m3u8地址" --saveDir "C:\Users\WudiXiaoChen\Downloads" --saveName "坐位体前屈"


方案三:使用 yt-dlp(需要安装 Python)

安装 yt-dlp

1
pip install yt-dlp

使用浏览器 Cookie 下载(自动获取登录状态)

1
yt-dlp --cookies-from-browser chrome "https://basic.smartedu.cn/syncClassroom/classActivity?activityId=d1a5243d-9b85-11ec-92ef-246e9675e50c&chapterId=b44e3dad-30a0-3b26-8856-4db325da2a89&teachingmaterialId=96297c58-094b-45c8-b4da-4034ee696824&fromPrepare=1&classHourId=lesson_1"

如果上述命令失败,可以指定浏览器类型:
yt-dlp --cookies-from-browser edge "页面URL"

方案四:使用 IDM(Internet Download Manager)

  1. 安装 IDM 并启用浏览器集成扩展
  2. 在浏览器中登录智慧教育平台
  3. 播放视频
  4. IDM 会自动弹出下载对话框
  5. 点击「开始下载」

常见问题

Q: Token 在哪里获取?

A: 登录 https://basic.smartedu.cn/ → F12 → 控制台 → 执行:

1
copy(localStorage.getItem("ND_UC_AUTH-e5649925-441d-4a53-b525-51a2f1c4e0a8&ncet-xedu&token"))

Token 会自动复制到剪贴板。

Q: 下载报 403 错误怎么办?

A: Token 已过期,重新执行上述步骤获取新 Token。

Q: 下载的视频没有声音?

A: 使用 FFmpeg 重新封装:
ffmpeg -i "输入.mp4" -c copy -bsf:a aac_adtstoasc "输出.mp4"

Q: m3u8 地址格式是什么样的?

A: 类似以下格式(需要携带accessToken参数):

https://r1-ndr.ykt.cbern.com.cn/edu_product/esp/micro_lesson_video/5520fef9-9ba6-11ec-9c6b-fa20200f090a.t/zh-CN/1769440331675/transcode/video.m3u8?accessToken=xxx

Q: 没有智慧教育平台账号怎么办?

A: 访问 https://basic.smartedu.cn/ 注册一个免费账号即可,支持手机号快速注册。


推荐方案总结

方案 难度 适用场景 推荐指数
Smartedu-Download 工具 ⭐ 简单 批量下载、不熟悉技术 ⭐⭐⭐⭐⭐
飞翔教学资源助手 ⭐ 简单 需要图形界面 ⭐⭐⭐⭐
浏览器扩展 + FFmpeg ⭐⭐ 中等 只下载个别视频 ⭐⭐⭐⭐
yt-dlp ⭐⭐ 中等 已有 Python 环境 ⭐⭐⭐
IDM ⭐ 简单 已安装 IDM ⭐⭐⭐

最推荐: 直接下载 Smartedu-Download 打包版,解压即用。