Export produces an empty file
Export produces an empty file
Symptom
You finish an export from the Events page or the clip player, your browser downloads a file, but the result is 0 bytes — or for a CSV, the file has only the header row and no data.
Likely causes
- The clip time range spans a gap in recording. If the camera was offline, the gateway was down, or the requested range falls between two separate event clips, there is no media to mux into the output.
- The time range is shorter than one second. Clips under 1 second fail validation (PRD media-streaming §2.2) and produce a zero-byte export.
- Object storage permissions are broken. The cloud server cannot read the source clip from GCS or S3 — the presigned URL fails silently and the export finishes with no content.
- Your filter on the Events page returned zero rows. A CSV export of an empty filter produces a header-only file.
Fix
If the output is a CSV with only the header
Narrow your diagnosis before re-exporting:
- Clear the filter and confirm the Events page actually has rows.
- If the page has rows, re-apply filters one at a time. A common case is an over-narrow date range (e.g. the date picker collapsed to a single hour with no events).
- If the filter is correct and rows are present in the UI but the CSV is still empty, report a ticket — this is a known-bad state.
If the output is a 0-byte MP4
- Open the event you exported. Play it inline first — if the player cannot play the clip either, the source clip itself is unavailable (see step 3 below).
- Narrow the export range. Default is event-time ±10 seconds; try ±2 seconds within the event duration.
- Check the event’s Clip status on the event detail page. If it shows failed or snapshot only, the source video is missing — there is nothing to export. Exports of snapshot-only events are not supported in v1.
If the source clip plays inline but the export is still 0 bytes
Object storage permissions are the most likely suspect. Ask your admin to:
- Open Admin → Audit log and filter to the last 5 minutes for action
clip.export_requested. - Check the corresponding
clip.export_completedentry. If it is missing, the export failed server-side — the stderr log on the cloud server will have the reason (GCS 403, S3 AccessDenied, presigned URL expired). - Report the cloud error text to support.
If the time range is less than 1 second
Widen it. NovaVMS rejects clips under 1 second at the validation stage. The player’s range slider should snap to a 1-second minimum; if it does not, type the end-time by hand one second after the start.
Verify
- The downloaded file is non-zero.
- For MP4: the file plays in a standard player (VLC, QuickTime, Chrome’s built-in
file://preview). - For CSV: open the file — it has the header row plus at least one data row that matches what you saw in the UI.
If none of this worked
Collect the export’s event ID (visible in the URL on the event detail page) and the approximate time of the export. Open a ticket at support.novalien.com.
See also:
- Export a clip as evidence
- Export events from a camera over a date range
- Live view is black — if the source clip will not play at all