Back to LaunchSpec

Error: The frame rate of your app preview video is not supported

Fix: Wrong Frame Rate

App Store Connect rejection

What this error means

Apple requires all App Store preview videos to be encoded at exactly 30 fps constant frame rate (CFR). Videos with variable frame rate (VFR) or any other frame rate — 24fps, 25fps, 29.97fps, 60fps — are silently rejected by App Store Connect.

This is one of the most common and frustrating rejections because VFR videos look identical to CFR videos when you play them. There's no visual difference. But App Store Connect checks the metadata and rejects anything that isn't constant 30 fps.

Why it happens

iOS screen recording uses VFR

The built-in iOS screen recorder only captures frames when the screen content changes. Static screens produce fewer frames per second, while animations produce more. The result is a variable frame rate file that App Store Connect rejects.

macOS QuickTime records VFR

QuickTime Player’s screen recording feature also uses variable frame rate encoding by default. Even if the recording appears smooth at 30fps during playback, the underlying frame timing is variable.

Video editing software exports at wrong fps

Many editors default to 24fps (cinematic), 25fps (PAL), or 60fps (smooth motion). If you don’t explicitly set 30fps in your export settings, the output won’t match Apple’s requirement.

Some tools convert CFR to VFR during export

Certain editing and compression tools silently convert constant frame rate to variable frame rate as an optimization. The output file may report 30fps in its metadata, but the actual frame timing is variable.

How to check your frame rate

You can check your video's frame rate with ffprobe from the command line. This shows both the declared frame rate and the average frame rate — if they differ, your file is VFR:

ffprobe -v error -select_streams v:0 -show_entries stream=r_frame_rate,avg_frame_rate -of csv=p=0 input.mp4

If both values show 30/1, your file is 30fps CFR. If they differ (e.g., 30000/1001 vs 24576/823), the file is VFR and needs to be re-encoded.

The manual fix

You can force constant 30fps using FFmpeg:

ffmpeg -i input.mp4 -vf "fps=30" -c:v libx264 -profile:v high -c:a aac output.mp4

This fixes the frame rate, but you also need the correct resolution for your target device, H.264 High profile encoding, AAC stereo audio at 48 kHz, duration between 15 and 30 seconds, and the faststart flag. Getting one spec right while missing others still results in rejection.

The easy fix

LaunchSpec automatically converts any VFR or wrong-fps recording to constant 30 fps — along with every other technical requirement App Store Connect checks. Upload your screen recording, select your device, and get a file that passes validation on the first upload. No command line required.

Fix Your Video Now

Related

Stop debugging frame rates

Upload your screen recording. Pick the device. Get a video that passes App Store Connect on the first try.

Convert Now