Skip to content

TyRaS-SW/MPV-SW-Capture

Repository files navigation

MPV‑SW‑Capture

Configurable and ready‑to‑use MPV for Windows, adapted for USB 3.0 capture cards to play your own real Video Game Console (such as SW/2, or any other) with minimal lag/latency and with many extra features.

MPV‑SW‑Capture Logo


📋 Features

  • Play any console (Nintendo Switch / Switch 2 or any other) through your USB capture card using MPV.
  • With minimal lag/latency – play your real console with minimal lag/latency. Nearly the same as connect it directly to TV.
  • Portable – copy/move and use the whole folder in any location; it will work there without reinstallation.
  • Custom menu (accessible via right‑click or a hotkey) with:
    • Shaders – load shaders to improve image quality up to 4K or switch to retro looks (CRT TV, VHS, CRT arcade, etc.).
    • Shapes – change the shape of how screen looks (CRT TV, VHS, CRT arcade, etc.).
    • Crop – crop the window to the exact size of a NSO system (GBA, NES, SNES, etc.).
    • Bezels – overlay special border images (e.g., SNES NSO bezel) for an authentic feel.
    • Window options – resize, reposition, set Always on Top, and more.
    • Screenshots – automatically save screenshots to your MPV folder.
    • Video recording – record 30/60/90/120 seconds of good‑quality, small‑size video.
  • Customize the menu, replace and add your own bezels and shaders.

⚙️ How it works (minimal lag/latency audio + video)

MPV alone can introduce noticeable latency when handling both audio and video from a capture card.
This setup splits the workload:

  • MPV handles the video stream only.
  • ffplay (from the ffmpeg bundle) handles the audio stream only.

Both programs run silently, stay in sync, and together deliver minimal lag/latency gameplay with audio and video.

📦 Requirements

  • A PC with USB 3.0 (USB 2.0 works but performance will be noticeably worse).
  • A capture card that supports 1080p60 and provides loop‑through (input + output) – e.g., “4K Ultra HD USB 3.0 HD Video Capture (MS 2131)” or any similar device.
  • Your own official video game console.
  • mpv player: not distributed in this repository. Download an appropriate build (for example, the official Windows builds by zhongfly: https://github.com/zhongfly/mpv-winbuild/releases, or your distro’s packages).
  • ffmpeg/ffplay: not distributed in this repository. Download from the official project or a trusted build provider (for example, the Essentials build from https://www.gyan.dev/ffmpeg/builds/).

Note: mpv and ffmpeg/ffplay are third‑party dependencies with their own licenses (LGPL/GPL, etc.). They are required to use this project but are not bundled in this repository or its release assets.

🛠️ Installation (step‑by‑step)

  1. Download files

  2. Prepare the folder

    • Create a folder (e.g. MPV-SW-Capture) anywhere you like.
    • Open the latest MPV version (zhongfly build) you downloaded and extract only mpv.exe into that folder.
    • Open ffmpeg-git-essentials.7z, go to the bin folder, and copy ffplay.exe and ffmpeg.exe into the same folder where mpv.exe lives.
    • Open the latest MPV‑SW‑Capture release and extract all the files into this same folder.

    You should end up with something like:

    MPV-SW-Capture/
    ├── bezels/
    ├── scripts/
    ├── shaders/
    ├── Setup_MPV-SW-Capture.exe
    ├── ffmpeg.exe
    ├── ffplay.exe
    ├── input.conf
    ├── menu.conf
    ├── MPV-SW-Capture.bat
    ├── MPV-SW-Capture.exe
    ├── mpv.conf
    └── mpv.exe
    
  3. First setup

    Connection

    • Connect your capture card to your PC using USB 3.0 (or USB 2.0).
    • Connect HDMI from your console to the input of the capture card.

    Setup file

    • Inside the folder, run Setup_MPV-SW-Capture.exe. You will find a GUI window similar to this:
      MPV‑SW‑Capture Setup
    • If you have the files in the folder, you will see ffplay.exe: Found! and menu.conf: Found!
    • If you want to change your GUI Language to Spanish, press the ES button. You can swap wherever you want.
    • Press "Scan Device", it will list all audio and video devices currently attached. (If nothing is connected, the list will be empty. Connect your devices, and try pressing the button again.)
    • Choose the video device in the list and then the audio device (must be the same type as the capture card).
    • Choose Date Format, Auto Start Special Shaders, Default Record Video Time, Create Desktop Shorcut, to set your preferences.
    • When you are ready, press the green "Apply Setup" button.
    • If all is okay, you will receive a message with the changes.
  • OPTIONAL: You can translate the MENU tu Spanish if you want. You must press "MENU: English <- -> Espanol". You can do it without using the main options (It's independent)
  1. Launch the stream in MPV-SW-Capture
    • Run MPV-SW-Capture.exe (you can create a desktop shortcut for convenience).
    • If everything is set correctly, you will see your console with audio and video.
    • To access the menu, right‑click inside the window or press ESC. Double‑click toggles full screen.

🖼️ Screenshots / Examples

Some visual examples of MPV‑SW‑Capture in action:

Custom Menu Shader+Shape example
Custom Menu Shader example
Right‑click / ESC menu with shaders, bezels, crop, window and capture options. Example of a CRT‑style shader+CRT Curved Shape applied through MPV‑SW‑Capture.
Bezel example Crop example
Bezel example Crop example
Example bezel applied around the captured image for a more authentic look. Window cropped to match a GB resolution in NSO, using the crop presets. Perfect if you don't want the normal borders.
Stretch window example Combination example
Stretch window example Combination example
Stretch Window option enabled to fill more of the screen while keeping the capture visible. Example of a Combination of Shader+Crop (to 4:3)+Stretch. Crop cannot mix with Bezel.

Bezel images included in this project are generic CRT/handheld-style frames (created/edited for this project) and are not official assets from any console or game. They are decorative overlays only.

❓ FAQ (Frequently Asked Questions)

You can find the FAQ here: FAQ

📄 LEEME en Español (Spanish README)

Puedes encontrar este README en Español aquí: LEEME

💖 Sponsors

If MPV-SW-Capture is useful to you, consider supporting development through GitHub Sponsors.
Sponsors help keep the project maintained and make new features possible.

You can also support me in Ko-fi: Support me on Ko-fi

📄 License

This project (Lua scripts, batch files, bezels, documentation, and original shaders authored by TyRaS-SW) is licensed under the MIT License – see the LICENSE file.

This repository also bundles third‑party shaders under their own licenses (BSD‑style permissive licenses, the GNU Lesser General Public License (LGPL), vendor‑specific licenses such as the AMD FidelityFX SDK license, and other upstream terms). See NOTICE.md and the headers of individual shader files for details.

The MIT License in this repository applies only to original code authored by TyRaS-SW. It does not relicense or override the terms of third‑party shaders or external binaries (mpv, ffmpeg, etc.), which remain under their respective upstream licenses.

🏷️ Trademark disclaimer

Nintendo Switch and Nintendo Switch 2 are trademarks of Nintendo Co., Ltd.
This project is not affiliated with, endorsed by, or sponsored by Nintendo.

About

Configurable and ready‑to‑use MPV for Windows, adapted for USB 3.0 capture cards to play ANY video game console with minimal lag and with many extra features.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

 
 
 

Contributors

Languages