[{"data":1,"prerenderedAt":255},["ShallowReactive",2],{"docs-navigation":3,"docs-\u002Fdocs\u002Fdecoder\u002Fopen-clips":146,"docs-\u002Fdocs\u002Fdecoder\u002Fopen-clips-surround":250},[4],{"title":5,"path":6,"stem":7,"children":8},"Docs","\u002Fdocs","docs",[9,12,80,124],{"title":10,"path":6,"stem":11},"Overview","docs\u002Findex",{"title":13,"path":14,"stem":15,"children":16},"Camera app","\u002Fdocs\u002Fcamera","docs\u002F1.camera\u002Findex",[17,18,22,26,48,52,56,60,64,68,72,76],{"title":10,"path":14,"stem":15},{"title":19,"path":20,"stem":21},"Requirements","\u002Fdocs\u002Fcamera\u002Frequirements","docs\u002F1.camera\u002F01.requirements",{"title":23,"path":24,"stem":25},"Install","\u002Fdocs\u002Fcamera\u002Finstall","docs\u002F1.camera\u002F02.install",{"title":27,"path":28,"stem":29,"children":30},"Connections","\u002Fdocs\u002Fcamera\u002Fconnections","docs\u002F1.camera\u002F03.connections\u002Findex",[31,32,36,40,44],{"title":27,"path":28,"stem":29},{"title":33,"path":34,"stem":35},"Allen-Bradley","\u002Fdocs\u002Fcamera\u002Fconnections\u002Fallen-bradley","docs\u002F1.camera\u002F03.connections\u002F1.allen-bradley",{"title":37,"path":38,"stem":39},"ABB robot","\u002Fdocs\u002Fcamera\u002Fconnections\u002Fabb-robot","docs\u002F1.camera\u002F03.connections\u002F2.abb-robot",{"title":41,"path":42,"stem":43},"Camera events","\u002Fdocs\u002Fcamera\u002Fconnections\u002Fcamera-events","docs\u002F1.camera\u002F03.connections\u002F3.camera-events",{"title":45,"path":46,"stem":47},"Demo and diagnostics","\u002Fdocs\u002Fcamera\u002Fconnections\u002Fdemo-and-diagnostics","docs\u002F1.camera\u002F03.connections\u002F4.demo-and-diagnostics",{"title":49,"path":50,"stem":51},"Tags","\u002Fdocs\u002Fcamera\u002Ftags","docs\u002F1.camera\u002F04.tags",{"title":53,"path":54,"stem":55},"Overlay","\u002Fdocs\u002Fcamera\u002Foverlay","docs\u002F1.camera\u002F05.overlay",{"title":57,"path":58,"stem":59},"History and charts","\u002Fdocs\u002Fcamera\u002Fhistory-and-charts","docs\u002F1.camera\u002F06.history-and-charts",{"title":61,"path":62,"stem":63},"DataBorder","\u002Fdocs\u002Fcamera\u002Fdataborder","docs\u002F1.camera\u002F07.databorder",{"title":65,"path":66,"stem":67},"Recording","\u002Fdocs\u002Fcamera\u002Frecording","docs\u002F1.camera\u002F08.recording",{"title":69,"path":70,"stem":71},"Performance","\u002Fdocs\u002Fcamera\u002Fperformance","docs\u002F1.camera\u002F09.performance",{"title":73,"path":74,"stem":75},"Status and troubleshooting","\u002Fdocs\u002Fcamera\u002Fstatus-and-troubleshooting","docs\u002F1.camera\u002F10.status-and-troubleshooting",{"title":77,"path":78,"stem":79},"Export and import","\u002Fdocs\u002Fcamera\u002Fexport-import","docs\u002F1.camera\u002F11.export-import",{"title":81,"path":82,"stem":83,"children":84},"Decoder","\u002Fdocs\u002Fdecoder","docs\u002F2.decoder\u002Findex",[85,86,89,93,96,100,104,108,112,116,120],{"title":10,"path":82,"stem":83},{"title":23,"path":87,"stem":88},"\u002Fdocs\u002Fdecoder\u002Finstall","docs\u002F2.decoder\u002F01.install",{"title":90,"path":91,"stem":92},"Clips","\u002Fdocs\u002Fdecoder\u002Fopen-clips","docs\u002F2.decoder\u002F02.open-clips",{"title":65,"path":94,"stem":95},"\u002Fdocs\u002Fdecoder\u002Frecord","docs\u002F2.decoder\u002F03.record",{"title":97,"path":98,"stem":99},"Live","\u002Fdocs\u002Fdecoder\u002Flive","docs\u002F2.decoder\u002F04.live",{"title":101,"path":102,"stem":103},"Timeline","\u002Fdocs\u002Fdecoder\u002Ftimeline","docs\u002F2.decoder\u002F05.timeline",{"title":105,"path":106,"stem":107},"Decoded data","\u002Fdocs\u002Fdecoder\u002Fdecoded-data","docs\u002F2.decoder\u002F06.decoded-data",{"title":109,"path":110,"stem":111},"Signal view","\u002Fdocs\u002Fdecoder\u002Fsignal-view","docs\u002F2.decoder\u002F07.signal-view",{"title":113,"path":114,"stem":115},"Extracting clips","\u002Fdocs\u002Fdecoder\u002Fclips","docs\u002F2.decoder\u002F08.clips",{"title":117,"path":118,"stem":119},"Verification","\u002Fdocs\u002Fdecoder\u002Fverify","docs\u002F2.decoder\u002F09.verify",{"title":121,"path":122,"stem":123},"Troubleshooting","\u002Fdocs\u002Fdecoder\u002Ftroubleshooting","docs\u002F2.decoder\u002F10.troubleshooting",{"title":125,"path":126,"stem":127,"children":128,"page":145},"Reference","\u002Fdocs\u002Freference","docs\u002F3.reference",[129,133,137,141],{"title":130,"path":131,"stem":132},"Configuration settings","\u002Fdocs\u002Freference\u002Fconfiguration","docs\u002F3.reference\u002F1.configuration",{"title":134,"path":135,"stem":136},"Compatibility","\u002Fdocs\u002Freference\u002Fcompatibility","docs\u002F3.reference\u002F2.compatibility",{"title":138,"path":139,"stem":140},"Release notes","\u002Fdocs\u002Freference\u002Frelease-notes","docs\u002F3.reference\u002F3.release-notes",{"title":142,"path":143,"stem":144},"Glossary","\u002Fdocs\u002Freference\u002Fglossary","docs\u002F3.reference\u002F4.glossary",false,{"id":147,"title":90,"body":148,"description":243,"extension":244,"meta":245,"navigation":246,"path":91,"seo":247,"source":248,"stem":92,"__hash__":249},"docs\u002Fdocs\u002F2.decoder\u002F02.open-clips.md",{"type":149,"value":150,"toc":234},"minimark",[151,155,160,172,179,182,186,192,195,199,202,209,213,219,225,228,231],[152,153,154],"p",{},"The decoder needs only the video. A clip exported from the recorder, a file someone sent you, and a screen recording of the live view all decode the same way, because the DataBorder is in the pixels.",[156,157,159],"h2",{"id":158},"drop-files-in","Drop files in",[152,161,162,163,167,168,171],{},"Drag one or more video files anywhere onto the decoder window. The whole window is a drop target. Each file is copied into the decoder's data folder and decoded there. You can also open ",[164,165,166],"strong",{},"clips"," and choose ",[164,169,170],{},"browse…"," to pick files.",[152,173,174,175,178],{},"A job card shows the clip being decoded, its progress in frames, and a ",[164,176,177],{},"stop"," button. Stopping discards the clip entirely, and nothing partial is stored. One clip decodes at a time. If you drop another while one is running, it waits.",[152,180,181],{},"MP4 and MOV files decode inside the application. MKV, AVI and transport stream files need ffmpeg to be installed. Without it, they are refused with a note suggesting that you convert them to MP4.",[156,183,185],{"id":184},"ingest-a-folder-in-place","Ingest a folder in place",[152,187,188,189,191],{},"Open ",[164,190,166],{},", type the path of a folder into the field at the bottom, and press Enter. Every video file in the folder, including its subfolders, is decoded where it is, without copying. This is useful for an archive export from the recorder, or for a folder you keep adding clips to.",[152,193,194],{},"Re-ingesting a folder is safe. Clips are recognized by their content, so a file that was already decoded is skipped even if it has been renamed or moved.",[156,196,198],{"id":197},"stored-data","Stored data",[152,200,201],{},"For every clip, the decoder keeps the value changes, the spans during which each state or string was live, and the trust spans that say which parts of the clip were signed, chained, decoded, tampered with, or missing. The video file itself is used only for playback beside the timeline.",[152,203,204,205,208],{},"If a file decodes but contains no DataBorder, it is rejected with the message \"no DataBorder data recovered\". See ",[206,207,121],"a",{"href":122},".",[156,210,212],{"id":211},"cameras-and-clips","Cameras and clips",[214,215],"shot",{"alt":216,"caption":217,"name":218},"The clips library: one badge per camera, and a table of clips with camera, file name, recording time, duration and size.","The clips library.","decoder-library",[152,220,221,222,224],{},"The ",[164,223,166],{}," button in the header shows the current selection and opens the library. At the top of the library there is one badge per camera, which carries the first characters of that camera's signing-key fingerprint. Below the badges is the table of clips, with the camera, the file name, the time it was recorded, its duration and its size.",[152,226,227],{},"Click a row to show only that clip on the timeline. Tick several rows, on one camera or across cameras, to show them together. The video panel then plays through them in order.",[152,229,230],{},"The camera's identity comes from the DataBorder, not from the file name, so clips from one camera line up on one timeline regardless of what they were called. A clip that is too short to carry the identity, which means a clip of only a few seconds, is listed under a camera named \"unknown\".",[152,232,233],{},"Deleting a clip removes its decoded data from the database. The video file stays where it is.",{"title":235,"searchDepth":236,"depth":236,"links":237},"",3,[238,240,241,242],{"id":158,"depth":239,"text":159},2,{"id":184,"depth":239,"text":185},{"id":197,"depth":239,"text":198},{"id":211,"depth":239,"text":212},"Opening clips and the clips library.","md",{},true,{"title":90,"description":243},null,"eX80iezD5flsJ0InW6p7NrgTe9r5O4NRpliqq69_RTg",[251,253],{"title":23,"path":87,"stem":88,"description":252,"children":-1},"Installing the decoder on macOS and Windows.",{"title":65,"path":94,"stem":95,"description":254,"children":-1},"Recording the camera's RTSP stream in segments.",1788953751677]