feat: backup architecture docs, source code, and scripts
This commit is contained in:
222
docs_v1.0/IMPLEMENTATION/DEMO_MODES.md
Normal file
222
docs_v1.0/IMPLEMENTATION/DEMO_MODES.md
Normal file
@@ -0,0 +1,222 @@
|
||||
# 🎬 演示功能總結
|
||||
|
||||
## 當前可用的演示模式
|
||||
|
||||
### 1️⃣ 說話人演示模式(已實現)
|
||||
|
||||
```bash
|
||||
# 快速演示(每個說話人 1 個片段)
|
||||
./run_demo.sh --quick
|
||||
|
||||
# 標準演示(每個說話人 3 個片段)
|
||||
./run_demo.sh
|
||||
|
||||
# 視頻演示
|
||||
./run_demo.sh --video
|
||||
```
|
||||
|
||||
**特點**:
|
||||
- ✅ 按 ASRX 數據播放
|
||||
- ✅ 顯示說話人統計
|
||||
- ✅ 顯示演員名和角色名
|
||||
- ✅ 支持音頻/視頻模式
|
||||
|
||||
---
|
||||
|
||||
### 2️⃣ 連續播放模式(簡化版)
|
||||
|
||||
```bash
|
||||
# 音頻模式
|
||||
./play_continuous.sh
|
||||
|
||||
# 視頻模式
|
||||
./play_continuous.sh --video
|
||||
```
|
||||
|
||||
**特點**:
|
||||
- ✅ 從頭到尾連續播放
|
||||
- ✅ 顯示說話人和時間信息
|
||||
- ✅ 支持視頻顯示
|
||||
- ⚠️ 不能暫停(按 Ctrl+C 停止)
|
||||
|
||||
**實現原理**:
|
||||
- 使用 `jq` 解析 ASRX JSON
|
||||
- 循環調用 `ffplay` 播放每個片段
|
||||
- 簡單高效
|
||||
|
||||
---
|
||||
|
||||
## 演示效果
|
||||
|
||||
### 說話人演示
|
||||
|
||||
```
|
||||
🎬 Integrated Player for ASR/Face/ASRX/Pose
|
||||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
Video: "/tmp/charade_audio.wav"
|
||||
✓ Loaded 1118 ASRX segments, 8 speakers
|
||||
|
||||
📊 Speaker Statistics:
|
||||
--------------------------------------------------------------------------------
|
||||
Speaker ID Actor Character Segments Duration
|
||||
--------------------------------------------------------------------------------
|
||||
SPEAKER_0 Cary Grant Peter Joshua 654 1764.4s
|
||||
SPEAKER_1 Audrey Hepburn Regina Lampert 403 1119.4s
|
||||
SPEAKER_2 Walter Matthau Hamilton Bartholomew 49 65.7s
|
||||
SPEAKER_4 James Coburn Tex Panthollow 3 44.1s
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
🎭 Demo: SPEAKER_0 → Cary Grant (Peter Joshua)
|
||||
================================================================================
|
||||
⏱ Time: 374.80s - 375.90s
|
||||
🎤 Speaker: SPEAKER_0 → Cary Grant (Peter Joshua)
|
||||
================================================================================
|
||||
⏳ Playing audio...
|
||||
```
|
||||
|
||||
### 連續播放
|
||||
|
||||
```
|
||||
🎬 连续演示模式
|
||||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
📺 从头到尾播放所有 ASRX 片段
|
||||
⏸️ 按 Ctrl+C 停止
|
||||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
📊 总片段数: 1118
|
||||
|
||||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
[1/1118] 🎤 SPEAKER_5
|
||||
⏱ 1.8s - 2.6s (0.8s)
|
||||
🔊 播放中...
|
||||
|
||||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
[2/1118] 🎤 SPEAKER_4
|
||||
⏱ 14.2s - 21.5s (7.3s)
|
||||
🔊 播放中...
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 使用建議
|
||||
|
||||
### 適用場景
|
||||
|
||||
| 模式 | 適用場景 | 優點 | 缺點 |
|
||||
|------|----------|------|------|
|
||||
| **說話人演示** | 展示、分析 | 按說話人跳躍、完整信息 | 不連續 |
|
||||
| **連續播放** | 完整體驗 | 從頭到尾、不間斷 | 不能暫停 |
|
||||
|
||||
### 推薦用法
|
||||
|
||||
#### 1. 快速了解內容
|
||||
```bash
|
||||
./run_demo.sh --quick
|
||||
```
|
||||
|
||||
#### 2. 說話人分析
|
||||
```bash
|
||||
./run_demo.sh
|
||||
```
|
||||
|
||||
#### 3. 完整觀看
|
||||
```bash
|
||||
./play_continuous.sh --video
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 技術實現
|
||||
|
||||
### 說話人演示
|
||||
- **語言**: Rust
|
||||
- **實現**: `integrated_player` binary
|
||||
- **數據源**: ASRX JSON
|
||||
- **控制**: 預設片段數
|
||||
|
||||
### 連續播放
|
||||
- **語言**: Bash
|
||||
- **實現**: `play_continuous.sh` 腳本
|
||||
- **數據源**: ASRX JSON
|
||||
- **控制**: Ctrl+C 停止
|
||||
- **工具**: jq, ffplay
|
||||
|
||||
---
|
||||
|
||||
## 未來改進
|
||||
|
||||
### 計劃功能
|
||||
|
||||
1. **暫停控制**
|
||||
- 使用 Rust 實現
|
||||
- 支持鍵盤交互
|
||||
- 空格鍵暫停
|
||||
|
||||
2. **進度條**
|
||||
- 顯示當前進度
|
||||
- 剩餘時間估算
|
||||
|
||||
3. **字幕疊加**
|
||||
- 在視頻上顯示 ASR 文字
|
||||
- 支持多語言
|
||||
|
||||
4. **人臉標註**
|
||||
- 在視頻上畫出人臉框
|
||||
- 實時顯示檢測結果
|
||||
|
||||
5. **完整信息展示**
|
||||
- ASR 文字
|
||||
- 人臉檢測
|
||||
- 嘴部動作
|
||||
- OCR 文字
|
||||
- 場景識別
|
||||
|
||||
---
|
||||
|
||||
## 常見問題
|
||||
|
||||
### Q: 為什麼連續模式不能暫停?
|
||||
|
||||
A: 簡化版使用 Bash 腳本實現,沒有鍵盤監聽功能。完整版需要 Rust 實現,目前開發中。
|
||||
|
||||
### Q: 說話人演示為什麼會跳躍?
|
||||
|
||||
A: 說話人演示按說話人分組播放,會跳過其他說話人的片段。連續模式才會完整播放。
|
||||
|
||||
### Q: 如何查看所有片段?
|
||||
|
||||
A: 使用連續播放模式:
|
||||
```bash
|
||||
./play_continuous.sh
|
||||
```
|
||||
|
||||
### Q: 播放速度如何?
|
||||
|
||||
A: 兩種模式都按實際時長播放。說話人演示有 2 秒暫停。
|
||||
|
||||
---
|
||||
|
||||
## 快速命令參考
|
||||
|
||||
```bash
|
||||
# 說話人演示(音頻)
|
||||
./run_demo.sh
|
||||
|
||||
# 說話人演示(視頻)
|
||||
./run_demo.sh --video
|
||||
|
||||
# 快速演示
|
||||
./run_demo.sh --quick
|
||||
|
||||
# 連續播放(音頻)
|
||||
./play_continuous.sh
|
||||
|
||||
# 連續播放(視頻)
|
||||
./play_continuous.sh --video
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**更新日期**: 2026-04-02
|
||||
**版本**: 2.1.0
|
||||
**作者**: Momentry Team
|
||||
Reference in New Issue
Block a user