Why video needs its own checks
A video file can open and play and still be useless for training: the picture freezes for minutes, the camera points into darkness, or the lens is covered in dirt. Because one clip holds thousands of frames, these problems are easy to miss by watching a few seconds.
What to check
- Frozen footage: consecutive frames that are identical or almost identical, often after a camera or encoder fault.
- Dark and overexposed parts: long stretches where the image is mostly black or mostly white.
- Blur and dirty lens: loss of fine detail across the whole frame, or a blurred region that stays in the same place while the scene moves.
- Dropped frames and gaps: jumps in the timestamps or a frame rate that changes inside the file.
- Broken files: clips that stop decoding part-way, or that the training pipeline cannot read.
- Resolution and frame rate: mixed formats that your pipeline will silently resize or resample.
Sample or decode everything?
Looking at a handful of frames per clip is fast but misses short events: a five-second freeze between two sampled frames is invisible. Decoding every frame, or a dense sample, finds them but costs more compute, especially at 4K and above. Choose the sampling rate from the shortest problem you care about.
Report time ranges, not just clips
A one-hour clip with two minutes of frozen footage is still 58 minutes of good data. Report each problem with its start and end time so you can cut or skip the bad part instead of discarding the whole file, and keep the original.
Keep a record
Note which checks you ran, at what sampling rate, how much footage each one flagged and what you decided. Without the sampling rate, a “clean” result means little.