1
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Single Video Analysis
2
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Basic usage
4
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```bash
6
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
planopticon analyze -i recording.mp4 -o ./output
7
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
8
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
9
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## What happens
10
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
11
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
The pipeline runs these steps in order:
12
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
13
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1. **Frame extraction** -- Samples frames using change detection for transitions plus periodic capture (every 30s) for slow-evolving content like document scrolling
14
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2. **People frame filtering** -- OpenCV face detection automatically removes webcam/video conference frames, keeping only shared content (slides, documents, screen shares)
15
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3. **Audio extraction** -- Extracts audio track to WAV
16
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4. **Transcription** -- Sends audio to speech-to-text (Whisper or Gemini). If `--speakers` is provided, speaker diarization hints are passed to the provider.
17
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5. **Diagram detection** -- Vision model classifies each frame as diagram/chart/whiteboard/screenshot/none
18
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
6. **Diagram analysis** -- High-confidence diagrams get full extraction (description, text, mermaid, chart data)
19
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
7. **Screengrab fallback** -- Medium-confidence frames are saved as captioned screenshots
20
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
8. **Knowledge graph** -- Extracts entities and relationships from transcript + diagrams, stored in both `knowledge_graph.db` (SQLite, primary) and `knowledge_graph.json` (export)
21
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
9. **Key points** -- LLM extracts main points and topics
22
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
10. **Action items** -- LLM finds tasks, commitments, and follow-ups
23
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
11. **Reports** -- Generates markdown, HTML, and PDF
24
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
12. **Export** -- Renders mermaid diagrams to SVG/PNG, reproduces charts
25
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
26
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
After analysis, you can optionally run planning taxonomy classification on the knowledge graph to categorize entities for use with the planning agent:
27
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
28
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```bash
29
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
planopticon kg classify results/knowledge_graph.db
30
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
31
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
32
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Processing depth
33
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
34
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### `basic`
35
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Transcription only
36
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Key points and action items
37
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- No diagram extraction
38
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
39
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### `standard` (default)
40
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Everything in basic
41
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Diagram extraction (up to 10 frames, evenly sampled)
42
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Knowledge graph
43
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Full report generation
44
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
45
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### `comprehensive`
46
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Everything in standard
47
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- More frames analyzed (up to 20)
48
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
- Deeper analysis
49
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
50
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Command-line options
51
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
52
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### Provider and model selection
53
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
54
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```bash
55
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Use a specific provider
56
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
planopticon analyze -i video.mp4 -o ./output --provider anthropic
57
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
58
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Override vision and chat models separately
59
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
planopticon analyze -i video.mp4 -o ./output --vision-model gpt-4o --chat-model claude-sonnet-4-20250514
60
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
61
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
62
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### Speaker diarization hints
63
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
64
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Use `--speakers` to provide speaker names as comma-separated hints. These are passed to the transcription provider to improve speaker identification in the transcript segments.
65
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
66
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```bash
67
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
planopticon analyze -i video.mp4 -o ./output --speakers "Alice,Bob,Carol"
68
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
69
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
70
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### Custom prompt templates
71
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
72
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Use `--templates-dir` to point to a directory of custom `.txt` prompt template files. These override the built-in prompts used for diagram analysis, key point extraction, action item extraction, and other LLM-driven steps.
73
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
74
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```bash
75
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
planopticon analyze -i video.mp4 -o ./output --templates-dir ./my-prompts
76
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
77
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
78
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Template files should be named to match the built-in template names (e.g., `key_points.txt`, `action_items.txt`). See the `video_processor/utils/prompt_templates.py` module for the full list of template names.
79
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
80
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### Output format
81
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
82
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Use `--output-format json` to emit the complete `VideoManifest` as structured JSON to stdout, in addition to writing all output files to disk. This is useful for scripting, CI/CD integration, or piping results into other tools.
83
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
84
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```bash
85
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Standard output (files + console summary)
86
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
planopticon analyze -i video.mp4 -o ./output
87
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
88
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# JSON manifest to stdout
89
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
planopticon analyze -i video.mp4 -o ./output --output-format json
90
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
91
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
92
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### Frame extraction tuning
93
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
94
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```bash
95
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Adjust sampling rate (frames per second to consider)
96
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
planopticon analyze -i video.mp4 -o ./output --sampling-rate 1.0
97
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
98
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Adjust change detection threshold (lower = more sensitive)
99
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
planopticon analyze -i video.mp4 -o ./output --change-threshold 0.10
100
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
101
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Adjust periodic capture interval
102
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
planopticon analyze -i video.mp4 -o ./output --periodic-capture 60
103
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
104
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Enable GPU acceleration for frame extraction
105
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
planopticon analyze -i video.mp4 -o ./output --use-gpu
106
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
107
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
108
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Output structure
109
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
110
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Every run produces a standardized directory structure:
111
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
112
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
113
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
output/
114
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
├── manifest.json # Run manifest (source of truth)
115
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
├── transcript/
116
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
│ ├── transcript.json # Full transcript with segments + speakers
117
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
│ ├── transcript.txt # Plain text
118
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
│ └── transcript.srt # Subtitles
119
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
├── frames/
120
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
│ ├── frame_0000.jpg
121
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
│ └── ...
122
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
├── diagrams/
123
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
│ ├── diagram_0.jpg # Original frame
124
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
│ ├── diagram_0.mermaid # Mermaid source
125
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
│ ├── diagram_0.svg # Vector rendering
126
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
│ ├── diagram_0.png # Raster rendering
127
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
│ ├── diagram_0.json # Analysis data
128
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
│ └── ...
129
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
├── captures/
130
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
│ ├── capture_0.jpg # Medium-confidence screenshots
131
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
│ ├── capture_0.json
132
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
│ └── ...
133
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
└── results/
134
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
├── analysis.md # Markdown report
135
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
├── analysis.html # HTML report
136
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
├── analysis.pdf # PDF (if planopticon[pdf] installed)
137
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
├── knowledge_graph.db # Knowledge graph (SQLite, primary)
138
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
├── knowledge_graph.json # Knowledge graph (JSON export)
139
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
├── key_points.json # Extracted key points
140
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
└── action_items.json # Action items
141
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
142
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
143
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Output manifest
144
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
145
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Every run produces a `manifest.json` that is the single source of truth:
146
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
147
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```json
148
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
{
149
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"version": "1.0",
150
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"video": {
151
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"title": "Analysis of recording",
152
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"source_path": "/path/to/recording.mp4",
153
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"duration_seconds": 3600.0
154
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
},
155
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"stats": {
156
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"duration_seconds": 45.2,
157
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"frames_extracted": 42,
158
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"people_frames_filtered": 11,
159
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"diagrams_detected": 3,
160
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"screen_captures": 5,
161
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"models_used": {
162
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"vision": "gpt-4o",
163
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"chat": "gpt-4o"
164
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
165
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
},
166
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"transcript_json": "transcript/transcript.json",
167
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"transcript_txt": "transcript/transcript.txt",
168
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"transcript_srt": "transcript/transcript.srt",
169
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"analysis_md": "results/analysis.md",
170
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"knowledge_graph_json": "results/knowledge_graph.json",
171
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"knowledge_graph_db": "results/knowledge_graph.db",
172
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"key_points_json": "results/key_points.json",
173
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"action_items_json": "results/action_items.json",
174
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"key_points": [...],
175
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"action_items": [...],
176
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"diagrams": [...],
177
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"screen_captures": [...]
178
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
179
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
180
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
181
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Checkpoint and resume
182
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
183
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
The pipeline supports checkpoint/resume. If a step's output files already exist on disk, that step is skipped on re-run. This means you can safely re-run an interrupted analysis and it will pick up where it left off:
184
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
185
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```bash
186
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# First run (interrupted at step 6)
187
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
planopticon analyze -i video.mp4 -o ./output
188
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
189
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Second run (resumes from step 6)
190
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
planopticon analyze -i video.mp4 -o ./output
191
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
192
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
193
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Using results after analysis
194
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
195
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### Query the knowledge graph
196
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
197
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
After analysis completes, you can query the knowledge graph directly:
198
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
199
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```bash
200
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Show graph stats
201
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
planopticon query --db results/knowledge_graph.db
202
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
203
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# List entities by type
204
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
planopticon query --db results/knowledge_graph.db "entities --type technology"
205
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
206
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Find neighbors of an entity
207
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
planopticon query --db results/knowledge_graph.db "neighbors Kubernetes"
208
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
209
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Ask natural language questions (requires API key)
210
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
planopticon query --db results/knowledge_graph.db "What technologies were discussed?"
211
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
212
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
213
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### Classify entities for planning
214
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
215
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Run taxonomy classification to categorize entities into planning types (goal, milestone, risk, dependency, etc.):
216
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
217
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```bash
218
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
planopticon kg classify results/knowledge_graph.db
219
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
planopticon kg classify results/knowledge_graph.db --format json
220
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
221
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
222
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### Export to other formats
223
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
224
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```bash
225
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Generate markdown documents
226
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
planopticon export markdown results/knowledge_graph.db -o ./docs
227
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
228
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Export as Obsidian vault
229
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
planopticon export obsidian results/knowledge_graph.db -o ./vault
230
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
231
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Export as PlanOpticonExchange
232
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
planopticon export exchange results/knowledge_graph.db -o exchange.json
233
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
234
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Generate GitHub wiki
235
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
planopticon wiki generate results/knowledge_graph.db -o ./wiki
236
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
237
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
238
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### Use with the planning agent
239
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
240
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
The planning agent can consume the knowledge graph to generate project plans, PRDs, roadmaps, and other planning artifacts:
241
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
242
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```bash
243
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
planopticon agent --db results/knowledge_graph.db
244
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
245
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!