Reading a sidecar
This page describes how to match a sidecar to its file, what you can derive from a sidecar without a model, and how to give one to a model.
Matching a sidecar to its file
When you have a media file and a sidecar, compare the hashes:
- If
sha256matches, the sidecar describes this file. - If only
quickHashand the size match, the sidecar very probably describes this file. Compute the full hash when it matters. - If neither matches, the sidecar belongs to another file, regardless of the file name.
An export, a crop, or a re-encode is a different file with its own sidecar. The format doesn't link versions of a file to each other.
Reading the rules
An absent section means that the writer didn't analyze it. An empty section means that the writer analyzed it and found nothing. Treat the two differently. Read a value that isn't in a vocabulary as other. A field that you don't know is someone's addition. Ignore it, and keep it if you rewrite the file. Times are seconds and positions are fractions. Convert them where the file meets your code, and keep them as they are everywhere else.
Derived outputs
Without a model, you can produce the following from a sidecar:
- An
.srtor.vttfile fromspeech.paragraphs[].sentences. - A cue sheet from
music.songs[]. - Alt text from an image's
summary. - A chapter list from an edit's
scenes[]. - A plain-text rendering of the whole file for a language model.
None of these outputs is authoritative. The .analyzemedia file is.
Giving it to a model
Paste the file, or its text rendering, into the model's context. Tell the model what the file is and what it must not do. A folder of sidecars is a folder of documents. The model reads them all in one pass and answers questions across the library with the times and labels that the files carry.