Effects iOS
Effects / Guides / Video recording / iOS

Record AR-filtered video on iOS with Nosmai Effects

Updated August 22, 2026

Start and stop a Nosmai recording, then handle the finalized temporary video URL.

Prerequisites

Start recording

[[NosmaiCore shared] startRecordingWithCompletion:^(BOOL success, NSError *error) {
    if (!success) {
        NSLog(@"Recording did not start: %@", error.localizedDescription);
    }
}];

Stop and receive the video

[[NosmaiCore shared] stopRecordingWithCompletion:^(NSURL *videoURL,
                                                    NSError *error) {
    if (videoURL != nil) {
        NSLog(@"Video ready at %@", videoURL);
        return;
    }

    NSLog(@"Recording failed: %@", error.localizedDescription);
}];

The URL points to the finalized recording. Copy or export it before deleting temporary application data.

Lifecycle rule

Stop and finalize recording before switching camera, leaving the screen, or stopping processing. Ignore repeated record-button taps while a start or stop operation is in progress.

Verify it worked

Record a short clip with a visible effect, wait for the stop completion, and play the returned URL. Confirm orientation, effect output, duration, and audio.

Common errors

SymptomCauseFix
Recording does not startThe camera is not ready or recording is already activeWait for preview startup and guard duplicate starts
The returned URL disappears laterThe app kept a temporary URL without copying or exporting itMove the finalized file before temporary data is cleaned

Next steps

References

Nosmai

An AR and AI company. Founded on the idea that the next decade of software will be visual, and that the tools for it should be within reach of anyone building.

Newsletter

Product updates and release notes. No spam.

© 2026 nosmai, inc · all rights reserved