Skip to content

Capturing

Aurumaker72 edited this page Dec 15, 2024 · 5 revisions

Capturing a gameplay video using Mupen64's capture functionality is recommended over using external capture software such as OBS, as the video and audio streams are guaranteed to be steady and clean.

This page details some tips for capturing.

1 - Choose a video plugin

✅ Do

Use a video plugin which either:

  • implements MGE (e.g. bettergln64)

or

  • implements readScreen correctly (e.g. GLideN64)

❌ Don't

Use a plugin such as Jabo's Direct3D8 or Direct64, as they are too unstable during capture.

2 - Choose an encoder

There are currently two encoders: VFW and FFmpeg.

VFW

VFW is the legacy encoder implementation.

To produce videos with reasonable quality and size, it's recommended to install the x264vfw codec and select it in the VFW codec dialog upon starting a capture.

FFmpeg

The FFmpeg encoder requires an installation of FFmpeg to work.

To install FFmpeg, download the latest release build and extract it to your C:\ drive.

If FFmpeg is still not detected by Mupen, check that the FFmpeg path in the Mupen settings matches the path in the filesystem.

3 - Choose a mode

Plugin

This mode captures only the video plugin output.

✅ Offers the best performance, especially if the chosen video plugin implements MGE.

❌ Graphics drawn by Lua scripts will not be visible.

Window

This mode captures the Mupen window.

✅ Doesn't require a graphics plugin which implements MGE.

❌ Graphics drawn by Lua scripts will not be visible.

Screen

This mode captures the entire screen and crops the image to the Mupen window.

✅ Doesn't require a graphics plugin which implements MGE.

✅ Graphics drawn by Lua scripts will be visible.

❌ Requires the Mupen window to be kept visible and unoccluded at all times.

❌ Poor performance.

Hybrid

This mode captures the game graphics using the video plugin and composites Lua graphics on top.

✅ Graphics drawn by Lua scripts will be visible.

✅ Doesn't require a graphics plugin which implements MGE.

✅ Offers good performance.

❌ High memory requirements.

Troubleshooting

Mupen crashes after a few frames have gone by

When encoding at large resolutions using VFW

Mupen might have run out of memory.

Try using FFmpeg instead.

When encoding at large resolutions using FFmpeg

The memory pressure can be very high during the first 30 frames of capture, leaving Mupen to operate with barely a few megabytes of memory.

Avoid performing any action in the UI, such as opening dialogs or starting movie playback.

I am getting the error "Audio frequency changed during capture. The capture will be stopped."

The emulator can't be reset during a capture.

Consequently, you shouldn't do anything which resets the emulator, such as pressing Reset ROM or playing back a movie which starts from console startup, while a capture is running.