course2md README

The project's README from github.com/mizorewww/course2md. As one markdown file: README.md.

course2md

Turn YouTube, Bilibili, or local videos into illustrated Markdown / HTML notes. Add a video in the desktop app, generate notes, then organize and read them in your course library.

English · 中文 · GitHub Wiki

Try 2.0 RC2: 2.0.0-rc.2 release notes and installation. Use the course2md-gui@rc Homebrew cask; the default installation options below provide the stable release.

Features

Install the desktop app (GUI)

Choose one installation method for your system below. The GUI includes its conversion engine; no separate CLI install is needed.

macOS: Apple Silicon, macOS 15 or later

If you have Homebrew: run this in Terminal to install the app and the video tools ffmpeg and yt-dlp:

brew install --cask mizorewww/tap/course2md-gui

After installation, open course2md from Finder → Applications.

Manual installation: download the macOS installer (DMG), open it, and drag course2md.app to Applications. This installs only the app; install video tools separately using the macOS installation guide.

Arch Linux / CachyOS: x86_64

If you have yay, run this to install the desktop app, video tools and required graphics libraries:

yay -S course2md-gui-bin

With paru, run paru -S course2md-gui-bin. Open course2md from your applications menu. Your graphics hardware needs a working Vulkan driver; see the Linux installation guide.

Windows: x64

  1. Download the Windows portable package (ZIP) and extract everything to a permanent folder.

  2. Install video tools in PowerShell:

    winget install --id Gyan.FFmpeg -e
    winget install --id yt-dlp.yt-dlp -e
    
  3. Open course2md-desktop.exe from the extracted folder. Keep course2md.exe beside it: this is the bundled engine. If the app was already open, quit and reopen it after installing tools.

Ubuntu / other Linux distributions: x86_64

Download the Linux desktop package (tar.gz), install video tools and graphics libraries using the Linux installation guide, then extract everything. Enter the extracted folder and run ./course2md-desktop. Keep the course2md engine in the same folder.

The prebuilt package is based on Ubuntu 24.04. Intel Mac and Linux ARM64 do not yet have prebuilt GUIs; use the CLI version. GitHub's Source code archives are developer sources, not app installers.

First use

  1. Open course2md and follow the setup guide to choose a notes folder and speech recognition method.
  2. Check Settings → Runtime environment. ffmpeg (including ffprobe) processes video; yt-dlp handles online videos.
  3. Add a video URL or local file and start conversion. Open the finished notes in your library.

Local recognition downloads models on first use. GPU / CPU recognition also needs llama-server; cloud recognition requires your own API configuration. The app provides setup controls; see the first-launch guide for details.

Install the CLI

The CLI and the desktop app share one configuration file and can be installed side by side.

macOS / Linux (prebuilt binary):

curl -fsSL https://raw.githubusercontent.com/mizorewww/course2md/main/install.sh | bash

This installs course2md into ~/bin (override with COURSE2MD_BIN_DIR) and checks dependencies. Also available: Homebrew brew install mizorewww/tap/course2md; Arch Linux yay -S course2md-bin (x86_64, aarch64); or from source with cargo install --path . (Rust stable).

ffmpeg (including ffprobe) is always required, yt-dlp for online links, and llama-server for GPU/CPU recognition — except on the macOS Apple-Silicon package, whose CoreML backend needs no extra runtime. Run course2md doctor to check everything.

Quick start

course2md ./lecture.mp4                        # local file
course2md https://www.youtube.com/watch?v=…    # or a Bilibili link
course2md ./lecture.mp4 -o ./notes             # choose the output root

The first conversion in a terminal offers interactive setup; scripts should pass options explicitly. Each note is created under the output root as platform/title/ID/, containing course.md, course.html and the screenshots.

Common commands

Command Purpose
course2md <URL or file> Convert a video into notes
course2md --login bilibili / --logout bilibili Scan a QR code to log in to Bilibili / remove the saved login
course2md doctor Check tools, speech backends and settings
course2md config init / config show Create a configuration template / show the config path and settings
course2md models list / models prepare Check downloaded models / pre-download a model
course2md llm setup / llm status / llm disable Configure, inspect or turn off AI proofreading
course2md summarize ./notes Add AI summaries to existing notes
course2md run-task Execute a saved task from stdin JSON (used by the GUI engine)

Use <command> --help for each command's options.

Configuration

The configuration file is ~/.config/course2md/config.toml (%APPDATA%\course2md\config.toml on Windows; XDG_CONFIG_HOME is respected). Precedence: command-line arguments > config.toml > built-in defaults. course2md config init writes a template to get started. AI proofreading is optional and off by default: course2md llm setup saves the endpoint, key and model, and course2md remove clears saved AI service settings.

Frequently asked questions

Conversion fails with a missing ffmpeg. Install ffmpeg (it includes ffprobe) and yt-dlp for online links — for example brew install ffmpeg yt-dlp on macOS — then run course2md doctor to confirm.

A Bilibili video fails or comes back in low quality. Run course2md --login bilibili and scan the QR code; --logout bilibili removes the saved login.

How large are the model downloads? The first local recognition downloads the model automatically: about 1–2.3 GB for macOS CoreML models (cached in ~/Library/Caches/qwen3-speech/) and about 2.4 GB for the llama.cpp GGUF (cached in ~/.cache/course2md/models/). Pre-download with course2md models prepare, or inspect the cache with course2md models inspect.

Documentation and help

All documentation (GitHub Wiki) · CLI installation and usage · Upgrade and uninstall · Troubleshooting · Report a problem

For developers: desktop build guide · development discipline · architecture · benchmarks · packaging and releases · Changelog · MIT license

course2md (mizorewww/course2md)

Searching Database…

这是什么?course2md 把 YouTube、Bilibili 或本地的课程、会议视频录像转换成带幻灯片配图的 Markdown 和 HTML 讲义,每当幻灯片变化就截取一张截图,并把文字记录放在截图下方。
这是桌面应用还是命令行工具?两者都是。它既有自带转换引擎的桌面 GUI 应用,也有独立的 CLI;两者共用同一个配置文件,可以并存安装。
我怎么把它跑起来?在 Apple Silicon Mac 上,安装 Homebrew cask 或下载 DMG;在 Windows 上,下载便携版 ZIP 并运行 course2md-desktop.exe;在 Arch Linux 上使用 yay/paru,其他 Linux 则使用 tar.gz 包。CLI 也可以通过预编译二进制脚本、Homebrew、yay 或「cargo install --path .」安装。
我需要单独安装 ffmpeg 和 yt-dlp 吗?需要——ffmpeg(含 ffprobe)始终是必需的,在线视频链接需要 yt-dlp,GPU/CPU 语音识别需要 llama-server;唯一的例外是 macOS Apple Silicon 包,它的 CoreML 后端不需要额外的运行时。
它能在 Intel Mac 或 Linux ARM64 上运行吗?暂时没有预构建的 GUI——在 GUI 构建可用之前,这些平台只能使用 CLI 版本。
语音识别时我的视频/音频数据会去哪里?本地语音识别(CoreML、Intel NPU 或 llama.cpp 后端)会把所有数据留在你的机器上;除非你显式配置云端 API 后端,否则不会有任何数据离开你的设备。
幻灯片风格的笔记格式是怎么工作的?每当视频的画面内容发生变化,course2md 就会截取一张截图,并把文字记录整理成段落放在每张截图下方,最终导出为 course.md 和 course.html(也可用 --formats 额外导出 JSON)。
它能登录 Bilibili 来解决下载失败或画质低的问题吗?可以,「course2md --login bilibili」会打开二维码供扫码登录,「--logout bilibili」则会移除已保存的会话;这就是解决 Bilibili 视频下载失败或画质变低的方法。
它内置了 AI 校对或摘要功能吗?可选的 AI 校对和摘要通过任何 OpenAI 兼容的端点工作,用「course2md llm setup」配置;该功能默认关闭,所以不启用就不需要 API 密钥。
如果转换过程被中断会怎样?转换可以借助语音检查点和 --resume 标志继续进行,CLI 还支持 NDJSON 进度输出和静默模式,方便在脚本中使用。
Creator
mizorewww
Size
40.2 MB
Stars
428
Age
1mo
Commits · 90 Days