Turn a camera, screen or recording into a dataset
Choose where frames come from, then decide which ones are worth keeping. AnnotateIt brings camera capture, screen sharing, video-file playback and desktop network cameras into the same local collection workflow, with a review stage before media enters your dataset.
Choose a source
Camera, screen, local video or network camera
Select useful frames
Manual, timelapse, motion or Smart
Inspect and accept
A staged gallery before import
Build ground truth
Annotate, review, split and evaluate
Which sources can I use?
| Source | Availability | How it works |
|---|---|---|
| Camera | Available with camera permission | Use a webcam or a device camera. Collect stills manually or with capture rules; record silent clips when the recorder is supported. |
| Screen, window or tab | Where screen sharing is supported | Choose a surface in the system picker each time. Collect stills or record silent clips. Screen capture is unavailable on mobile and in the native macOS app; a compatible desktop browser or Windows build must expose screen sharing. |
| Video file as a source | Available with a playable file | Play a local recording through the capture workflow, with playback speed and looping controls. AnnotateIt keeps a copy in its private local storage for later sessions. Select the file again if that copy could not be saved or is no longer available. Collected stills retain their position in the recording. |
| IP camera (RTSP / HTTP) | Desktop app (Windows and macOS) | Connect a network camera by its direct stream address. The bundled FFmpeg decodes RTSP/RTSPS and HTTP(S) video such as MJPEG and HLS at up to 15 fps without audio, or polls an HTTP(S) JPEG snapshot once per second. The username and password stay separate from the address, and the password is held in memory only until the app closes. Not available in the browser or on mobile. |
| Watched image folder | Not implemented | Automatic ingestion as files arrive is not available. You can already import an existing folder through Upload media. |
One collection workflow
- Open Capture from the media upload workflow. Select a built-in source or create a named source you can reuse. Test a configured source before starting when a probe is available.
- Grant camera or screen permission, select a playable local video, or enter a network camera address in the desktop app. Screen capture always uses the system surface picker; a saved name does not grant permanent screen access.
- Take stills manually, collect at an interval, trigger on motion, or use Smart capture for uncertain predictions or visual diversity. Available Smart signals depend on the project, ready models and device.
- Review the collected images and remove unwanted frames. Accept imports the remaining media. Optional pre-annotation can attach model suggestions to captured stills; check them before treating them as ground truth.
- Filter the imported media by its source or capture reason, correct labels, run quality checks and create a saved split and dataset version.
Mine a recording, or annotate the whole video
Video file as a capture source
For selecting a useful set of still images.
- Play, change speed or loop the recording.
- Use the same capture rules as a camera.
- Accept the selected stills with their recorded timestamps.
Import video into a dataset
For timeline annotation and frame extraction.
- Import a supported CFR or VFR video.
- Use tracks, frame annotations or classification ranges for the project task.
- Extract frames with annotation transfer when an image dataset is needed.
A local video source is playback on your device, not an outbound streaming service. It must be playable by the browser or WebView. Native dataset video import has separate codec and frame-timing checks; support for extracting AVI/MKV frames does not guarantee that the same file can play as a capture source.
Record silent clips from a camera or screen
Camera, screen and network-camera sources can record a clip when MediaRecorder supports an available MP4 or WebM type. No microphone audio is requested. The completed clip is staged for review before Accept. Video-file sources collect stills; they do not re-record the input as a new clip.
IP cameras in the desktop app; watched folders not yet
In the Windows and macOS app, add an IP camera source with the camera’s direct RTSP, RTSPS, HTTP or HTTPS stream address, or an HTTP(S) JPEG snapshot endpoint. The bundled FFmpeg decodes it on your machine; nothing is relayed through a server. Authenticated cameras use the separate username and password fields; the password is kept in memory until the app closes and must be entered again after a restart. The browser and mobile apps cannot open a network stream — capture the camera’s web player with a Screen source there. Watched-folder ingestion is not implemented; import an existing folder through Upload media instead.
Frequently asked questions
- Can AnnotateIt connect directly to an RTSP camera?
- Yes, in the desktop app for Windows and macOS. Add an IP camera source with the direct RTSP or HTTP(S) stream address, and the bundled decoder turns it into frames for photos, capture rules and silent recording. The browser and mobile builds cannot open a network stream.
- Can I use a video file like a camera feed?
- Yes. Select a playable local video as the capture source, adjust speed or looping, and collect stills with manual, timelapse, motion or available Smart rules. This does not broadcast the file over the network.
- Does capture immediately add everything to the dataset?
- No. Captures stay in a local staging gallery until you select Accept. You can inspect and remove items first.