Repository navigation
LectureFlow 3.2.0
简体中文
3.2.0 最大的变化是浏览器扩展“发送至 LectureFlow”:在录播网站上点一下、确认一次,这节课就进了 LectureFlow。另外,转写里整段没有标点、全是大写字母的问题大幅减少;Google Colab 可以一口气处理一批讲座;翻译快了很多;保存的 API key 改为加密存放。
下载
| 系统 | 文件 |
|---|---|
| Windows 10 / 11(64 位) | LectureFlow-Setup-3.2.0-x64.exe(安装版,推荐),或 LectureFlow-3.2.0-x64-portable.exe(便携版) |
| macOS 13 及以上(Apple 芯片) | LectureFlow-3.2.0-arm64.dmg |
Releases 页面上的其他文件一般不用下载:update.json、update.json.minisig 与 LectureFlow-3.2.0-arm64-mac.zip 供应用内更新使用;LectureFlow-3.2.0-source-….tar 是安装包里 ffmpeg 与 aria2c 的对应源码。
从 3.1.0 升级:3.1.0 不会自己提示有新版本。请下载 3.2.0 的安装包直接安装,覆盖旧版本(macOS 把新的 LectureFlow 拖进“应用程序”替换旧的;安装包没有签名,系统可能再提示一次,处理方法见安装说明)。课程、讲座和设置都会保留。第一次启动时,已保存的 API key 和 Colab 授权会自动改为加密保存,不需要你做什么;升级前的数据库会自动备份(见“已知限制”里不能直接装回 3.1.0 的一条)。数据较多时,第一次启动要多等几分钟(启动画面会显示“正在升级数据”),请不要关闭 LectureFlow。从 3.2.0 起,以后的版本可以在应用内更新。
浏览器扩展:发送至 LectureFlow
- 支持 Chrome 与 Firefox(140 或更新);Microsoft Edge 从 Chrome 网上应用店安装。需要同一台电脑上的 LectureFlow 3.2.0:先安装并打开一次 LectureFlow,它会自动向浏览器登记。安装方法见安装说明,商店链接在审核通过后补在那里。
- 在录播页上点扩展图标,选择要发送的内容——主要音视频、双机位或仅音频(“选择轨道…”列出全部轨道)——再选课程(默认是上次用的那门),点“发送至 LectureFlow”。刮削由 LectureFlow 完成,关掉弹窗、甚至关掉标签页都不影响;完成后讲座出现在课程里,开始转写。
- 在 Panopto 页面上直接发送:允许扩展访问 Panopto 网站后,播放页上会出现“发送至 LectureFlow”按钮;文件夹列表的每一行有勾选框和按钮,已导入、正在刮削的行会标出来;“更新这门课程到 LectureFlow”一次发送这一页上还没导入的讲座(只处理当前这一页)。
- 嵌在 Canvas 等网站里的录播:为了防止别的网站诱导你点击,点页内按钮后,在扩展自己的小窗口里确认发送;把这个网站加入“信任的嵌入网站”后,以后直接在页面上确认。嵌入的播放器太小、放不下确认卡片时,即使网站已经信任,也会打开这个小窗口(这时不显示防诱导点击的提示)。
- 双机位:主音频加两路画面,第二路画面保存为讲座的第二视角,播放器里以画中画显示,点小画面就能对调。已有的讲座也可以在讲座页手动加入第二视角。
- 同一节课不会重复送入:已经导入的,弹窗会提示并提供“在 LectureFlow 中打开”。刮削中途登录过期时,任务标为“需要刷新”:重新打开这节课的录播页,点扩展里的“续传”即可接着刮削。
- 讲师或学校可能限制了的媒体流会标出“可能受政策限制”,发送前再提醒一次(可以对某个平台不再提醒);受数字版权保护(DRM)的内容不处理。
- 不处理 YouTube 和在线课程平台:扩展只用于学校给你的课堂录播。在 YouTube,以及 Coursera、edX、Udemy、LinkedIn Learning、中国大学MOOC、学堂在线这类 MOOC 与付费课程网站上,扩展不探测也不发送,LectureFlow 也拒绝刮削这些网站的地址;嵌在学校 LMS 页面里的这类内容会被跳过。雨课堂、超星学习通、智慧树这类学校自己录课用的平台不在其中。
- 设置 → 刮削:可以调整同时刮削数和单任务连接数。
- 隐私:扩展只和你电脑上的 LectureFlow 通信,不读课程名称、文件夹或课件;只在你发送讲座时读取录播网站的 Cookie(Panopto 上一个也不读),Cookie 只放在 LectureFlow 的内存里。详见扩展隐私声明。
转写:断句与大小写
Whisper 的 large-v3 模型有时会把一整段转写成没有标点的长串,或者全是大写字母,分出来的句子很难读。3.2.0 分两层修:
- 重新转写退化的窗口:某个 30 秒的窗口出现这种情况时,带上前面的文字把它重新转写一次,新结果更好才替换。用 NVIDIA 显卡、CPU(faster-whisper)和 Google Colab 转写时生效;受影响的讲座转写时间多约 30%–70%。可以在设置 → 转写 →“修复退化的转写窗口”关闭(默认开启)。
- 统计修复:在分句之前,按本节讲座正常部分的规律补上句号、还原大小写。只用于英语讲座,所有转写后端都有,几乎不花时间。
- 旧讲座的“修复断句”:以前转写的英语讲座如果有这类问题,讲座页的转写阶段卡片和讲座的右键菜单里会出现“修复断句”。它不重新转写,你人工改过的句子原样保留;之后的摘要、修复、翻译和导出会自动重跑(会用到少量模型服务费用),审阅时对修复建议的采纳 / 拒绝记录会被清掉。
Google Colab
- 批量处理:同一个运行时连续处理多节讲座,模型只加载一次,下一节的录音提前上传等候;在 L4、A100、G4 上同时转两节。只用 Colab 时,等待中的讲座会提前上传(免费账户最多 3 节);同时用本机转写时,Colab 最多占一节在转、一节等候,本机优先接活。还在预处理的讲座、扩展正要刮削完的讲座,会让运行时多留一会儿(最多 5 分钟);队列清空后照旧关机。改由本机处理的讲座,远端的录音会立即删除。
- 准备更快:上传与远端准备同时进行,安装运行环境更快,结果一出来就取回。
- 付费账户默认借 L4(免费账户借 T4);付费还是免费按你的 Colab 账户自动判断,不再需要手动选择;你选过的显卡照旧。
- 极速模式(默认关闭):在 L4、A100、G4 上把一节讲座在静音处切成 2–4 段同时转写,用时减少 15%–60%;结果与整节转写略有不同。
- 在内存中处理(默认开启):录音、模型和所需的软件包只放在 Colab 运行时的内存里,不留在它的磁盘上;内存不够时,这节讲座自动改用磁盘。运行时仍在 Google 的服务器上。
- 账户与资源栏:LectureFlow 用你的 Colab 授权向 Google 查询账户的计算单元余额和可以借用的显卡,账户只分付费和免费两种。付费余额用完、或账户不能借的显卡会暂时锁住,本次改借 T4,可以使用时自动换回;免费账户借 T4。设置页的显卡改为单选列表,锁住的显卡写明原因。资源栏显示付费 / 免费、剩余计算单元和“约可转 N 节”(Google 返回免费额度时也会显示);查询失败时可以“重新查询”。运行时使用中,资源栏显示远端内存的分段(内存盘、Whisper、系统、数据)、显存占用与 GPU 读数。这些查询结果和读数只显示在你的电脑上。
更快
- DeepSeek 默认 64 路并发、不限每分钟次数:一节课的翻译从一分钟左右缩短到几秒。已有的 DeepSeek 服务商不会被自动修改,设置页会提示,并提供“套用推荐限额”。服务商繁忙(429)时自动降低并发,之后逐渐恢复;摘要、修复等请求排在翻译之前,翻译也不会一直被挤到后面。每次翻译先发第一个请求,其余请求能用上提示词缓存,更省钱。
- 播放文件与转写同时生成:需要转码的录像(例如不是 H.264 的视频)不再等转码完才开始转写,播放文件在后台同时生成。
- 转码时硬件编码器中途出错,会自动重试,再不行换下一个编码器;ffmpeg 的零星解码警告不再让能读的文件被判为损坏。
- 窗口隐藏时不再为它采样资源;工作台加载更快。
课程页与播放器
- 在课程里多选讲座,一次重跑某个阶段(只确认一次)。
- 把“课程补充内容”(补充材料、往期讲座)挂到某一周下面,作为那一周的补充资料;也可以把某一节录像设为某一周的应讲内容(补课),带“补”字标记。
- 文稿和时间轴显示章节。
- 第二视角画中画(见上文“双机位”)。
设置与诊断
- 诊断页只显示与你的硬件有关的检查:没有 NVIDIA 显卡的电脑不再出现 CUDA 相关的行;Apple 芯片的 Mac 多了 MLX 推理测试,其他电脑多了 CPU 推理测试;新增“浏览器扩展连接”“aria2c”等行,浏览器扩展的登记出问题时可以在这里点“重新登记”。
- 设置 → 转写新增“转写方式:本地 / 只用云端”,决定诊断页检查哪些项目。
- 应用内更新:检查成功后每天最多检查一次,检查失败时几小时后再试(设置 → 应用 →“自动检查更新”可以关闭),检查时不附带任何用户信息,由你决定是否下载。安装包通过签名校验后,在下次启动 LectureFlow 时安装;上一个版本会保留,新版本启动失败时自动回到它。没有网络时可以“从文件更新”,也可以添加镜像源。
- 新版本的更新信息还没准备好时(通常是刚刚发布),设置页会直接说明,不会说成网络问题;检查失败时,已经找到或下载好的新版本照常显示;“从文件更新”导入成功后,之前的错误提示会清掉;“放弃”会删除已下载的安装包。
升级与数据安全
- 升级前自动备份:每次升级数据库之前,先在数据目录的
backups文件夹里备份一份(不含 API key 和 Colab 授权),保留最近 3 份。磁盘空间不够时不升级,并提示需要多少空间。 - 数据目录比程序新时拒绝启动:用较旧的 LectureFlow 打开已被较新版本升级过的数据目录时,会说明原因并拒绝打开,数据库不做任何改动(3.1.0 没有这项检查,见“已知限制”)。
- 同一个数据目录只能由一个 LectureFlow 使用:再打开一个(例如另开网页模式)时,会提示是哪个进程正在使用。
- 大数据库首次启动不再超时:升级数据、加密已保存的 key 这类耗时的步骤进行时,桌面版会一直等它完成,并在启动画面上说明,不再中途报启动超时。
- 强杀或崩溃后能立即重新启动:LectureFlow 被强行结束或崩溃时,它启动的转写、转码程序会一起结束;再次打开时不会因为文件被占用而启动失败,没做完的任务照常恢复。
- 导出全部写好再替换:导出失败(例如某个导出文件正被别的程序打开)时,原来的导出文件原样保留,并提示是哪个文件被占用;关掉那个程序后,等自动重试或点“重试”即可。
- 删除讲座时如果有文件被占用,讲座照常删除,剩下的文件会在稍后或下次启动时自动清理。
修复
- 部分 HLS 录播(分段较长的)刮削合并后,声音比画面晚一段;现在音画对齐。
- 开头有偏移或中间有断档的录音,转写和字幕的时间与播放对齐。已有的这类讲座,重跑“预处理”后生效(之后的阶段会跟着重跑)。
- 可以上传 .m2ts、.mka、.ogv 文件。
- 讲座标题里看不见的文字方向控制字符会被去掉,标题和导出文件名不再显示错乱。
- 讲座进度条的悬浮卡片里,当前步骤、已用时间、剩余时间和 token 用量实时更新,不再停在打开讲座时的数值(远端转写不再一直显示“等卡”)。
- “N 秒后自动重试”的倒计时会走,到 0 时显示“即将自动重试”。
- 快速双击“启动”“重试”“更新”等按钮,不会重复提交,也不会弹出两个对话框。
- 鼠标悬停时也可以按 Esc 收起悬浮卡片;用键盘收起时,焦点留在原处。
- 诊断页加载时不再闪出一串乱码;资源栏刚打开时不再短暂显示未翻译的文字。
- 添加服务商的对话框直接显示请求发往的完整地址,随输入更新。
安全与隐私
- API key 与 Colab 授权加密保存:用系统账户的凭据保护(Windows 的 DPAPI、macOS 的钥匙串)加密后存进数据库。把数据目录搬到另一台电脑或另一个系统账户后,要重新输入 key、重新授权 Colab(设置页会标出“需要重新输入 key”);在同一台电脑上改数据目录的位置不受影响。系统的凭据保护暂时不可用时,原来的密钥保持不动,这次启动用不了已保存的 key,下次启动再试;完全建立不了密钥时,新填的 key 照常保存但不加密,设置页标出“未加密保存”,诊断页报错,下次有密钥时自动加密。诊断页新增“凭据加密”一行;数据目录在 OneDrive、iCloud 等同步文件夹或 FAT / exFAT 磁盘上时,“数据目录位置”一行会提醒。
- 关掉组件自带的使用统计:OpenVINO 与 Hugging Face 组件自带的使用统计上报、ONNX Runtime 在 Windows 上的使用事件记录都已关闭(以前的版本在装有 OpenVINO 组件时,会发出 OpenVINO 的匿名使用统计);你为其他工具保存的 Hugging Face 令牌不再随模型下载发出;桌面版不再从 Google 下载拼写检查词典。
- LectureFlow 只在这些时候联网:下载模型与组件、刮削你用扩展发送的录播、使用你配置的模型服务商与 Google Colab、检查更新。
- 把服务商地址改到另一台主机时,原来的 key 会被清除,需要重新填写,key 不会被发到新地址。
- 上传讲座只接受音视频文件,播放列表一类的文件会被拒绝。
- 读取 PDF 课件时限制内存和时间,异常的 PDF 不会拖垮电脑。
- 应用内更新的安装包和回滚用的旧版本都要通过签名与哈希校验。新建的数据目录只有你自己的账户能访问;数据目录被其他账户可写时不安装更新,诊断页可以一键收紧权限。
- 导入的数据目录里有指向其他电脑的路径时,导入会被拒绝。
- 刮削:每个 Cookie 只发给它所属的网站;指向这台电脑本身的地址一律拒绝,局域网里的地址只在录播页本身也在局域网时才刮削;轨道在其他网站时,Referer 只带页面的网站,和浏览器的默认做法一样;刮削记录和日志不保存录播页与媒体文件的路径。
- 导出的字幕与讲稿会转义特殊字符。
- LectureFlow 改用 Go 1.27.3 构建,包含 Go 标准库的安全修复。
已知限制
- 安装包仍然没有代码签名:Windows 会出现 SmartScreen 提示,macOS 要在“隐私与安全性”里点“仍要打开”,见安装说明。
- 扩展要从扩展商店安装。正式版 LectureFlow 只接受商店版扩展连接;要用从源代码构建的开发版扩展,需要设置环境变量
LECTUREFLOW_DEV_EXTENSION=1(见安装说明)。 - 扩展只能配合 Windows 和 Apple 芯片 Mac 上的 LectureFlow 使用;Linux、ChromeOS 和手机不支持。目前只有 Panopto 有平台对策文件;其他网站用通用探测数轨道,讲座标题由 LectureFlow 生成。
- 文件夹列表的批量发送只处理当前这一页;有更多页时,翻页后再点一次。
- 录播页面在公网上、媒体地址却在局域网里时,会拒绝刮削。
- 重新转写退化窗口只用于 NVIDIA、CPU 与 Colab;Intel(OpenVINO)和 Apple(MLX)后端只有统计修复。统计修复与“修复断句”只用于英语讲座。
- 极速模式的结果与整节转写略有不同(约 3%–4% 的词)。
- 换电脑或换系统账户后,要重新输入 API key。macOS 上的网页模式与开发版没有钥匙串,密钥保存在数据目录里一个只有你能读的文件中。
- macOS:安装包没有 Apple 签名,所以每装一个新版本(包括从 3.1.0 升级和应用内更新),第一次打开时 macOS 会询问 LectureFlow 能否使用钥匙串里的“LectureFlow Safe Storage”,并要求输入登录密码。请输入密码后选 始终允许;回答之前 LectureFlow 停在启动画面。选“拒绝”的话,这次启动用不了已保存的 key。
- 便携版在应用内更新时直接替换原来的 exe,文件名里的版本号不再准确。
- macOS 只在 Mac mini 上测试过。
- 不能直接装回 3.1.0:3.2.0 改动了数据库,3.1.0 会把加密后的 key 当作 key 发出去,并删掉 Colab 授权。3.2.0 第一次启动时,会先把升级前的数据库备份到数据目录的
backups文件夹(Windows 默认是%APPDATA%\LectureFlow\backups,macOS 默认是~/Library/Application Support/LectureFlow/backups),文件名是lectureflow-before-upgrade-….db,里面不含 API key 和 Colab 授权;需要回到 3.1.0 时,先退出 LectureFlow,用这份备份替换数据目录里的lectureflow.db(并删掉旁边的lectureflow.db-wal、lectureflow.db-shm),再装回 3.1.0,重新输入 API key。
对应源码
每个版本的 Releases 附件里有安装包中 ffmpeg 与 aria2c 的对应源码(LectureFlow-3.2.0-source-….tar),按 GPL / LGPL 的要求与安装包在同一处提供。
English
The biggest change in 3.2.0 is the browser extension, Send to LectureFlow: one click and one confirmation on a lecture-capture site, and the lecture is in LectureFlow. Also: far fewer stretches of transcript without punctuation or in capitals; Google Colab works through a whole batch of lectures; translation is much faster; saved API keys are now stored encrypted.
Downloads
| System | File |
|---|---|
| Windows 10 / 11 (64-bit) | LectureFlow-Setup-3.2.0-x64.exe (installer, recommended) or LectureFlow-3.2.0-x64-portable.exe (portable) |
| macOS 13 or later (Apple silicon) | LectureFlow-3.2.0-arm64.dmg |
You don't need the other files on the Releases page: update.json, update.json.minisig and LectureFlow-3.2.0-arm64-mac.zip are for the in-app update; LectureFlow-3.2.0-source-….tar are the corresponding sources of the ffmpeg and aria2c in the installers.
Upgrading from 3.1.0: 3.1.0 does not announce new versions by itself. Download the 3.2.0 installer and install it over the old version (on macOS, drag the new LectureFlow into Applications to replace the old one; the installers are not signed, so your system may warn once more, see the install guide). Courses, lectures and settings are kept. On the first start, saved API keys and the Colab authorization are encrypted automatically; there is nothing for you to do, and the database as it was before the upgrade is backed up automatically (see the item on reinstalling 3.1.0 under Known limitations). With a lot of data, the first start takes a few minutes longer (the splash screen says it is upgrading your data); please keep LectureFlow open. From 3.2.0 on, later versions can be installed from within the app.
Browser extension: Send to LectureFlow
- For Chrome and Firefox (140 or newer); Microsoft Edge installs it from the Chrome Web Store. It needs LectureFlow 3.2.0 on the same computer: install LectureFlow and open it once, and it registers itself with your browsers. See the install guide; the store links will be added there once the stores have approved the extension.
- On a recording page, click the extension's icon, choose what to send — Main audio & video, Two cameras or Audio only ("Choose tracks…" lists every track) — pick the course (the one you used last is preselected) and click "Send to LectureFlow". LectureFlow does the fetching, so you can close the popup or even the tab; when it is done, the lecture appears in the course and transcription starts.
- Send straight from Panopto pages: once you allow the extension on the Panopto site, the player page has a "Send to LectureFlow" button; each row of a folder list has a check box and a button, and rows already imported or being fetched are marked; "Update this course in LectureFlow" sends the lectures on that page that are not imported yet (only the page you are on).
- Recordings embedded in Canvas and other sites: so that another site cannot trick you into clicking, an in-page button asks you to confirm in the extension's own small window; add the site to "Trusted embedding sites" to confirm on the page from then on. When an embedded player is too small to hold the confirmation card, that small window opens even on a trusted site (without the warning about tricked clicks).
- Two cameras: the main audio plus two pictures; the second picture is kept as the lecture's second angle and plays picture-in-picture in the player — click the small picture to swap them. You can also add a second angle to an existing lecture on its page.
- No duplicates: for a lecture already imported, the popup says so and offers "Open in LectureFlow". If your sign-in expires while a fetch waits, it is marked "Needs refresh": open that lecture's recording page again and click "Resume" in the extension.
- Streams your lecturer or university may restrict are marked "May be restricted", with one more reminder before sending (you can turn the reminder off for a platform); content protected by digital rights management (DRM) is not handled.
- No YouTube, no online course platforms: the extension is for the class recordings your school gives you. On YouTube, and on MOOC and paid-course sites such as Coursera, edX, Udemy, LinkedIn Learning, icourse163 (China University MOOC) and XuetangX, the extension detects and sends nothing, and LectureFlow refuses to fetch from them too; such content embedded in your school's LMS pages is skipped. Platforms that schools use to record their own classes, such as Yuketang, Chaoxing (Xuexitong) and Zhihuishu, are not among them.
- Settings → Fetching: how many lectures are fetched at once, and connections per fetch.
- Privacy: the extension talks only to LectureFlow on your computer and never reads course names, folders or slides; it reads the recording site's cookies only when you send a lecture (none at all on Panopto), and LectureFlow keeps them in memory only. See the extension's privacy policy.
Transcription: sentence breaks and capitals
Whisper's large-v3 models sometimes turn a whole stretch into one long run without punctuation, or into capitals, and the sentences built from it are hard to read. 3.2.0 fixes this in two layers:
- Degenerate windows are decoded again: when a 30-second window comes out like that, it is transcribed once more with the preceding text as context, and the new result replaces it only if it is better. This works with NVIDIA GPUs, the CPU (faster-whisper) and Google Colab; transcription of an affected lecture takes about 30–70% longer. Settings → Transcription → "Fix degenerate transcript windows" turns it off (on by default).
- Statistical repair: before sentences are built, full stops and capitals are restored from the patterns of the normal parts of the same lecture. English lectures only, on every transcription backend, and it takes almost no time.
- "Fix sentence breaks" for older lectures: English lectures transcribed before 3.2.0 that have these problems offer "Fix sentence breaks" on the transcription stage card and in the lecture's context menu. It does not transcribe again, and sentences you edited stay as they are; summary, correction, translation and export then run again by themselves (costing a little model-provider usage), and your accept / reject choices on suggested corrections are cleared.
Google Colab
- Batches: one runtime works through several lectures in a row, loading the model once, with the next recording uploaded ahead; on L4, A100 and G4 it transcribes two lectures at once. When you use only Colab, waiting lectures are uploaded ahead (at most 3 on a free account); when your computer transcribes too, Colab takes at most one lecture in progress and one waiting, and your computer gets work first. Lectures still being prepared, or about to come out of a fetch, keep the runtime for a little longer (5 minutes at most); once the queue is empty it shuts down as before. When a lecture moves back to your computer, its recording on the runtime is deleted at once.
- Faster setup: uploading and remote setup run side by side, the runtime environment installs faster, and results are fetched as soon as they are ready.
- Paid accounts borrow an L4 by default (free accounts a T4); whether an account is paid or free is read from your Colab account, with no switch to set by hand; a card you chose yourself stays chosen.
- Fast mode (off by default): on L4, A100 and G4, a lecture is cut at silences into 2–4 parts transcribed at the same time, 15–60% faster; the result differs slightly from transcribing the whole lecture.
- Process in memory (on by default): the recording, the model and the Python packages stay in the runtime's memory, never on its disk; a lecture that does not fit uses the disk instead. The runtime is still on Google's servers.
- Account and resources panel: with your Colab authorization, LectureFlow asks Google for your account's compute-unit balance and the GPUs you may borrow; an account is either paid or free. A card you can't use right now (no paid balance left, or not offered to your account) is set aside and a T4 is borrowed instead, switching back by itself once possible; free accounts borrow a T4. In Settings the GPUs are a single-choice list, and a card set aside says why. The resources panel shows paid or free, the remaining compute units and "about N lectures" (and the free quota when Google reports one); if the query fails, "Check again" asks once more. While a runtime is in use, the panel shows its memory split (RAM disk, Whisper, system, data), GPU memory use and GPU readings. These answers and readings are shown only on your computer.
Faster
- DeepSeek defaults to 64 concurrent requests and no per-minute limit: translating a lecture takes seconds instead of about a minute. Existing DeepSeek providers are not changed by themselves; Settings points them out and offers "Use recommended limits". When the provider is busy (429), LectureFlow lowers the concurrency and slowly raises it again; summary, correction and similar requests go before translation, and translation is never pushed back for good. Each translation sends its first request on its own, so the rest share the prompt cache, which costs less.
- Playback file and transcription side by side: a recording that needs transcoding (for example video that is not H.264) no longer waits for the transcoding before transcription starts; the playback file is made in the background at the same time.
- A hardware encoder failing mid-transcode is retried, then the next encoder is used; scattered ffmpeg decoding warnings no longer make a readable file "corrupt".
- No resource sampling for a hidden window; the dashboard loads faster.
Course page and player
- Select several lectures in a course and rerun one stage for all of them, with a single confirmation.
- Attach "supplementary course content" (additional material, past lectures) to a week as that week's supplement, or make a recording a week's lecture (make-up), marked "Make-up".
- Chapters in the transcript and on the timeline.
- Second-angle picture-in-picture (see "Two cameras" above).
Settings and diagnostics
- The diagnostics page shows only the checks your hardware needs: no CUDA rows on computers without an NVIDIA GPU; an MLX inference test on Apple silicon Macs and a CPU inference test on other computers; new rows such as "Browser extension connection" and "aria2c", where "Register again" fixes the browser extension's registration.
- Settings → Transcription has a new "Transcription method: On this computer / Cloud only", which decides what the diagnostics page checks.
- In-app update: after a successful check, at most one check a day; after a failed one, another try within a few hours (Settings → App → "Check automatically" turns it off). Checks send no user information, and you decide whether to download. Once its signature checks out, the package is installed the next time LectureFlow starts; the previous version is kept, and LectureFlow goes back to it if the new one fails to start. Without a network you can "Update from file", and you can add mirrors.
- When the update information for a new version is not ready yet (usually right after a release), Settings says so instead of calling it a network problem; a failed check no longer hides a new version already found or downloaded; after a successful "Update from file", earlier error messages are cleared; and "Discard" deletes the downloaded installer.
Upgrades and data safety
- Backup before every upgrade: before upgrading the database, LectureFlow backs it up into the
backupsfolder of the data folder (without API keys or the Colab authorization) and keeps the latest 3 backups. When there is not enough disk space, it does not upgrade and tells you how much space it needs. - A data folder newer than the app is not opened: an older LectureFlow refuses to open a data folder that a newer version has upgraded and says why, leaving the database untouched (3.1.0 cannot check this; see Known limitations).
- One LectureFlow per data folder: when a second one is opened on the same data folder (for example web mode alongside the desktop app), it says which process is using the folder.
- No more start-up timeouts with a large database: while long steps such as upgrading your data or encrypting saved keys run, the desktop app waits for them to finish and says so on the splash screen, instead of reporting a start-up timeout halfway.
- Starts again right after a crash or forced quit: when LectureFlow is killed or crashes, the transcription and transcoding programs it started end with it; opening it again no longer fails over files still in use, and unfinished work resumes as usual.
- Exports are replaced only once complete: when an export fails (for example because an exported file is open in another program), the previous export files are kept as they were, and you are told which file is in use; close that program, then wait for the automatic retry or click Retry.
- When files are in use as you delete a lecture, the lecture is still deleted, and the leftover files are cleaned up automatically a little later or at the next start.
Fixes
- Some HLS recordings (those with long segments) had their sound a segment behind the picture after fetching; sound and picture now line up.
- For recordings whose audio starts late or has gaps, transcripts and subtitles now line up with playback. For such lectures already in LectureFlow, rerun "Preprocessing" (the later stages run again too).
- .m2ts, .mka and .ogv files can be uploaded.
- Invisible text-direction control characters are removed from lecture titles, so titles and export file names no longer display scrambled.
- The pop-up card on a lecture's progress bar keeps its current step, elapsed time, time remaining and token usage up to date instead of showing the values from when the lecture was opened (remote transcription no longer stays at "Wait for a GPU").
- The "Retrying automatically in N seconds" countdown now counts down, and shows "About to retry automatically" when it reaches zero.
- Double-clicking buttons such as Start, Retry or Update no longer submits twice or opens two dialogs.
- Esc closes the pop-up card also while you only hover over it; when you close it from the keyboard, focus stays where it was.
- The diagnostics page no longer flashes garbled text while loading, and the resources panel no longer shows untranslated text for a moment at start-up.
- The dialog for adding a model provider shows the full address requests go to, updating as you type.
Security and privacy
- API keys and the Colab authorization are stored encrypted, protected by your system account (DPAPI on Windows, the Keychain on macOS). After moving the data folder to another computer or another user account, enter the keys and authorize Colab again (Settings marks such providers "Re-enter key"); moving the data folder on the same computer is not affected. When the system's credential protection is unavailable for a while, the key is left as it is: saved keys can't be used in that run, and the next start tries again. When no key can be set up at all, a key you enter is still saved, unencrypted: Settings marks it "Saved unencrypted", the diagnostics page reports an error, and it is encrypted at the next start that has a key. The diagnostics page has a new "Credential encryption" row, and "Data folder location" warns when the data folder is in a sync folder such as OneDrive or iCloud, or on a FAT / exFAT disk.
- Usage reporting of bundled components switched off: the usage reporting built into the OpenVINO and Hugging Face components, and ONNX Runtime's usage events on Windows, are switched off (earlier versions with the OpenVINO component installed sent OpenVINO's anonymous usage statistics); a Hugging Face token you saved for other tools is no longer sent with model downloads; the desktop app no longer downloads a spell-check dictionary from Google.
- LectureFlow goes online only to download models and components, to fetch the recordings you send with the extension, to use the model providers and Google Colab you set up, and to check for updates.
- Changing a provider's address to another host clears its key; enter it again, so that the key is never sent to the new address.
- Lecture uploads accept audio and video files only; playlist-type files are refused.
- Reading PDF slides is limited in memory and time, so a malformed PDF cannot bog down your computer.
- In-app update packages and the old version used for a rollback must both pass signature and hash checks. A new data folder is accessible to your own account only; when other accounts can write to the data folder, updates are not installed, and the diagnostics page can tighten the permissions in one click.
- Importing a data folder that refers to paths on other computers is refused.
- Fetching: each cookie goes only to the website it belongs to; addresses that point to this computer are refused, and addresses on your local network are fetched only when the recording page is on the local network too; when the tracks are on another website, the Referer carries only the page's website, as browsers do by default; fetch records and logs keep no paths of recording pages or media files.
- Exported subtitles and transcripts escape special characters.
- LectureFlow is now built with Go 1.27.3, which includes security fixes to the Go standard library.
Known limitations
- The installers are still not code-signed: Windows shows a SmartScreen warning, and on macOS you click "Open Anyway" in Privacy & Security; see the install guide.
- Install the extension from an extension store. A release build of LectureFlow lets only the store extension connect; to use a developer build of the extension made from source, set the environment variable
LECTUREFLOW_DEV_EXTENSION=1(see the install guide). - The extension works only with LectureFlow on Windows and Apple silicon Macs; Linux, ChromeOS and phones are not supported. Only Panopto has a platform profile so far; on other sites the extension counts tracks generically and LectureFlow writes the lecture title.
- Sending from a folder list handles only the page you are on; with more pages, go to the next page and click again.
- When the recording page is on the internet but the media address is on your local network, the fetch is refused.
- Decoding degenerate windows again works with NVIDIA, the CPU and Colab only; the Intel (OpenVINO) and Apple (MLX) backends get the statistical repair only. Statistical repair and "Fix sentence breaks" are for English lectures only.
- Fast mode's result differs slightly from transcribing the whole lecture (about 3–4% of words).
- After moving to another computer or user account, enter your API keys again. On macOS, web mode and developer builds have no Keychain: the key is kept in a file in the data folder that only you can read.
- macOS: the app is not signed by Apple, so the first time you open each new version (including the upgrade from 3.1.0 and in-app updates) macOS asks whether LectureFlow may use "LectureFlow Safe Storage" in your Keychain and asks for your login password. Enter it and choose Always Allow; LectureFlow waits on its start screen until you answer. If you choose Deny, saved keys can't be used in that run.
- The portable build replaces its own exe when it updates in the app, so the version in the file name is no longer accurate.
- On macOS it has been tested on a Mac mini only.
- You cannot simply reinstall 3.1.0: 3.2.0 changes the database, and 3.1.0 would send the encrypted key as your API key and delete the Colab authorization. On its first start, 3.2.0 backs up the database as it was before the upgrade into the
backupsfolder of the data folder (by default%APPDATA%\LectureFlow\backupson Windows,~/Library/Application Support/LectureFlow/backupson macOS), namedlectureflow-before-upgrade-….db, without API keys or the Colab authorization. To go back to 3.1.0, quit LectureFlow, replacelectureflow.dbin the data folder with that backup (and deletelectureflow.db-walandlectureflow.db-shmnext to it), reinstall 3.1.0 and enter your API keys again.
Corresponding source
Every release's assets include the corresponding sources of the ffmpeg and aria2c in the installers (LectureFlow-3.2.0-source-….tar), offered from the same place as the installers as the GPL and LGPL require.
Source code of the bundled ffmpeg and aria2c
The corresponding source code of the third-party programs under GPL / LGPL in the installers: the upstream tarballs each build uses (unchanged, with their SHA-256), the build script and its pins. README.txt in each archive explains it.
| Attachment | Source of | Size | Upstream tarballs |
|---|---|---|---|
| LectureFlow-3.2.0-source-ffmpeg-windows-x64.tar | ffmpeg / ffprobe in the Windows installers (LGPL-2.1-or-later) | 84.0 MB | ffmpeg-9.0.2.tar.xz, zlib-v1.3.1.tar.gz, nv-codec-headers-n12.1.14.0.tar.gz, OpenH264-v2.6.0.tar.gz, libvpl-v2.16.0.tar.gz, dav1d-1.5.4.tar.xz |
| LectureFlow-3.2.0-source-ffmpeg-darwin-arm64.tar | ffmpeg / ffprobe in the macOS dmg and zip (LGPL-2.1-or-later) | 12.5 MB | ffmpeg-9.0.2.tar.xz, dav1d-1.5.4.tar.xz |
| LectureFlow-3.2.0-source-aria2c-windows-x64.tar | aria2c.exe in the Windows installers (GPL-2.0-or-later) | 11.0 MB | aria2-1.37.0.tar.xz, gmp-6.3.0.tar.xz, expat-2.5.0.tar.bz2, sqlite-autoconf-3430100.tar.gz, zlib-1.3.tar.gz, c-ares-1.19.1.tar.gz, libssh2-1.11.0.tar.bz2 |
| LectureFlow-3.2.0-source-aria2c-darwin-arm64.tar | aria2c in the macOS dmg and zip (GPL-2.0-or-later) | 1.7 MB | aria2-1.37.0.tar.xz |
Together 109.1 MB.