Two ways to make App Store preview videos. One involves memorizing codec flags.
ffmpeg -i input.mov \ -vf "scale=886:1920:force_original_aspect_ratio=decrease,\ pad=886:1920:(ow-iw)/2:(oh-ih)/2,fps=30,\ tpad=stop_mode=clone:stop_duration=15" \ -c:v libx264 -pix_fmt yuv420p -preset medium \ -crf 18 -maxrate 12M -bufsize 24M \ -profile:v high -level:v 4.0 \ -c:a aac -b:a 256k -ac 2 -ar 48000 \ -t 30 -shortest -movflags +faststart \ output.mp4
And that's just for one device. You need a different resolution for each of the 8 Apple device classes.
Works for all 8 devices. Every spec handled automatically.
| Feature | FFmpeg | LaunchSpec |
|---|---|---|
| Resolution handling | Manually calculate and specify exact pixel dimensions per device | Automatic — select device, resolution is handled |
| Frame rate | Add fps filter, hope your source isn’t VFR (it probably is) | VFR-to-CFR conversion at 30 fps, always |
| Audio encoding | Specify AAC, stereo, 48 kHz, 256 kbps — miss one and it’s rejected | Correct audio encoding on every conversion |
| Duration enforcement | Combine tpad for padding + -t for trimming, test edge cases | Automatically padded to 15s minimum, trimmed at 30s |
| Time to convert | 5–20 minutes (research, write command, debug, re-run) | Under 60 seconds, start to finish |
| Knowledge required | Codec profiles, filter graphs, container formats, Apple’s spec sheet | None |
| Multiple devices | Rewrite the command for each of 8 device resolutions | Pick a different device from the dropdown |
8 different resolution targets with exact pixel counts
VFR-to-CFR conversion requires understanding filter chains
Audio must be AAC stereo at 44.1 or 48 kHz — not mono, not surround
Duration must be 15–30 seconds — tpad for padding, -t for trimming
H.264 High Profile Level 4.0 — not Baseline, not Main
faststart flag required for streaming
One wrong flag and App Store Connect silently rejects
If you're comfortable with FFmpeg, more power to you. But even FFmpeg experts waste time looking up Apple's exact specs for each device, re-running conversions when something's off by a pixel, and maintaining shell scripts across 8 device targets. LaunchSpec isn't about replacing your skills — it's about not spending 20 minutes on something that should take 20 seconds.
Drop your screen recording and get a compliant preview. No flags, no filters, no frustration.
Convert Now