Add video upload, extraction progress, and reusable analysis sources
This commit is contained in:
parent
690de21fa4
commit
686f897401
24 changed files with 927 additions and 137 deletions
|
|
@ -570,10 +570,15 @@ addressing that answers questions about work not yet done.
|
|||
|
||||
```
|
||||
POST /api/analyses {key, descriptor} idempotent
|
||||
GET /api/analyses/<key> metadata + source block keys
|
||||
PUT /api/analyses/<key> link dense landmarks, mask, crops
|
||||
POST /api/blocks/missing {keys} -> {missing}
|
||||
POST /api/blocks {key, descriptor, data, state}
|
||||
GET /api/blocks/<key>
|
||||
GET /api/footage/<id> the manifest, with a URL per frame
|
||||
POST /api/sources multipart video upload
|
||||
POST /api/extractions idempotent decode job
|
||||
GET /api/extractions/<key> job state and footage id
|
||||
```
|
||||
|
||||
**The server verifies, rather than trusting a name it was handed.** It recomputes
|
||||
|
|
@ -596,9 +601,9 @@ separately.
|
|||
fetched `manifest.json` and built `frames/0001.png` itself, which made the frame
|
||||
layout a shared secret between a shell script and a ClojureScript namespace. The
|
||||
manifest now carries a URL per frame, so the frames can live in the blob store —
|
||||
or, when wasm-ffmpeg extraction arrives, be uploaded into the same store by the
|
||||
app — and the client learns nothing new when that happens. The producer changes;
|
||||
the shape does not.
|
||||
or be produced by the app's video upload and server-side ffmpeg extraction. The
|
||||
upload path needs no `manifest.json` file: the server builds the footage response
|
||||
from the extracted frame records. The producer changes; the shape does not.
|
||||
|
||||
**The document stores what a block IS, not what it holds.** A block's element type
|
||||
is in its own descriptor, which is the only place it is written down: an
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue