When sharing a video, you may need to hide bystanders or participants. Unlike a still photo, faces move over time, so a mask fixed in one position can expose the face later in the clip.
Browser Kitty Video Face Redactor parses MP4 / MOV files locally, detects faces with YuNet, and can apply pixelation, blur, solid fill, or emoji. The selected video is not uploaded to an app server for processing.
Faces move over time in video
A face is fixed in a still photo, but in video its position, size, and angle change over time. Faces may also become occluded or cross in front of other people.
Video redaction therefore requires more than initial detection: mask positions need to be reviewed over time and corrected where tracking drifts or a face is missed.
Face detection starts after loading MP4 / MOV
Video Face Redactor accepts H.264 / AVC when the current browser can decode that video. H.265 / HEVC input works when the browser, OS, and device expose HEVC decoding through WebCodecs. AV1 / VP9 are outside the v1.0.0 input scope.
After loading the video, YuNet runs through ONNX Runtime Web on the device. Re-analysis can use 1 / 2 / 5 / 10 checks per second, and the app also checks the final frame to reduce missed faces near the end.
Review mask alignment with playback and frame stepping
After automatic detection, play through the video in Review / Edit. Check whether mask edges expose part of a face, whether masks follow moving people, and whether a mask jumps to the wrong face.
Use Previous frame / Next frame for difficult moments. The app reviews frames using MP4 sample timestamps, which helps inspect turns, crossings, and other short transitions precisely.
Re-detect misplaced masks and add missed faces manually
If a mask is misplaced only in one scene, use Find faces in this scene again on that frame instead of restarting the entire analysis.
For faces that automatic detection misses, add a manual mask. Its duration can be one frame, ±1 / 3 / 5 seconds, or the whole video, and it can either follow edited positions or remain fixed.
Choose pixelation, blur, solid fill, or emoji
Choose Pixelate, Blur, Fill, or Emoji. If the edge of a face remains visible, increase mask padding so the covered area extends beyond the detected box.
Too much padding can cover nearby people or text, so adjust it while watching the preview. Hiding a face alone does not guarantee anonymity; other identifying cues in the video should also be reviewed before publishing.
Export H.264 MP4 and pass through compatible AAC audio
Choose Original, 1080p, or 720p output. The app checks whether the current browser/device can encode H.264 at the selected size before enabling export.
Export is H.264 MP4 even when the input is HEVC. Compatible AAC (mp4a) audio is copied without re-encoding; unsupported audio formats result in silent output after a warning in v1.0.0.
| Item | Behavior |
|---|---|
| H.264 / AVC input | Supported when the browser can decode the exact video |
| H.265 / HEVC input | Depends on browser, OS, and device WebCodecs HEVC support |
| Video output | H.264 MP4 |
| AAC audio | Compatible mp4a audio is passed through without re-encoding |
Long or high-resolution videos can use substantial memory
Local browser processing does not remove device memory limits. Long clips and 4K input can require substantial memory because compressed samples and encoded output are retained until the final MP4 is assembled.
On memory-constrained devices, start with shorter clips or 720p / 1080p output when troubleshooting. Unusual MOV structures and some rotation-metadata combinations can also affect compatibility.
The selected video is processed in the browser
The generated standalone HTML embeds the YuNet model, ONNX Runtime Web JavaScript/WASM, and MP4Box.js. Its runtime CSP includes connect-src 'none', and the generated app does not contact a CDN while running.
The hosted version still needs the initial HTML request, but after that the selected video and audio are not uploaded to an app server. A generated dist/index.html can also be opened locally for disconnected use.
Step by step
- Open Video Face Redactor and choose the MP4 / MOV whose faces need to be hidden.
- Wait for automatic face detection. If needed, re-analyze with 1 / 2 / 5 / 10 checks per second.
- Play through the video in Review / Edit and check whether masks follow faces and whether any face was missed.
- Use Previous frame / Next frame for difficult moments and Find faces in this scene again when a mask is misplaced.
- Add a manual mask for any missed face, then choose its duration and whether it follows edited positions or stays fixed.
- Choose Pixelate, Blur, Fill, or Emoji and adjust mask padding if the face edge remains visible.
- Confirm the output filename, Original / 1080p / 720p resolution, quality, and audio option.
- Export and save the H.264 MP4 locally.
- Play the completed video from beginning to end and verify masks, alignment, and audio before sharing it.
Video Face Redactor
Detect faces in video locally, redact them, and export an H.264 MP4.
Tips and limitations
- Do not export immediately after detection; pay extra attention to entrances/exits, side profiles, crossings, and fast camera motion.
- Increase padding when face edges remain visible, but check the preview so nearby people or subtitles are not covered unnecessarily.
- If only one scene is wrong, try current-scene re-detection before re-analyzing the entire video.
- Long or 4K clips can use substantial memory, so shorter clips or a lower output resolution may be easier on constrained devices.
- Face masking alone does not guarantee anonymity; review voice, background, on-screen text, and other identifying cues before publishing.
Frequently asked questions
Can it automatically find and blur faces in a video?
Yes. Loading a video starts local YuNet face detection and places masks over detected faces. Detection and tracking are not perfect, so review the complete exported video.
Can I use something other than pixelation?
Yes. Choose Pixelate, Blur, Fill, or Emoji, and adjust mask padding when the face edge needs more coverage.
What if automatic detection misses a face?
Add a manual mask. Its duration can be one frame, ±1 / 3 / 5 seconds, or the whole video, and it can follow edited positions or remain fixed.
Can I use H.265 / HEVC video?
Yes when the browser, OS, and device provide HEVC decoding through WebCodecs. Compatibility is checked when the video is selected.
What format is exported?
H.264 MP4. Even when the input is H.265 / HEVC, v1.0.0 exports H.264 video.
Is the video audio preserved?
Compatible AAC (mp4a) audio is passed through without re-encoding. Unsupported audio formats produce silent output after a warning in v1.0.0.
Is the video uploaded to a Browser Kitty server?
No. The hosted version makes the initial HTML request, but parsing, face detection, redaction, and MP4 generation run in the browser.
Can I share the result immediately after automatic detection?
Not recommended. Fast motion, occlusion, extreme angles, and very small faces can be missed or misaligned. Review the exported video from beginning to end before sharing.