PlanOpticon

1
2
<!doctype html>
3
<html lang="en" class="no-js">
4
<head>
5
6
<meta charset="utf-8">
7
<meta name="viewport" content="width=device-width,initial-scale=1">
8
9
<meta name="description" content="AI-powered video analysis and knowledge extraction">
10
11
12
<meta name="author" content="CONFLICT LLC">
13
14
15
<link rel="canonical" href="https://planopticon.dev/guide/output-formats/">
16
17
18
<link rel="prev" href="../export/">
19
20
21
<link rel="next" href="../../use-cases/">
22
23
24
25
26
27
<link rel="icon" href="../../assets/images/favicon.png">
28
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.7.4">
29
30
31
32
<title>Output Formats - PlanOpticon</title>
33
34
35
36
<link rel="stylesheet" href="../../assets/stylesheets/main.484c7ddc.min.css">
37
38
39
<link rel="stylesheet" href="../../assets/stylesheets/palette.ab4e12ef.min.css">
40
41
42
43
44
45
46
47
48
49
50
51
52
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
53
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
54
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
55
56
57
58
<link rel="stylesheet" href="../../assets/_mkdocstrings.css">
59
60
<link rel="stylesheet" href="../../assets/css/custom.css">
61
62
<script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
63
64
65
66
67
68
</head>
69
70
71
72
73
74
75
76
77
78
<body dir="ltr" data-md-color-scheme="slate" data-md-color-primary="custom" data-md-color-accent="custom">
79
80
81
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
82
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
83
<label class="md-overlay" for="__drawer"></label>
84
<div data-md-component="skip">
85
86
87
<a href="#output-formats" class="md-skip">
88
Skip to content
89
</a>
90
91
</div>
92
<div data-md-component="announce">
93
94
</div>
95
96
97
98
99
<header class="md-header" data-md-component="header">
100
<nav class="md-header__inner md-grid" aria-label="Header">
101
<a href="../.." title="PlanOpticon" class="md-header__button md-logo" aria-label="PlanOpticon" data-md-component="logo">
102
103
<img src="../../assets/images/conflict-logo.svg" alt="logo">
104
105
</a>
106
<label class="md-header__button md-icon" for="__drawer">
107
108
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
109
</label>
110
<div class="md-header__title" data-md-component="header-title">
111
<div class="md-header__ellipsis">
112
<div class="md-header__topic">
113
<span class="md-ellipsis">
114
PlanOpticon
115
</span>
116
</div>
117
<div class="md-header__topic" data-md-component="header-topic">
118
<span class="md-ellipsis">
119
120
Output Formats
121
122
</span>
123
</div>
124
</div>
125
</div>
126
127
128
<form class="md-header__option" data-md-component="palette">
129
130
131
132
133
<input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="custom" data-md-color-accent="custom" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_0">
134
135
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_1" hidden>
136
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg>
137
</label>
138
139
140
141
142
143
<input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="custom" data-md-color-accent="custom" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_1">
144
145
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_0" hidden>
146
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg>
147
</label>
148
149
150
</form>
151
152
153
154
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
155
156
157
158
159
160
<label class="md-header__button md-icon" for="__search">
161
162
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
163
</label>
164
<div class="md-search" data-md-component="search" role="dialog">
165
<label class="md-search__overlay" for="__search"></label>
166
<div class="md-search__inner" role="search">
167
<form class="md-search__form" name="search">
168
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
169
<label class="md-search__icon md-icon" for="__search">
170
171
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
172
173
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
174
</label>
175
<nav class="md-search__options" aria-label="Search">
176
177
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
178
179
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
180
</button>
181
</nav>
182
183
<div class="md-search__suggest" data-md-component="search-suggest"></div>
184
185
</form>
186
<div class="md-search__output">
187
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
188
<div class="md-search-result" data-md-component="search-result">
189
<div class="md-search-result__meta">
190
Initializing search
191
</div>
192
<ol class="md-search-result__list" role="presentation"></ol>
193
</div>
194
</div>
195
</div>
196
</div>
197
</div>
198
199
200
201
<div class="md-header__source">
202
<a href="https://github.com/ConflictHQ/PlanOpticon" title="Go to repository" class="md-source" data-md-component="source">
203
<div class="md-source__icon md-icon">
204
205
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
206
</div>
207
<div class="md-source__repository">
208
ConflictHQ/PlanOpticon
209
</div>
210
</a>
211
</div>
212
213
</nav>
214
215
</header>
216
217
<div class="md-container" data-md-component="container">
218
219
220
221
222
223
<nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
224
<div class="md-grid">
225
<ul class="md-tabs__list">
226
227
228
229
230
231
232
<li class="md-tabs__item">
233
<a href="../.." class="md-tabs__link">
234
235
236
237
238
239
Home
240
241
</a>
242
</li>
243
244
245
246
247
248
249
250
251
252
253
<li class="md-tabs__item">
254
<a href="../../getting-started/installation/" class="md-tabs__link">
255
256
257
258
Getting Started
259
260
</a>
261
</li>
262
263
264
265
266
267
268
269
270
271
272
273
274
275
<li class="md-tabs__item md-tabs__item--active">
276
<a href="../single-video/" class="md-tabs__link">
277
278
279
280
User Guide
281
282
</a>
283
</li>
284
285
286
287
288
289
290
291
292
293
<li class="md-tabs__item">
294
<a href="../../use-cases/" class="md-tabs__link">
295
296
297
298
299
300
Use Cases
301
302
</a>
303
</li>
304
305
306
307
308
309
310
311
312
<li class="md-tabs__item">
313
<a href="../../cli-reference/" class="md-tabs__link">
314
315
316
317
318
319
CLI Reference
320
321
</a>
322
</li>
323
324
325
326
327
328
329
330
331
332
333
<li class="md-tabs__item">
334
<a href="../../architecture/overview/" class="md-tabs__link">
335
336
337
338
Architecture
339
340
</a>
341
</li>
342
343
344
345
346
347
348
349
350
351
352
353
<li class="md-tabs__item">
354
<a href="../../api/models/" class="md-tabs__link">
355
356
357
358
API Reference
359
360
</a>
361
</li>
362
363
364
365
366
367
368
369
370
371
<li class="md-tabs__item">
372
<a href="../../faq/" class="md-tabs__link">
373
374
375
376
377
378
FAQ & Troubleshooting
379
380
</a>
381
</li>
382
383
384
385
386
387
388
389
390
<li class="md-tabs__item">
391
<a href="../../contributing/" class="md-tabs__link">
392
393
394
395
396
397
Contributing
398
399
</a>
400
</li>
401
402
403
404
</ul>
405
</div>
406
</nav>
407
408
409
410
<main class="md-main" data-md-component="main">
411
<div class="md-main__inner md-grid">
412
413
414
415
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
416
<div class="md-sidebar__scrollwrap">
417
<div class="md-sidebar__inner">
418
419
420
421
422
423
424
<nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0">
425
<label class="md-nav__title" for="__drawer">
426
<a href="../.." title="PlanOpticon" class="md-nav__button md-logo" aria-label="PlanOpticon" data-md-component="logo">
427
428
<img src="../../assets/images/conflict-logo.svg" alt="logo">
429
430
</a>
431
PlanOpticon
432
</label>
433
434
<div class="md-nav__source">
435
<a href="https://github.com/ConflictHQ/PlanOpticon" title="Go to repository" class="md-source" data-md-component="source">
436
<div class="md-source__icon md-icon">
437
438
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
439
</div>
440
<div class="md-source__repository">
441
ConflictHQ/PlanOpticon
442
</div>
443
</a>
444
</div>
445
446
<ul class="md-nav__list" data-md-scrollfix>
447
448
449
450
451
452
453
454
<li class="md-nav__item">
455
<a href="../.." class="md-nav__link">
456
457
458
459
<span class="md-ellipsis">
460
461
462
Home
463
464
465
466
</span>
467
468
469
470
</a>
471
</li>
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
<li class="md-nav__item md-nav__item--nested">
492
493
494
495
496
497
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_2" >
498
499
500
<label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0">
501
502
503
504
<span class="md-ellipsis">
505
506
507
Getting Started
508
509
510
511
</span>
512
513
514
515
<span class="md-nav__icon md-icon"></span>
516
</label>
517
518
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
519
<label class="md-nav__title" for="__nav_2">
520
<span class="md-nav__icon md-icon"></span>
521
522
523
Getting Started
524
525
526
</label>
527
<ul class="md-nav__list" data-md-scrollfix>
528
529
530
531
532
533
534
535
<li class="md-nav__item">
536
<a href="../../getting-started/installation/" class="md-nav__link">
537
538
539
540
<span class="md-ellipsis">
541
542
543
Installation
544
545
546
547
</span>
548
549
550
551
</a>
552
</li>
553
554
555
556
557
558
559
560
561
562
563
<li class="md-nav__item">
564
<a href="../../getting-started/quickstart/" class="md-nav__link">
565
566
567
568
<span class="md-ellipsis">
569
570
571
Quick Start
572
573
574
575
</span>
576
577
578
579
</a>
580
</li>
581
582
583
584
585
586
587
588
589
590
591
<li class="md-nav__item">
592
<a href="../../getting-started/configuration/" class="md-nav__link">
593
594
595
596
<span class="md-ellipsis">
597
598
599
Configuration
600
601
602
603
</span>
604
605
606
607
</a>
608
</li>
609
610
611
612
613
</ul>
614
</nav>
615
616
</li>
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
642
643
644
645
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" checked>
646
647
648
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="">
649
650
651
652
<span class="md-ellipsis">
653
654
655
User Guide
656
657
658
659
</span>
660
661
662
663
<span class="md-nav__icon md-icon"></span>
664
</label>
665
666
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="true">
667
<label class="md-nav__title" for="__nav_3">
668
<span class="md-nav__icon md-icon"></span>
669
670
671
User Guide
672
673
674
</label>
675
<ul class="md-nav__list" data-md-scrollfix>
676
677
678
679
680
681
682
683
<li class="md-nav__item">
684
<a href="../single-video/" class="md-nav__link">
685
686
687
688
<span class="md-ellipsis">
689
690
691
Single Video Analysis
692
693
694
695
</span>
696
697
698
699
</a>
700
</li>
701
702
703
704
705
706
707
708
709
710
711
<li class="md-nav__item">
712
<a href="../batch/" class="md-nav__link">
713
714
715
716
<span class="md-ellipsis">
717
718
719
Batch Processing
720
721
722
723
</span>
724
725
726
727
</a>
728
</li>
729
730
731
732
733
734
735
736
737
738
739
<li class="md-nav__item">
740
<a href="../document-ingestion/" class="md-nav__link">
741
742
743
744
<span class="md-ellipsis">
745
746
747
Document Ingestion
748
749
750
751
</span>
752
753
754
755
</a>
756
</li>
757
758
759
760
761
762
763
764
765
766
767
<li class="md-nav__item">
768
<a href="../cloud-sources/" class="md-nav__link">
769
770
771
772
<span class="md-ellipsis">
773
774
775
Cloud Sources
776
777
778
779
</span>
780
781
782
783
</a>
784
</li>
785
786
787
788
789
790
791
792
793
794
795
<li class="md-nav__item">
796
<a href="../knowledge-graphs/" class="md-nav__link">
797
798
799
800
<span class="md-ellipsis">
801
802
803
Knowledge Graphs
804
805
806
807
</span>
808
809
810
811
</a>
812
</li>
813
814
815
816
817
818
819
820
821
822
823
<li class="md-nav__item">
824
<a href="../companion/" class="md-nav__link">
825
826
827
828
<span class="md-ellipsis">
829
830
831
Interactive Companion
832
833
834
835
</span>
836
837
838
839
</a>
840
</li>
841
842
843
844
845
846
847
848
849
850
851
<li class="md-nav__item">
852
<a href="../planning-agent/" class="md-nav__link">
853
854
855
856
<span class="md-ellipsis">
857
858
859
Planning Agent
860
861
862
863
</span>
864
865
866
867
</a>
868
</li>
869
870
871
872
873
874
875
876
877
878
879
<li class="md-nav__item">
880
<a href="../authentication/" class="md-nav__link">
881
882
883
884
<span class="md-ellipsis">
885
886
887
Authentication
888
889
890
891
</span>
892
893
894
895
</a>
896
</li>
897
898
899
900
901
902
903
904
905
906
907
<li class="md-nav__item">
908
<a href="../export/" class="md-nav__link">
909
910
911
912
<span class="md-ellipsis">
913
914
915
Export & Documents
916
917
918
919
</span>
920
921
922
923
</a>
924
</li>
925
926
927
928
929
930
931
932
933
934
935
936
937
<li class="md-nav__item md-nav__item--active">
938
939
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
940
941
942
943
944
945
<label class="md-nav__link md-nav__link--active" for="__toc">
946
947
948
949
<span class="md-ellipsis">
950
951
952
Output Formats
953
954
955
956
</span>
957
958
959
960
<span class="md-nav__icon md-icon"></span>
961
</label>
962
963
<a href="./" class="md-nav__link md-nav__link--active">
964
965
966
967
<span class="md-ellipsis">
968
969
970
Output Formats
971
972
973
974
</span>
975
976
977
978
</a>
979
980
981
982
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
983
984
985
986
987
988
989
<label class="md-nav__title" for="__toc">
990
<span class="md-nav__icon md-icon"></span>
991
Table of contents
992
</label>
993
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
994
995
<li class="md-nav__item">
996
<a href="#transcripts" class="md-nav__link">
997
<span class="md-ellipsis">
998
999
Transcripts
1000
1001
</span>
1002
</a>
1003
1004
<nav class="md-nav" aria-label="Transcripts">
1005
<ul class="md-nav__list">
1006
1007
<li class="md-nav__item">
1008
<a href="#transcript-json-structure" class="md-nav__link">
1009
<span class="md-ellipsis">
1010
1011
Transcript JSON structure
1012
1013
</span>
1014
</a>
1015
1016
</li>
1017
1018
</ul>
1019
</nav>
1020
1021
</li>
1022
1023
<li class="md-nav__item">
1024
<a href="#reports" class="md-nav__link">
1025
<span class="md-ellipsis">
1026
1027
Reports
1028
1029
</span>
1030
</a>
1031
1032
</li>
1033
1034
<li class="md-nav__item">
1035
<a href="#diagrams" class="md-nav__link">
1036
<span class="md-ellipsis">
1037
1038
Diagrams
1039
1040
</span>
1041
</a>
1042
1043
</li>
1044
1045
<li class="md-nav__item">
1046
<a href="#structured-data" class="md-nav__link">
1047
<span class="md-ellipsis">
1048
1049
Structured Data
1050
1051
</span>
1052
</a>
1053
1054
<nav class="md-nav" aria-label="Structured Data">
1055
<ul class="md-nav__list">
1056
1057
<li class="md-nav__item">
1058
<a href="#knowledge-graph-json-structure" class="md-nav__link">
1059
<span class="md-ellipsis">
1060
1061
Knowledge graph JSON structure
1062
1063
</span>
1064
</a>
1065
1066
</li>
1067
1068
</ul>
1069
</nav>
1070
1071
</li>
1072
1073
<li class="md-nav__item">
1074
<a href="#charts" class="md-nav__link">
1075
<span class="md-ellipsis">
1076
1077
Charts
1078
1079
</span>
1080
</a>
1081
1082
</li>
1083
1084
<li class="md-nav__item">
1085
<a href="#knowledge-graph-exports" class="md-nav__link">
1086
<span class="md-ellipsis">
1087
1088
Knowledge Graph Exports
1089
1090
</span>
1091
</a>
1092
1093
<nav class="md-nav" aria-label="Knowledge Graph Exports">
1094
<ul class="md-nav__list">
1095
1096
<li class="md-nav__item">
1097
<a href="#converting-between-formats" class="md-nav__link">
1098
<span class="md-ellipsis">
1099
1100
Converting between formats
1101
1102
</span>
1103
</a>
1104
1105
</li>
1106
1107
</ul>
1108
</nav>
1109
1110
</li>
1111
1112
<li class="md-nav__item">
1113
<a href="#planopticonexchange-format" class="md-nav__link">
1114
<span class="md-ellipsis">
1115
1116
PlanOpticonExchange Format
1117
1118
</span>
1119
</a>
1120
1121
<nav class="md-nav" aria-label="PlanOpticonExchange Format">
1122
<ul class="md-nav__list">
1123
1124
<li class="md-nav__item">
1125
<a href="#exchange-json-structure" class="md-nav__link">
1126
<span class="md-ellipsis">
1127
1128
Exchange JSON structure
1129
1130
</span>
1131
</a>
1132
1133
</li>
1134
1135
</ul>
1136
</nav>
1137
1138
</li>
1139
1140
<li class="md-nav__item">
1141
<a href="#document-exports" class="md-nav__link">
1142
<span class="md-ellipsis">
1143
1144
Document Exports
1145
1146
</span>
1147
</a>
1148
1149
<nav class="md-nav" aria-label="Document Exports">
1150
<ul class="md-nav__list">
1151
1152
<li class="md-nav__item">
1153
<a href="#markdown-document-types" class="md-nav__link">
1154
<span class="md-ellipsis">
1155
1156
Markdown document types
1157
1158
</span>
1159
</a>
1160
1161
</li>
1162
1163
<li class="md-nav__item">
1164
<a href="#obsidian-vault-export" class="md-nav__link">
1165
<span class="md-ellipsis">
1166
1167
Obsidian vault export
1168
1169
</span>
1170
</a>
1171
1172
</li>
1173
1174
<li class="md-nav__item">
1175
<a href="#notion-markdown-export" class="md-nav__link">
1176
<span class="md-ellipsis">
1177
1178
Notion markdown export
1179
1180
</span>
1181
</a>
1182
1183
</li>
1184
1185
<li class="md-nav__item">
1186
<a href="#github-wiki-export" class="md-nav__link">
1187
<span class="md-ellipsis">
1188
1189
GitHub wiki export
1190
1191
</span>
1192
</a>
1193
1194
</li>
1195
1196
</ul>
1197
</nav>
1198
1199
</li>
1200
1201
<li class="md-nav__item">
1202
<a href="#batch-outputs" class="md-nav__link">
1203
<span class="md-ellipsis">
1204
1205
Batch Outputs
1206
1207
</span>
1208
</a>
1209
1210
</li>
1211
1212
<li class="md-nav__item">
1213
<a href="#self-contained-html-viewer" class="md-nav__link">
1214
<span class="md-ellipsis">
1215
1216
Self-Contained HTML Viewer
1217
1218
</span>
1219
</a>
1220
1221
</li>
1222
1223
<li class="md-nav__item">
1224
<a href="#output-directory-structure" class="md-nav__link">
1225
<span class="md-ellipsis">
1226
1227
Output Directory Structure
1228
1229
</span>
1230
</a>
1231
1232
</li>
1233
1234
<li class="md-nav__item">
1235
<a href="#controlling-output-format" class="md-nav__link">
1236
<span class="md-ellipsis">
1237
1238
Controlling Output Format
1239
1240
</span>
1241
</a>
1242
1243
</li>
1244
1245
</ul>
1246
1247
</nav>
1248
1249
</li>
1250
1251
1252
1253
1254
</ul>
1255
</nav>
1256
1257
</li>
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
<li class="md-nav__item">
1268
<a href="../../use-cases/" class="md-nav__link">
1269
1270
1271
1272
<span class="md-ellipsis">
1273
1274
1275
Use Cases
1276
1277
1278
1279
</span>
1280
1281
1282
1283
</a>
1284
</li>
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
<li class="md-nav__item">
1295
<a href="../../cli-reference/" class="md-nav__link">
1296
1297
1298
1299
<span class="md-ellipsis">
1300
1301
1302
CLI Reference
1303
1304
1305
1306
</span>
1307
1308
1309
1310
</a>
1311
</li>
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
<li class="md-nav__item md-nav__item--nested">
1332
1333
1334
1335
1336
1337
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_6" >
1338
1339
1340
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
1341
1342
1343
1344
<span class="md-ellipsis">
1345
1346
1347
Architecture
1348
1349
1350
1351
</span>
1352
1353
1354
1355
<span class="md-nav__icon md-icon"></span>
1356
</label>
1357
1358
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
1359
<label class="md-nav__title" for="__nav_6">
1360
<span class="md-nav__icon md-icon"></span>
1361
1362
1363
Architecture
1364
1365
1366
</label>
1367
<ul class="md-nav__list" data-md-scrollfix>
1368
1369
1370
1371
1372
1373
1374
1375
<li class="md-nav__item">
1376
<a href="../../architecture/overview/" class="md-nav__link">
1377
1378
1379
1380
<span class="md-ellipsis">
1381
1382
1383
Overview
1384
1385
1386
1387
</span>
1388
1389
1390
1391
</a>
1392
</li>
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
<li class="md-nav__item">
1404
<a href="../../architecture/providers/" class="md-nav__link">
1405
1406
1407
1408
<span class="md-ellipsis">
1409
1410
1411
Provider System
1412
1413
1414
1415
</span>
1416
1417
1418
1419
</a>
1420
</li>
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
<li class="md-nav__item">
1432
<a href="../../architecture/pipeline/" class="md-nav__link">
1433
1434
1435
1436
<span class="md-ellipsis">
1437
1438
1439
Processing Pipeline
1440
1441
1442
1443
</span>
1444
1445
1446
1447
</a>
1448
</li>
1449
1450
1451
1452
1453
</ul>
1454
</nav>
1455
1456
</li>
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
<li class="md-nav__item md-nav__item--nested">
1477
1478
1479
1480
1481
1482
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_7" >
1483
1484
1485
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
1486
1487
1488
1489
<span class="md-ellipsis">
1490
1491
1492
API Reference
1493
1494
1495
1496
</span>
1497
1498
1499
1500
<span class="md-nav__icon md-icon"></span>
1501
</label>
1502
1503
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
1504
<label class="md-nav__title" for="__nav_7">
1505
<span class="md-nav__icon md-icon"></span>
1506
1507
1508
API Reference
1509
1510
1511
</label>
1512
<ul class="md-nav__list" data-md-scrollfix>
1513
1514
1515
1516
1517
1518
1519
1520
<li class="md-nav__item">
1521
<a href="../../api/models/" class="md-nav__link">
1522
1523
1524
1525
<span class="md-ellipsis">
1526
1527
1528
Models
1529
1530
1531
1532
</span>
1533
1534
1535
1536
</a>
1537
</li>
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
<li class="md-nav__item">
1549
<a href="../../api/providers/" class="md-nav__link">
1550
1551
1552
1553
<span class="md-ellipsis">
1554
1555
1556
Providers
1557
1558
1559
1560
</span>
1561
1562
1563
1564
</a>
1565
</li>
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
<li class="md-nav__item">
1577
<a href="../../api/analyzers/" class="md-nav__link">
1578
1579
1580
1581
<span class="md-ellipsis">
1582
1583
1584
Analyzers
1585
1586
1587
1588
</span>
1589
1590
1591
1592
</a>
1593
</li>
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
<li class="md-nav__item">
1605
<a href="../../api/agent/" class="md-nav__link">
1606
1607
1608
1609
<span class="md-ellipsis">
1610
1611
1612
Agent & Skills
1613
1614
1615
1616
</span>
1617
1618
1619
1620
</a>
1621
</li>
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
<li class="md-nav__item">
1633
<a href="../../api/sources/" class="md-nav__link">
1634
1635
1636
1637
<span class="md-ellipsis">
1638
1639
1640
Sources
1641
1642
1643
1644
</span>
1645
1646
1647
1648
</a>
1649
</li>
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
<li class="md-nav__item">
1661
<a href="../../api/auth/" class="md-nav__link">
1662
1663
1664
1665
<span class="md-ellipsis">
1666
1667
1668
Authentication
1669
1670
1671
1672
</span>
1673
1674
1675
1676
</a>
1677
</li>
1678
1679
1680
1681
1682
</ul>
1683
</nav>
1684
1685
</li>
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
<li class="md-nav__item">
1696
<a href="../../faq/" class="md-nav__link">
1697
1698
1699
1700
<span class="md-ellipsis">
1701
1702
1703
FAQ & Troubleshooting
1704
1705
1706
1707
</span>
1708
1709
1710
1711
</a>
1712
</li>
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
<li class="md-nav__item">
1723
<a href="../../contributing/" class="md-nav__link">
1724
1725
1726
1727
<span class="md-ellipsis">
1728
1729
1730
Contributing
1731
1732
1733
1734
</span>
1735
1736
1737
1738
</a>
1739
</li>
1740
1741
1742
1743
</ul>
1744
</nav>
1745
</div>
1746
</div>
1747
</div>
1748
1749
1750
1751
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
1752
<div class="md-sidebar__scrollwrap">
1753
<div class="md-sidebar__inner">
1754
1755
1756
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
1757
1758
1759
1760
1761
1762
1763
<label class="md-nav__title" for="__toc">
1764
<span class="md-nav__icon md-icon"></span>
1765
Table of contents
1766
</label>
1767
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
1768
1769
<li class="md-nav__item">
1770
<a href="#transcripts" class="md-nav__link">
1771
<span class="md-ellipsis">
1772
1773
Transcripts
1774
1775
</span>
1776
</a>
1777
1778
<nav class="md-nav" aria-label="Transcripts">
1779
<ul class="md-nav__list">
1780
1781
<li class="md-nav__item">
1782
<a href="#transcript-json-structure" class="md-nav__link">
1783
<span class="md-ellipsis">
1784
1785
Transcript JSON structure
1786
1787
</span>
1788
</a>
1789
1790
</li>
1791
1792
</ul>
1793
</nav>
1794
1795
</li>
1796
1797
<li class="md-nav__item">
1798
<a href="#reports" class="md-nav__link">
1799
<span class="md-ellipsis">
1800
1801
Reports
1802
1803
</span>
1804
</a>
1805
1806
</li>
1807
1808
<li class="md-nav__item">
1809
<a href="#diagrams" class="md-nav__link">
1810
<span class="md-ellipsis">
1811
1812
Diagrams
1813
1814
</span>
1815
</a>
1816
1817
</li>
1818
1819
<li class="md-nav__item">
1820
<a href="#structured-data" class="md-nav__link">
1821
<span class="md-ellipsis">
1822
1823
Structured Data
1824
1825
</span>
1826
</a>
1827
1828
<nav class="md-nav" aria-label="Structured Data">
1829
<ul class="md-nav__list">
1830
1831
<li class="md-nav__item">
1832
<a href="#knowledge-graph-json-structure" class="md-nav__link">
1833
<span class="md-ellipsis">
1834
1835
Knowledge graph JSON structure
1836
1837
</span>
1838
</a>
1839
1840
</li>
1841
1842
</ul>
1843
</nav>
1844
1845
</li>
1846
1847
<li class="md-nav__item">
1848
<a href="#charts" class="md-nav__link">
1849
<span class="md-ellipsis">
1850
1851
Charts
1852
1853
</span>
1854
</a>
1855
1856
</li>
1857
1858
<li class="md-nav__item">
1859
<a href="#knowledge-graph-exports" class="md-nav__link">
1860
<span class="md-ellipsis">
1861
1862
Knowledge Graph Exports
1863
1864
</span>
1865
</a>
1866
1867
<nav class="md-nav" aria-label="Knowledge Graph Exports">
1868
<ul class="md-nav__list">
1869
1870
<li class="md-nav__item">
1871
<a href="#converting-between-formats" class="md-nav__link">
1872
<span class="md-ellipsis">
1873
1874
Converting between formats
1875
1876
</span>
1877
</a>
1878
1879
</li>
1880
1881
</ul>
1882
</nav>
1883
1884
</li>
1885
1886
<li class="md-nav__item">
1887
<a href="#planopticonexchange-format" class="md-nav__link">
1888
<span class="md-ellipsis">
1889
1890
PlanOpticonExchange Format
1891
1892
</span>
1893
</a>
1894
1895
<nav class="md-nav" aria-label="PlanOpticonExchange Format">
1896
<ul class="md-nav__list">
1897
1898
<li class="md-nav__item">
1899
<a href="#exchange-json-structure" class="md-nav__link">
1900
<span class="md-ellipsis">
1901
1902
Exchange JSON structure
1903
1904
</span>
1905
</a>
1906
1907
</li>
1908
1909
</ul>
1910
</nav>
1911
1912
</li>
1913
1914
<li class="md-nav__item">
1915
<a href="#document-exports" class="md-nav__link">
1916
<span class="md-ellipsis">
1917
1918
Document Exports
1919
1920
</span>
1921
</a>
1922
1923
<nav class="md-nav" aria-label="Document Exports">
1924
<ul class="md-nav__list">
1925
1926
<li class="md-nav__item">
1927
<a href="#markdown-document-types" class="md-nav__link">
1928
<span class="md-ellipsis">
1929
1930
Markdown document types
1931
1932
</span>
1933
</a>
1934
1935
</li>
1936
1937
<li class="md-nav__item">
1938
<a href="#obsidian-vault-export" class="md-nav__link">
1939
<span class="md-ellipsis">
1940
1941
Obsidian vault export
1942
1943
</span>
1944
</a>
1945
1946
</li>
1947
1948
<li class="md-nav__item">
1949
<a href="#notion-markdown-export" class="md-nav__link">
1950
<span class="md-ellipsis">
1951
1952
Notion markdown export
1953
1954
</span>
1955
</a>
1956
1957
</li>
1958
1959
<li class="md-nav__item">
1960
<a href="#github-wiki-export" class="md-nav__link">
1961
<span class="md-ellipsis">
1962
1963
GitHub wiki export
1964
1965
</span>
1966
</a>
1967
1968
</li>
1969
1970
</ul>
1971
</nav>
1972
1973
</li>
1974
1975
<li class="md-nav__item">
1976
<a href="#batch-outputs" class="md-nav__link">
1977
<span class="md-ellipsis">
1978
1979
Batch Outputs
1980
1981
</span>
1982
</a>
1983
1984
</li>
1985
1986
<li class="md-nav__item">
1987
<a href="#self-contained-html-viewer" class="md-nav__link">
1988
<span class="md-ellipsis">
1989
1990
Self-Contained HTML Viewer
1991
1992
</span>
1993
</a>
1994
1995
</li>
1996
1997
<li class="md-nav__item">
1998
<a href="#output-directory-structure" class="md-nav__link">
1999
<span class="md-ellipsis">
2000
2001
Output Directory Structure
2002
2003
</span>
2004
</a>
2005
2006
</li>
2007
2008
<li class="md-nav__item">
2009
<a href="#controlling-output-format" class="md-nav__link">
2010
<span class="md-ellipsis">
2011
2012
Controlling Output Format
2013
2014
</span>
2015
</a>
2016
2017
</li>
2018
2019
</ul>
2020
2021
</nav>
2022
</div>
2023
</div>
2024
</div>
2025
2026
2027
2028
<div class="md-content" data-md-component="content">
2029
2030
<article class="md-content__inner md-typeset">
2031
2032
2033
2034
2035
2036
2037
2038
2039
<h1 id="output-formats">Output Formats<a class="headerlink" href="#output-formats" title="Permanent link">&para;</a></h1>
2040
<p>PlanOpticon produces a wide range of output formats from video analysis, document ingestion, batch processing, knowledge graph export, and agent skills. This page is the comprehensive reference for every format the tool can emit.</p>
2041
<hr />
2042
<h2 id="transcripts">Transcripts<a class="headerlink" href="#transcripts" title="Permanent link">&para;</a></h2>
2043
<p>Video analysis always produces transcripts in three formats, stored in the <code>transcript/</code> subdirectory of the output folder.</p>
2044
<table>
2045
<thead>
2046
<tr>
2047
<th>Format</th>
2048
<th>File</th>
2049
<th>Description</th>
2050
</tr>
2051
</thead>
2052
<tbody>
2053
<tr>
2054
<td>JSON</td>
2055
<td><code>transcript/transcript.json</code></td>
2056
<td>Full transcript with segments, timestamps, speaker labels, and confidence scores. Each segment includes <code>start</code>, <code>end</code>, <code>text</code>, and optional <code>speaker</code> fields.</td>
2057
</tr>
2058
<tr>
2059
<td>Text</td>
2060
<td><code>transcript/transcript.txt</code></td>
2061
<td>Plain text transcript with no metadata. Suitable for feeding into other tools or reading directly.</td>
2062
</tr>
2063
<tr>
2064
<td>SRT</td>
2065
<td><code>transcript/transcript.srt</code></td>
2066
<td>SubRip subtitle format with sequential numbering and <code>HH:MM:SS,mmm</code> timestamps. Can be loaded into video players or subtitle editors.</td>
2067
</tr>
2068
</tbody>
2069
</table>
2070
<h3 id="transcript-json-structure">Transcript JSON structure<a class="headerlink" href="#transcript-json-structure" title="Permanent link">&para;</a></h3>
2071
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="p">{</span>
2072
<a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="w"> </span><span class="nt">&quot;segments&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
2073
<a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a><span class="w"> </span><span class="p">{</span>
2074
<a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a><span class="w"> </span><span class="nt">&quot;start&quot;</span><span class="p">:</span><span class="w"> </span><span class="mf">0.0</span><span class="p">,</span>
2075
<a id="__codelineno-0-5" name="__codelineno-0-5" href="#__codelineno-0-5"></a><span class="w"> </span><span class="nt">&quot;end&quot;</span><span class="p">:</span><span class="w"> </span><span class="mf">4.5</span><span class="p">,</span>
2076
<a id="__codelineno-0-6" name="__codelineno-0-6" href="#__codelineno-0-6"></a><span class="w"> </span><span class="nt">&quot;text&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Welcome to the sprint review.&quot;</span><span class="p">,</span>
2077
<a id="__codelineno-0-7" name="__codelineno-0-7" href="#__codelineno-0-7"></a><span class="w"> </span><span class="nt">&quot;speaker&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Alice&quot;</span>
2078
<a id="__codelineno-0-8" name="__codelineno-0-8" href="#__codelineno-0-8"></a><span class="w"> </span><span class="p">}</span>
2079
<a id="__codelineno-0-9" name="__codelineno-0-9" href="#__codelineno-0-9"></a><span class="w"> </span><span class="p">],</span>
2080
<a id="__codelineno-0-10" name="__codelineno-0-10" href="#__codelineno-0-10"></a><span class="w"> </span><span class="nt">&quot;text&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Welcome to the sprint review. ...&quot;</span><span class="p">,</span>
2081
<a id="__codelineno-0-11" name="__codelineno-0-11" href="#__codelineno-0-11"></a><span class="w"> </span><span class="nt">&quot;language&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;en&quot;</span>
2082
<a id="__codelineno-0-12" name="__codelineno-0-12" href="#__codelineno-0-12"></a><span class="p">}</span>
2083
</code></pre></div>
2084
<p>When the <code>--speakers</code> flag is provided (e.g., <code>--speakers "Alice,Bob,Carol"</code>), speaker diarization hints are passed to the transcription provider and speaker labels appear in the JSON segments.</p>
2085
<hr />
2086
<h2 id="reports">Reports<a class="headerlink" href="#reports" title="Permanent link">&para;</a></h2>
2087
<p>Analysis reports are generated from the combined transcript, diagrams, key points, action items, and knowledge graph. They live in the <code>results/</code> subdirectory.</p>
2088
<table>
2089
<thead>
2090
<tr>
2091
<th>Format</th>
2092
<th>File</th>
2093
<th>Description</th>
2094
</tr>
2095
</thead>
2096
<tbody>
2097
<tr>
2098
<td>Markdown</td>
2099
<td><code>results/analysis.md</code></td>
2100
<td>Structured report with embedded Mermaid diagram blocks, tables, and cross-references. Works in any Markdown renderer.</td>
2101
</tr>
2102
<tr>
2103
<td>HTML</td>
2104
<td><code>results/analysis.html</code></td>
2105
<td>Self-contained HTML page with inline CSS, embedded SVG diagrams, and a bundled mermaid.js script for rendering any unrendered Mermaid blocks. No external dependencies required to view.</td>
2106
</tr>
2107
<tr>
2108
<td>PDF</td>
2109
<td><code>results/analysis.pdf</code></td>
2110
<td>Print-ready PDF. Requires the <code>planopticon[pdf]</code> extra (<code>pip install planopticon[pdf]</code>). Generated from the HTML report.</td>
2111
</tr>
2112
</tbody>
2113
</table>
2114
<hr />
2115
<h2 id="diagrams">Diagrams<a class="headerlink" href="#diagrams" title="Permanent link">&para;</a></h2>
2116
<p>Each visual element detected during frame analysis produces up to five output files in the <code>diagrams/</code> subdirectory. The index <code>N</code> is zero-based.</p>
2117
<table>
2118
<thead>
2119
<tr>
2120
<th>Format</th>
2121
<th>File</th>
2122
<th>Description</th>
2123
</tr>
2124
</thead>
2125
<tbody>
2126
<tr>
2127
<td>JPEG</td>
2128
<td><code>diagrams/diagram_N.jpg</code></td>
2129
<td>Original video frame captured at the point of detection.</td>
2130
</tr>
2131
<tr>
2132
<td>Mermaid</td>
2133
<td><code>diagrams/diagram_N.mermaid</code></td>
2134
<td>Mermaid source code reconstructed from the diagram by the vision model. Supports flowcharts, sequence diagrams, architecture diagrams, and more.</td>
2135
</tr>
2136
<tr>
2137
<td>SVG</td>
2138
<td><code>diagrams/diagram_N.svg</code></td>
2139
<td>Vector rendering of the Mermaid source, produced by the Mermaid CLI or built-in renderer.</td>
2140
</tr>
2141
<tr>
2142
<td>PNG</td>
2143
<td><code>diagrams/diagram_N.png</code></td>
2144
<td>Raster rendering of the Mermaid source at high resolution.</td>
2145
</tr>
2146
<tr>
2147
<td>JSON</td>
2148
<td><code>diagrams/diagram_N.json</code></td>
2149
<td>Structured analysis data including diagram type, description, extracted text, chart data (if applicable), and confidence score.</td>
2150
</tr>
2151
</tbody>
2152
</table>
2153
<p>Frames that score as medium confidence are saved as captioned screenshots in the <code>captures/</code> subdirectory instead, with a <code>capture_N.jpg</code> and <code>capture_N.json</code> pair.</p>
2154
<hr />
2155
<h2 id="structured-data">Structured Data<a class="headerlink" href="#structured-data" title="Permanent link">&para;</a></h2>
2156
<p>Core analysis artifacts are stored as JSON files in the <code>results/</code> subdirectory.</p>
2157
<table>
2158
<thead>
2159
<tr>
2160
<th>Format</th>
2161
<th>File</th>
2162
<th>Description</th>
2163
</tr>
2164
</thead>
2165
<tbody>
2166
<tr>
2167
<td>SQLite</td>
2168
<td><code>results/knowledge_graph.db</code></td>
2169
<td>Primary knowledge graph database. SQLite-based, queryable with <code>planopticon query</code>. Contains entities, relationships, source provenance, and metadata. This is the preferred format for querying and merging.</td>
2170
</tr>
2171
<tr>
2172
<td>JSON</td>
2173
<td><code>results/knowledge_graph.json</code></td>
2174
<td>JSON export of the knowledge graph. Contains <code>entities</code> and <code>relationships</code> arrays. Automatically kept in sync with the <code>.db</code> file. Used as a fallback when SQLite is not available.</td>
2175
</tr>
2176
<tr>
2177
<td>JSON</td>
2178
<td><code>results/key_points.json</code></td>
2179
<td>Array of extracted key points, each with <code>text</code>, <code>category</code>, and <code>confidence</code> fields.</td>
2180
</tr>
2181
<tr>
2182
<td>JSON</td>
2183
<td><code>results/action_items.json</code></td>
2184
<td>Array of action items, each with <code>text</code>, <code>assignee</code>, <code>due_date</code>, <code>priority</code>, and <code>status</code> fields.</td>
2185
</tr>
2186
<tr>
2187
<td>JSON</td>
2188
<td><code>manifest.json</code></td>
2189
<td>Complete run manifest. The single source of truth for the analysis run. Contains video metadata, processing stats, file paths to all outputs, and inline key points, action items, diagram metadata, and screen captures.</td>
2190
</tr>
2191
</tbody>
2192
</table>
2193
<h3 id="knowledge-graph-json-structure">Knowledge graph JSON structure<a class="headerlink" href="#knowledge-graph-json-structure" title="Permanent link">&para;</a></h3>
2194
<div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a><span class="p">{</span>
2195
<a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a><span class="w"> </span><span class="nt">&quot;entities&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
2196
<a id="__codelineno-1-3" name="__codelineno-1-3" href="#__codelineno-1-3"></a><span class="w"> </span><span class="p">{</span>
2197
<a id="__codelineno-1-4" name="__codelineno-1-4" href="#__codelineno-1-4"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Kubernetes&quot;</span><span class="p">,</span>
2198
<a id="__codelineno-1-5" name="__codelineno-1-5" href="#__codelineno-1-5"></a><span class="w"> </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;technology&quot;</span><span class="p">,</span>
2199
<a id="__codelineno-1-6" name="__codelineno-1-6" href="#__codelineno-1-6"></a><span class="w"> </span><span class="nt">&quot;descriptions&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">&quot;Container orchestration platform discussed in architecture review&quot;</span><span class="p">],</span>
2200
<a id="__codelineno-1-7" name="__codelineno-1-7" href="#__codelineno-1-7"></a><span class="w"> </span><span class="nt">&quot;occurrences&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
2201
<a id="__codelineno-1-8" name="__codelineno-1-8" href="#__codelineno-1-8"></a><span class="w"> </span><span class="p">{</span><span class="nt">&quot;source&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;video:recording.mp4&quot;</span><span class="p">,</span><span class="w"> </span><span class="nt">&quot;timestamp&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;00:05:23&quot;</span><span class="p">}</span>
2202
<a id="__codelineno-1-9" name="__codelineno-1-9" href="#__codelineno-1-9"></a><span class="w"> </span><span class="p">]</span>
2203
<a id="__codelineno-1-10" name="__codelineno-1-10" href="#__codelineno-1-10"></a><span class="w"> </span><span class="p">}</span>
2204
<a id="__codelineno-1-11" name="__codelineno-1-11" href="#__codelineno-1-11"></a><span class="w"> </span><span class="p">],</span>
2205
<a id="__codelineno-1-12" name="__codelineno-1-12" href="#__codelineno-1-12"></a><span class="w"> </span><span class="nt">&quot;relationships&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
2206
<a id="__codelineno-1-13" name="__codelineno-1-13" href="#__codelineno-1-13"></a><span class="w"> </span><span class="p">{</span>
2207
<a id="__codelineno-1-14" name="__codelineno-1-14" href="#__codelineno-1-14"></a><span class="w"> </span><span class="nt">&quot;source&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Kubernetes&quot;</span><span class="p">,</span>
2208
<a id="__codelineno-1-15" name="__codelineno-1-15" href="#__codelineno-1-15"></a><span class="w"> </span><span class="nt">&quot;target&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Docker&quot;</span><span class="p">,</span>
2209
<a id="__codelineno-1-16" name="__codelineno-1-16" href="#__codelineno-1-16"></a><span class="w"> </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;DEPENDS_ON&quot;</span><span class="p">,</span>
2210
<a id="__codelineno-1-17" name="__codelineno-1-17" href="#__codelineno-1-17"></a><span class="w"> </span><span class="nt">&quot;descriptions&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">&quot;Kubernetes uses Docker as container runtime&quot;</span><span class="p">]</span>
2211
<a id="__codelineno-1-18" name="__codelineno-1-18" href="#__codelineno-1-18"></a><span class="w"> </span><span class="p">}</span>
2212
<a id="__codelineno-1-19" name="__codelineno-1-19" href="#__codelineno-1-19"></a><span class="w"> </span><span class="p">]</span>
2213
<a id="__codelineno-1-20" name="__codelineno-1-20" href="#__codelineno-1-20"></a><span class="p">}</span>
2214
</code></pre></div>
2215
<hr />
2216
<h2 id="charts">Charts<a class="headerlink" href="#charts" title="Permanent link">&para;</a></h2>
2217
<p>When chart data is extracted from diagrams (bar charts, line charts, pie charts, scatter plots), PlanOpticon reproduces them as standalone image files.</p>
2218
<table>
2219
<thead>
2220
<tr>
2221
<th>Format</th>
2222
<th>File</th>
2223
<th>Description</th>
2224
</tr>
2225
</thead>
2226
<tbody>
2227
<tr>
2228
<td>SVG</td>
2229
<td><code>diagrams/chart_N.svg</code></td>
2230
<td>Vector chart rendered via matplotlib. Suitable for embedding in documents or scaling to any size.</td>
2231
</tr>
2232
<tr>
2233
<td>PNG</td>
2234
<td><code>diagrams/chart_N.png</code></td>
2235
<td>Raster chart rendered via matplotlib at 150 DPI.</td>
2236
</tr>
2237
</tbody>
2238
</table>
2239
<p>Reproduced charts are also embedded inline in the HTML and PDF reports.</p>
2240
<hr />
2241
<h2 id="knowledge-graph-exports">Knowledge Graph Exports<a class="headerlink" href="#knowledge-graph-exports" title="Permanent link">&para;</a></h2>
2242
<p>Beyond the default <code>knowledge_graph.db</code> and <code>knowledge_graph.json</code> produced during analysis, PlanOpticon supports exporting knowledge graphs to several additional formats via the <code>planopticon export</code> and <code>planopticon kg convert</code> commands.</p>
2243
<table>
2244
<thead>
2245
<tr>
2246
<th>Format</th>
2247
<th>Command / File</th>
2248
<th>Description</th>
2249
</tr>
2250
</thead>
2251
<tbody>
2252
<tr>
2253
<td>JSON</td>
2254
<td><code>knowledge_graph.json</code></td>
2255
<td>Default JSON export. Produced automatically alongside the <code>.db</code> file.</td>
2256
</tr>
2257
<tr>
2258
<td>SQLite</td>
2259
<td><code>knowledge_graph.db</code></td>
2260
<td>Primary database format. Can be converted to/from JSON with <code>planopticon kg convert</code>.</td>
2261
</tr>
2262
<tr>
2263
<td>GraphML</td>
2264
<td><code>output.graphml</code></td>
2265
<td>XML-based graph format via <code>planopticon kg convert kg.db output.graphml</code>. Compatible with Gephi, yEd, Cytoscape, and other graph visualization tools.</td>
2266
</tr>
2267
<tr>
2268
<td>CSV</td>
2269
<td><code>export/entities.csv</code>, <code>export/relationships.csv</code></td>
2270
<td>Tabular export via <code>planopticon export markdown kg.db --type csv</code>. Produces separate CSV files for entities and relationships.</td>
2271
</tr>
2272
<tr>
2273
<td>Mermaid</td>
2274
<td>Inline in reports</td>
2275
<td>Mermaid graph diagrams are embedded in Markdown and HTML reports. Also available programmatically via <code>GraphQueryEngine.to_mermaid()</code>.</td>
2276
</tr>
2277
</tbody>
2278
</table>
2279
<h3 id="converting-between-formats">Converting between formats<a class="headerlink" href="#converting-between-formats" title="Permanent link">&para;</a></h3>
2280
<div class="highlight"><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a><span class="c1"># SQLite to JSON</span>
2281
<a id="__codelineno-2-2" name="__codelineno-2-2" href="#__codelineno-2-2"></a>planopticon<span class="w"> </span>kg<span class="w"> </span>convert<span class="w"> </span>results/knowledge_graph.db<span class="w"> </span>output.json
2282
<a id="__codelineno-2-3" name="__codelineno-2-3" href="#__codelineno-2-3"></a>
2283
<a id="__codelineno-2-4" name="__codelineno-2-4" href="#__codelineno-2-4"></a><span class="c1"># JSON to SQLite</span>
2284
<a id="__codelineno-2-5" name="__codelineno-2-5" href="#__codelineno-2-5"></a>planopticon<span class="w"> </span>kg<span class="w"> </span>convert<span class="w"> </span>knowledge_graph.json<span class="w"> </span>knowledge_graph.db
2285
<a id="__codelineno-2-6" name="__codelineno-2-6" href="#__codelineno-2-6"></a>
2286
<a id="__codelineno-2-7" name="__codelineno-2-7" href="#__codelineno-2-7"></a><span class="c1"># Sync both directions (updates the stale file)</span>
2287
<a id="__codelineno-2-8" name="__codelineno-2-8" href="#__codelineno-2-8"></a>planopticon<span class="w"> </span>kg<span class="w"> </span>sync<span class="w"> </span>results/knowledge_graph.db
2288
<a id="__codelineno-2-9" name="__codelineno-2-9" href="#__codelineno-2-9"></a>planopticon<span class="w"> </span>kg<span class="w"> </span>sync<span class="w"> </span>knowledge_graph.db<span class="w"> </span>knowledge_graph.json<span class="w"> </span>--direction<span class="w"> </span>db-to-json
2289
</code></pre></div>
2290
<hr />
2291
<h2 id="planopticonexchange-format">PlanOpticonExchange Format<a class="headerlink" href="#planopticonexchange-format" title="Permanent link">&para;</a></h2>
2292
<p>The PlanOpticonExchange format (<code>.json</code>) is a canonical interchange payload designed for sharing knowledge graphs between PlanOpticon instances, teams, or external systems.</p>
2293
<div class="highlight"><pre><span></span><code><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a>planopticon<span class="w"> </span><span class="nb">export</span><span class="w"> </span>exchange<span class="w"> </span>knowledge_graph.db
2294
<a id="__codelineno-3-2" name="__codelineno-3-2" href="#__codelineno-3-2"></a>planopticon<span class="w"> </span><span class="nb">export</span><span class="w"> </span>exchange<span class="w"> </span>kg.db<span class="w"> </span>-o<span class="w"> </span>exchange.json<span class="w"> </span>--name<span class="w"> </span><span class="s2">&quot;My Project&quot;</span>
2295
</code></pre></div>
2296
<p>The exchange payload includes:</p>
2297
<ul>
2298
<li><strong>Schema version</strong> for forward compatibility</li>
2299
<li><strong>Project metadata</strong> (name, description)</li>
2300
<li><strong>Full entity and relationship data</strong> with provenance</li>
2301
<li><strong>Source tracking</strong> for multi-source graphs</li>
2302
<li><strong>Merge support</strong> -- exchange files can be merged together, deduplicating entities by name</li>
2303
</ul>
2304
<h3 id="exchange-json-structure">Exchange JSON structure<a class="headerlink" href="#exchange-json-structure" title="Permanent link">&para;</a></h3>
2305
<div class="highlight"><pre><span></span><code><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a><span class="p">{</span>
2306
<a id="__codelineno-4-2" name="__codelineno-4-2" href="#__codelineno-4-2"></a><span class="w"> </span><span class="nt">&quot;schema_version&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;1.0&quot;</span><span class="p">,</span>
2307
<a id="__codelineno-4-3" name="__codelineno-4-3" href="#__codelineno-4-3"></a><span class="w"> </span><span class="nt">&quot;project&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
2308
<a id="__codelineno-4-4" name="__codelineno-4-4" href="#__codelineno-4-4"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Sprint Reviews Q4&quot;</span><span class="p">,</span>
2309
<a id="__codelineno-4-5" name="__codelineno-4-5" href="#__codelineno-4-5"></a><span class="w"> </span><span class="nt">&quot;description&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Knowledge extracted from Q4 sprint review recordings&quot;</span>
2310
<a id="__codelineno-4-6" name="__codelineno-4-6" href="#__codelineno-4-6"></a><span class="w"> </span><span class="p">},</span>
2311
<a id="__codelineno-4-7" name="__codelineno-4-7" href="#__codelineno-4-7"></a><span class="w"> </span><span class="nt">&quot;entities&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="err">...</span><span class="p">],</span>
2312
<a id="__codelineno-4-8" name="__codelineno-4-8" href="#__codelineno-4-8"></a><span class="w"> </span><span class="nt">&quot;relationships&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="err">...</span><span class="p">],</span>
2313
<a id="__codelineno-4-9" name="__codelineno-4-9" href="#__codelineno-4-9"></a><span class="w"> </span><span class="nt">&quot;sources&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="err">...</span><span class="p">]</span>
2314
<a id="__codelineno-4-10" name="__codelineno-4-10" href="#__codelineno-4-10"></a><span class="p">}</span>
2315
</code></pre></div>
2316
<hr />
2317
<h2 id="document-exports">Document Exports<a class="headerlink" href="#document-exports" title="Permanent link">&para;</a></h2>
2318
<p>PlanOpticon can generate structured Markdown documents from any knowledge graph, with no API key required. These are pure template-based outputs derived from the graph data.</p>
2319
<h3 id="markdown-document-types">Markdown document types<a class="headerlink" href="#markdown-document-types" title="Permanent link">&para;</a></h3>
2320
<p>There are seven document types plus a CSV export, all generated via <code>planopticon export markdown</code>:</p>
2321
<table>
2322
<thead>
2323
<tr>
2324
<th>Type</th>
2325
<th>File</th>
2326
<th>Description</th>
2327
</tr>
2328
</thead>
2329
<tbody>
2330
<tr>
2331
<td><code>summary</code></td>
2332
<td><code>executive_summary.md</code></td>
2333
<td>High-level executive summary with entity counts, top relationships, and key themes.</td>
2334
</tr>
2335
<tr>
2336
<td><code>meeting-notes</code></td>
2337
<td><code>meeting_notes.md</code></td>
2338
<td>Structured meeting notes with attendees, topics discussed, decisions made, and action items.</td>
2339
</tr>
2340
<tr>
2341
<td><code>glossary</code></td>
2342
<td><code>glossary.md</code></td>
2343
<td>Alphabetical glossary of all entities with descriptions and types.</td>
2344
</tr>
2345
<tr>
2346
<td><code>relationship-map</code></td>
2347
<td><code>relationship_map.md</code></td>
2348
<td>Textual and Mermaid-based relationship map showing how entities connect.</td>
2349
</tr>
2350
<tr>
2351
<td><code>status-report</code></td>
2352
<td><code>status_report.md</code></td>
2353
<td>Status report format with progress indicators, risks, and next steps.</td>
2354
</tr>
2355
<tr>
2356
<td><code>entity-index</code></td>
2357
<td><code>entity_index.md</code></td>
2358
<td>Comprehensive index of all entities grouped by type, with links to individual briefs.</td>
2359
</tr>
2360
<tr>
2361
<td><code>entity-brief</code></td>
2362
<td><code>entities/&lt;Name&gt;.md</code></td>
2363
<td>One-pager brief for each entity, showing descriptions, relationships, and source references.</td>
2364
</tr>
2365
<tr>
2366
<td><code>csv</code></td>
2367
<td><code>entities.csv</code></td>
2368
<td>Tabular CSV export of entities and relationships.</td>
2369
</tr>
2370
</tbody>
2371
</table>
2372
<div class="highlight"><pre><span></span><code><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a><span class="c1"># Generate all document types</span>
2373
<a id="__codelineno-5-2" name="__codelineno-5-2" href="#__codelineno-5-2"></a>planopticon<span class="w"> </span><span class="nb">export</span><span class="w"> </span>markdown<span class="w"> </span>knowledge_graph.db
2374
<a id="__codelineno-5-3" name="__codelineno-5-3" href="#__codelineno-5-3"></a>
2375
<a id="__codelineno-5-4" name="__codelineno-5-4" href="#__codelineno-5-4"></a><span class="c1"># Generate specific types</span>
2376
<a id="__codelineno-5-5" name="__codelineno-5-5" href="#__codelineno-5-5"></a>planopticon<span class="w"> </span><span class="nb">export</span><span class="w"> </span>markdown<span class="w"> </span>kg.db<span class="w"> </span>-o<span class="w"> </span>./docs<span class="w"> </span>--type<span class="w"> </span>summary<span class="w"> </span>--type<span class="w"> </span>glossary
2377
<a id="__codelineno-5-6" name="__codelineno-5-6" href="#__codelineno-5-6"></a>
2378
<a id="__codelineno-5-7" name="__codelineno-5-7" href="#__codelineno-5-7"></a><span class="c1"># Generate meeting notes and CSV</span>
2379
<a id="__codelineno-5-8" name="__codelineno-5-8" href="#__codelineno-5-8"></a>planopticon<span class="w"> </span><span class="nb">export</span><span class="w"> </span>markdown<span class="w"> </span>kg.db<span class="w"> </span>--type<span class="w"> </span>meeting-notes<span class="w"> </span>--type<span class="w"> </span>csv
2380
</code></pre></div>
2381
<h3 id="obsidian-vault-export">Obsidian vault export<a class="headerlink" href="#obsidian-vault-export" title="Permanent link">&para;</a></h3>
2382
<p>Exports the knowledge graph as an Obsidian-compatible vault with YAML frontmatter, <code>[[wiki-links]]</code> between entities, and proper folder structure.</p>
2383
<div class="highlight"><pre><span></span><code><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a>planopticon<span class="w"> </span><span class="nb">export</span><span class="w"> </span>obsidian<span class="w"> </span>knowledge_graph.db<span class="w"> </span>-o<span class="w"> </span>./my-vault
2384
</code></pre></div>
2385
<p>The vault includes:</p>
2386
<ul>
2387
<li>One note per entity with frontmatter (<code>type</code>, <code>aliases</code>, <code>tags</code>)</li>
2388
<li>Wiki-links between related entities</li>
2389
<li>A <code>_Index.md</code> file for navigation</li>
2390
<li>Compatible with Obsidian graph view</li>
2391
</ul>
2392
<h3 id="notion-markdown-export">Notion markdown export<a class="headerlink" href="#notion-markdown-export" title="Permanent link">&para;</a></h3>
2393
<p>Exports as Notion-compatible Markdown with a CSV database file for import into Notion databases.</p>
2394
<div class="highlight"><pre><span></span><code><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a>planopticon<span class="w"> </span><span class="nb">export</span><span class="w"> </span>notion<span class="w"> </span>knowledge_graph.db<span class="w"> </span>-o<span class="w"> </span>./notion-export
2395
</code></pre></div>
2396
<h3 id="github-wiki-export">GitHub wiki export<a class="headerlink" href="#github-wiki-export" title="Permanent link">&para;</a></h3>
2397
<p>Generates a complete GitHub wiki with a sidebar, home page, and per-entity pages. Can be pushed directly to a GitHub wiki repository.</p>
2398
<div class="highlight"><pre><span></span><code><a id="__codelineno-8-1" name="__codelineno-8-1" href="#__codelineno-8-1"></a><span class="c1"># Generate wiki pages</span>
2399
<a id="__codelineno-8-2" name="__codelineno-8-2" href="#__codelineno-8-2"></a>planopticon<span class="w"> </span>wiki<span class="w"> </span>generate<span class="w"> </span>knowledge_graph.db<span class="w"> </span>-o<span class="w"> </span>./wiki
2400
<a id="__codelineno-8-3" name="__codelineno-8-3" href="#__codelineno-8-3"></a>
2401
<a id="__codelineno-8-4" name="__codelineno-8-4" href="#__codelineno-8-4"></a><span class="c1"># Push to GitHub</span>
2402
<a id="__codelineno-8-5" name="__codelineno-8-5" href="#__codelineno-8-5"></a>planopticon<span class="w"> </span>wiki<span class="w"> </span>push<span class="w"> </span>./wiki<span class="w"> </span>ConflictHQ/PlanOpticon<span class="w"> </span>-m<span class="w"> </span><span class="s2">&quot;Update wiki from KG&quot;</span>
2403
</code></pre></div>
2404
<hr />
2405
<h2 id="batch-outputs">Batch Outputs<a class="headerlink" href="#batch-outputs" title="Permanent link">&para;</a></h2>
2406
<p>Batch processing produces additional files at the batch root directory, alongside per-video output folders.</p>
2407
<table>
2408
<thead>
2409
<tr>
2410
<th>Format</th>
2411
<th>File</th>
2412
<th>Description</th>
2413
</tr>
2414
</thead>
2415
<tbody>
2416
<tr>
2417
<td>JSON</td>
2418
<td><code>batch_manifest.json</code></td>
2419
<td>Batch-level manifest with aggregate stats, per-video status (completed/failed), error details, and paths to all sub-outputs.</td>
2420
</tr>
2421
<tr>
2422
<td>Markdown</td>
2423
<td><code>batch_summary.md</code></td>
2424
<td>Aggregated summary report with combined key points, action items, entity counts, and a Mermaid diagram of the merged knowledge graph.</td>
2425
</tr>
2426
<tr>
2427
<td>SQLite</td>
2428
<td><code>knowledge_graph.db</code></td>
2429
<td>Merged knowledge graph combining entities and relationships across all successfully processed videos. Uses fuzzy matching and conflict resolution.</td>
2430
</tr>
2431
<tr>
2432
<td>JSON</td>
2433
<td><code>knowledge_graph.json</code></td>
2434
<td>JSON export of the merged knowledge graph.</td>
2435
</tr>
2436
</tbody>
2437
</table>
2438
<hr />
2439
<h2 id="self-contained-html-viewer">Self-Contained HTML Viewer<a class="headerlink" href="#self-contained-html-viewer" title="Permanent link">&para;</a></h2>
2440
<p>PlanOpticon ships with a self-contained interactive knowledge graph viewer at <code>knowledge-base/viewer.html</code> in the repository. This file:</p>
2441
<ul>
2442
<li>Uses D3.js (bundled inline, no CDN dependency)</li>
2443
<li>Renders an interactive force-directed graph visualization</li>
2444
<li>Supports node filtering by entity type</li>
2445
<li>Shows entity details and relationships on click</li>
2446
<li>Can load any <code>knowledge_graph.json</code> file</li>
2447
<li>Works offline with no server required -- just open in a browser</li>
2448
<li>Covers approximately 80% of graph exploration needs with zero infrastructure</li>
2449
</ul>
2450
<hr />
2451
<h2 id="output-directory-structure">Output Directory Structure<a class="headerlink" href="#output-directory-structure" title="Permanent link">&para;</a></h2>
2452
<p>A complete single-video analysis produces the following directory tree:</p>
2453
<div class="highlight"><pre><span></span><code><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a>output/
2454
<a id="__codelineno-9-2" name="__codelineno-9-2" href="#__codelineno-9-2"></a>├── manifest.json # Run manifest (source of truth)
2455
<a id="__codelineno-9-3" name="__codelineno-9-3" href="#__codelineno-9-3"></a>├── transcript/
2456
<a id="__codelineno-9-4" name="__codelineno-9-4" href="#__codelineno-9-4"></a>│ ├── transcript.json # Full transcript with segments
2457
<a id="__codelineno-9-5" name="__codelineno-9-5" href="#__codelineno-9-5"></a>│ ├── transcript.txt # Plain text
2458
<a id="__codelineno-9-6" name="__codelineno-9-6" href="#__codelineno-9-6"></a>│ └── transcript.srt # Subtitles
2459
<a id="__codelineno-9-7" name="__codelineno-9-7" href="#__codelineno-9-7"></a>├── frames/
2460
<a id="__codelineno-9-8" name="__codelineno-9-8" href="#__codelineno-9-8"></a>│ ├── frame_0000.jpg # Extracted video frames
2461
<a id="__codelineno-9-9" name="__codelineno-9-9" href="#__codelineno-9-9"></a>│ ├── frame_0001.jpg
2462
<a id="__codelineno-9-10" name="__codelineno-9-10" href="#__codelineno-9-10"></a>│ └── ...
2463
<a id="__codelineno-9-11" name="__codelineno-9-11" href="#__codelineno-9-11"></a>├── diagrams/
2464
<a id="__codelineno-9-12" name="__codelineno-9-12" href="#__codelineno-9-12"></a>│ ├── diagram_0.jpg # Original frame
2465
<a id="__codelineno-9-13" name="__codelineno-9-13" href="#__codelineno-9-13"></a>│ ├── diagram_0.mermaid # Mermaid source
2466
<a id="__codelineno-9-14" name="__codelineno-9-14" href="#__codelineno-9-14"></a>│ ├── diagram_0.svg # Vector rendering
2467
<a id="__codelineno-9-15" name="__codelineno-9-15" href="#__codelineno-9-15"></a>│ ├── diagram_0.png # Raster rendering
2468
<a id="__codelineno-9-16" name="__codelineno-9-16" href="#__codelineno-9-16"></a>│ ├── diagram_0.json # Analysis data
2469
<a id="__codelineno-9-17" name="__codelineno-9-17" href="#__codelineno-9-17"></a>│ ├── chart_0.svg # Reproduced chart (SVG)
2470
<a id="__codelineno-9-18" name="__codelineno-9-18" href="#__codelineno-9-18"></a>│ ├── chart_0.png # Reproduced chart (PNG)
2471
<a id="__codelineno-9-19" name="__codelineno-9-19" href="#__codelineno-9-19"></a>│ └── ...
2472
<a id="__codelineno-9-20" name="__codelineno-9-20" href="#__codelineno-9-20"></a>├── captures/
2473
<a id="__codelineno-9-21" name="__codelineno-9-21" href="#__codelineno-9-21"></a>│ ├── capture_0.jpg # Medium-confidence screenshots
2474
<a id="__codelineno-9-22" name="__codelineno-9-22" href="#__codelineno-9-22"></a>│ ├── capture_0.json # Caption and metadata
2475
<a id="__codelineno-9-23" name="__codelineno-9-23" href="#__codelineno-9-23"></a>│ └── ...
2476
<a id="__codelineno-9-24" name="__codelineno-9-24" href="#__codelineno-9-24"></a>└── results/
2477
<a id="__codelineno-9-25" name="__codelineno-9-25" href="#__codelineno-9-25"></a> ├── analysis.md # Markdown report
2478
<a id="__codelineno-9-26" name="__codelineno-9-26" href="#__codelineno-9-26"></a> ├── analysis.html # HTML report
2479
<a id="__codelineno-9-27" name="__codelineno-9-27" href="#__codelineno-9-27"></a> ├── analysis.pdf # PDF report (if planopticon[pdf] installed)
2480
<a id="__codelineno-9-28" name="__codelineno-9-28" href="#__codelineno-9-28"></a> ├── knowledge_graph.db # Knowledge graph (SQLite, primary)
2481
<a id="__codelineno-9-29" name="__codelineno-9-29" href="#__codelineno-9-29"></a> ├── knowledge_graph.json # Knowledge graph (JSON export)
2482
<a id="__codelineno-9-30" name="__codelineno-9-30" href="#__codelineno-9-30"></a> ├── key_points.json # Extracted key points
2483
<a id="__codelineno-9-31" name="__codelineno-9-31" href="#__codelineno-9-31"></a> └── action_items.json # Action items
2484
</code></pre></div>
2485
<hr />
2486
<h2 id="controlling-output-format">Controlling Output Format<a class="headerlink" href="#controlling-output-format" title="Permanent link">&para;</a></h2>
2487
<p>Use the <code>--output-format</code> flag with <code>planopticon analyze</code> to control how results are presented:</p>
2488
<table>
2489
<thead>
2490
<tr>
2491
<th>Value</th>
2492
<th>Behavior</th>
2493
</tr>
2494
</thead>
2495
<tbody>
2496
<tr>
2497
<td><code>default</code></td>
2498
<td>Writes all output files to disk and prints a usage summary to stdout.</td>
2499
</tr>
2500
<tr>
2501
<td><code>json</code></td>
2502
<td>Writes all output files to disk and also emits the complete <code>VideoManifest</code> as structured JSON to stdout. Useful for piping into other tools or CI/CD pipelines.</td>
2503
</tr>
2504
</tbody>
2505
</table>
2506
<div class="highlight"><pre><span></span><code><a id="__codelineno-10-1" name="__codelineno-10-1" href="#__codelineno-10-1"></a><span class="c1"># Standard output (files + console summary)</span>
2507
<a id="__codelineno-10-2" name="__codelineno-10-2" href="#__codelineno-10-2"></a>planopticon<span class="w"> </span>analyze<span class="w"> </span>-i<span class="w"> </span>video.mp4<span class="w"> </span>-o<span class="w"> </span>./output
2508
<a id="__codelineno-10-3" name="__codelineno-10-3" href="#__codelineno-10-3"></a>
2509
<a id="__codelineno-10-4" name="__codelineno-10-4" href="#__codelineno-10-4"></a><span class="c1"># JSON manifest to stdout (for scripting)</span>
2510
<a id="__codelineno-10-5" name="__codelineno-10-5" href="#__codelineno-10-5"></a>planopticon<span class="w"> </span>analyze<span class="w"> </span>-i<span class="w"> </span>video.mp4<span class="w"> </span>-o<span class="w"> </span>./output<span class="w"> </span>--output-format<span class="w"> </span>json
2511
</code></pre></div>
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
</article>
2526
</div>
2527
2528
2529
<script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script>
2530
2531
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
2532
</div>
2533
2534
<button type="button" class="md-top md-icon" data-md-component="top" hidden>
2535
2536
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg>
2537
Back to top
2538
</button>
2539
2540
</main>
2541
2542
<footer class="md-footer">
2543
2544
<div class="md-footer-meta md-typeset">
2545
<div class="md-footer-meta__inner md-grid">
2546
<div class="md-copyright">
2547
2548
<div class="md-copyright__highlight">
2549
Copyright &copy; 2026 CONFLICT LLC
2550
</div>
2551
2552
2553
Made with
2554
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
2555
Material for MkDocs
2556
</a>
2557
2558
</div>
2559
2560
2561
<div class="md-social">
2562
2563
2564
2565
2566
2567
2568
2569
2570
<a href="https://github.com/ConflictHQ/PlanOpticon" target="_blank" rel="noopener" title="github.com" class="md-social__link">
2571
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
2572
</a>
2573
2574
</div>
2575
2576
</div>
2577
</div>
2578
</footer>
2579
2580
</div>
2581
<div class="md-dialog" data-md-component="dialog">
2582
<div class="md-dialog__inner md-typeset"></div>
2583
</div>
2584
2585
2586
2587
2588
2589
<script id="__config" type="application/json">{"annotate": null, "base": "../..", "features": ["navigation.instant", "navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "search.suggest", "search.highlight", "content.code.copy", "content.tabs.link", "header.autohide"], "search": "../../assets/javascripts/workers/search.2c215733.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
2590
2591
2592
<script src="../../assets/javascripts/bundle.79ae519e.min.js"></script>
2593
2594
2595
</body>
2596
</html>

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button