From 2d871a62c283f729d10d12998663fc3b33aecb4e Mon Sep 17 00:00:00 2001 From: Warren Lo Date: Thu, 19 Mar 2026 01:13:32 +0800 Subject: [PATCH] Update README.md with complete documentation --- README.md | 103 ++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 88 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 83d8c29..89f72a5 100644 --- a/README.md +++ b/README.md @@ -6,10 +6,12 @@ - 多格式媒體播放(視頻、音頻、圖片) - Frame-精確的視頻控制 -- Markdown / PDF / HTML 檢視 -- YouTube URL 直接播放 +- ASR 字幕顯示(可開關) +- YOLO 檢測框疊加(可開關) +- Chunk 導航標記(可開關) +- Zoom/Pan 畫面控制 +- 自然語言搜尋 - 與 momentry_core 進度監控 -- Database 查詢功能 ## 安裝依賴 @@ -33,23 +35,57 @@ cargo build --release # 基本運行 cargo run -# 開啟檔案 -cargo run -- --file video.mp4 +# 開啟視頻 +cargo run -- --video "/path/to/video.mov" + +# 開啟視頻 + ASR 字幕 +cargo run -- \ + --video "/Users/accusys/test_video/Old_Time_Movie_Show_-_Charade_1963.HD.mov" \ + --asr "/Users/accusys/momentry_core_0.1/output/39567a0eb16f39fd.asr.json" \ + --yolo "/Users/accusys/test_video/Old_Time_Movie_Show_-_Charade_1963.HD.yolo.json" # 指定窗口大小 -cargo run -- --width 1280 --height 720 --file video.mp4 +cargo run -- --width 1280 --height 720 --video video.mp4 ``` -## 命令 +## 快捷鍵 -| 命令 | 說明 | -|------|------| -| `play` | 播放 | -| `pause` | 暫停 | -| `stop` | 停止 | -| `seek ` | Frame seek | -| `seek ms` | Time seek | -| `+` / `-` | Zoom in/out | +| 快捷鍵 | 功能 | +|--------|------| +| `Space` | 播放/暫停 | +| `←` / `→` | 上一幀/下一幀 | +| `Shift+←/→` | 後退/前進 1 秒 | +| `S` | 開關字幕 | +| `Y` | 開關 YOLO 疊加 | +| `C` | 開關 Chunk 標記 | +| `M` | 靜音 | +| `+` / `-` | 放大/縮小 | +| `0` | 重置縮放 | +| `R` | 重置視圖 | +| `F` | 全屏 | +| `[` / `]` | 上一塊/下一塊 | +| `/` | 開啟搜尋 | +| `Esc` | 關閉面板 | + +## 命令列參數 + +```bash +-v, --video 視頻文件路徑 +-a, --asr ASR JSON 文件路徑 +-y, --yolo YOLO JSON 文件路徑 +-w, --width 窗口寬度 (default: 1280) +-h, --height 窗口高度 (default: 720) +--fullscreen 全屏模式啟動 +--locale UI 語言 (en, zh-TW) +``` + +## 測試數據 + +```bash +VIDEO="/Users/accusys/test_video/Old_Time_Movie_Show_-_Charade_1963.HD.mov" +ASR="/Users/accusys/momentry_core_0.1/output/39567a0eb16f39fd.asr.json" +YOLO="/Users/accusys/test_video/Old_Time_Movie_Show_-_Charade_1963.HD.yolo.json" +``` ## 開發 @@ -70,3 +106,40 @@ cargo test - **桌面**: tao + wry - **視頻**: SDL2 + FFmpeg - **前端**: HTML/CSS/JS (WebView) +- **緩存**: LRU (YOLO frame cache) + +## 服務連接 + +| 服務 | 地址 | +|------|------| +| PostgreSQL | localhost:5432 | +| Redis | localhost:6379 | +| Qdrant | localhost:6333 | +| API Server | 127.0.0.1:3002 | +| Ollama | localhost:11434 | + +## 項目結構 + +``` +momentry_playground/ +├── Cargo.toml +├── src/ +│ ├── main.rs # 入口 +│ ├── lib.rs # 模組導出 +│ ├── config.rs # 命令列解析 +│ ├── player/ # 視頻播放 +│ │ ├── video.rs # 播放控制 +│ │ ├── ffmpeg.rs # FFmpeg 解碼 +│ │ ├── renderer.rs # SDL2 渲染 +│ │ └── state.rs # 播放狀態 +│ ├── overlay/ # 疊加層 +│ │ ├── asr.rs # ASR 載入 +│ │ └── yolo.rs # YOLO 載入 (LRU cache) +│ └── web/ # WebView +│ └── bridge.rs # JS <-> Rust IPC +├── web/ +│ ├── index.html # 主 UI +│ ├── styles.css # 樣式 +│ └── app.js # 前端邏輯 +└── AGENTS.md # 開發文檔 +```