OBS Studio defaults recording to MKV for a specific technical reason: an MP4 file needs its moov atom (container index) written when the file is closed, and if OBS crashes mid-recording, the moov never gets written and the file becomes unrecoverable. MKV writes its index incrementally, so a crashed MKV can still be salvaged and played. That trade-off is why every OBS installation says "record MKV, remux to MP4 later" in the docs.
But there are two ways to configure OBS to write MP4 directly without giving up crash safety. Which one you pick depends on your streaming workflow.
#Option 1: Fragmented MP4 (OBS 30+)
Fragmented MP4 (fMP4) breaks the file into a series of self-contained fragments, each with its own tiny moov + mdat pair. If OBS crashes mid-recording, every fragment written up to the crash is playable independently - the recording after the crash is lost, but everything before it survives cleanly. This is essentially the same crash-safety property as MKV, in an MP4 container.
Configuration: Settings → Output → Recording, and set:
- Recording Format: fragmented MP4 (.mp4)
- Video Encoder: your choice (NVENC H.264, x264, NVENC HEVC on RTX 20+, VideoToolbox H.264 on Apple)
- Audio Encoder: AAC
fMP4 recordings play in every modern MP4 player (VLC, QuickTime, mpv, browsers, mobile OSes). Some older tools that expect a monolithic MP4 with a single moov may not read them - Adobe Premiere Pro handles them from CC 2022 onward, Final Cut Pro from 10.5 onward. When in doubt, Wave's OBS to MP4 page can remux fMP4 to standard MP4 in seconds.
#Option 2: Hybrid MP4 (built-in remux at stop)
OBS has a checkbox that automatically remuxes the recording from MKV to MP4 the moment recording stops. Configuration: Settings → Advanced → Recording, set "Automatically remux to MP4" to yes. Recording still happens as MKV (with all its crash-safety); as soon as you click Stop Recording, OBS runs the remux and saves both the .mkv and .mp4 files to your recording folder. Crash-safe recording, MP4 output automatically.
Trade-off: the remux step takes 10-60 seconds depending on the recording length. If you're in a fast turnaround workflow (streaming clip → immediate upload), that pause is annoying. If you're recording longer sessions and reviewing/editing later, the pause doesn't matter.
#Option 3: Direct MP4 (fragile, not recommended)
You can also just tell OBS to write MP4 directly with a single moov at the end - Settings → Output → Recording → Recording Format: MP4 (.mp4). This works. It also means an OBS crash during recording produces an unrecoverable file, which is a terrible surprise the first time it happens on a long stream. This is not the recommended path unless you're confident OBS won't crash and you need MP4 output without the remux latency of Option 2.
#Which encoder settings matter for the MP4 output
For the actual video encode, the important settings inside Settings → Output → Recording are:
- Video Encoder: NVIDIA NVENC on NVIDIA GTX 10+ / RTX cards (fastest, hardware-accelerated), Intel QuickSync on 8th-gen+ Intel iGPUs (fast, decent quality), Apple VideoToolbox on modern Macs (fast, decent quality), or x264 as software fallback (slowest, best quality per bitrate). For streaming-adjacent recording, NVENC and QuickSync are the practical choices - the CPU headroom stays available for the encoding pass.
- Rate Control: CBR (Constant Bit Rate) for predictable file sizes; CQP (Constant Quantiser Parameter) for quality-first with variable file size; VBR (Variable Bit Rate) as a middle-ground. For local recording (not streaming), CQP at value 20-23 produces high quality at moderate file size.
- Keyframe Interval: 2 seconds. Modern streaming standards expect keyframes every 2 seconds; older recording tools sometimes default to 10 seconds which makes seeking painful.
- Preset: For NVENC: "Quality" or "Max Quality". For x264: "veryfast" or "faster" for real-time; "slow" for archival.
- Profile: High. Every modern player handles High profile H.264.
- B-frames: 2. Improves compression efficiency at the cost of slight encode latency; harmless for recording (not streaming).
#When the MP4 output still needs Wave
- Multi-language / multi-track audio. OBS supports separate audio tracks for desktop, browser, microphone, and game audio - useful for post-editing. Fragmented MP4 preserves multiple audio tracks; some monolithic MP4 players don't. Wave's OBS page can strip to a single default track if the target is a chat client that doesn't handle multi-track.
- Legacy destinations that expect standard MP4. Some upload pipelines refuse fMP4. Wave remuxes fMP4 to standard MP4 in seconds.
- Compression to a specific size. OBS records at your chosen bitrate; if the recording is bigger than your destination allows (Discord tier, email attachment), a compression pass follows the recording. Wave doesn't currently do target-size compression; HandBrake locally is the tool.
#The takeaway
OBS's MKV default is the crash-safe choice, but there are two paths to MP4 without giving up crash safety: fragmented MP4 (OBS 30+, native), or automatic remux at stop (any version). Both produce standard-playable MP4 files. Direct MP4 recording works but is fragile against crashes and not recommended. When the OBS output still needs container fixes (fMP4 to standard MP4, multi-track to single-track), Wave handles the remux in the browser.