Is it a Virus?
✔ NO - Safe
Must be in C:\Program Files\mpv\mpv.exe
Can I Disable?
✔ YES
Disabling IPC will prevent external frontends from controlling mpv; playback remains local but automation and remote control stop.
Is IPC Secure?
✔ Yes, if access is restricted and the IPC endpoint is local.
IPC should be restricted to trusted frontends or scripts; keep socket/pipe permissions tight.
What is mpv.exe?
mpv-ipc is the inter-process communication interface used by mpv Media Player to receive commands and status requests from external tools. When enabled, mpv opens a local IPC channel (UNIX domain socket on Unix-like systems or a Windows named pipe) that accepts JSON messages for playback control, property queries, and event subscriptions.
IPC works by exposing a socket or pipe that clients connect to, sending JSON commands (e.g., {"command":["set_property","volume",50]}) and receiving status responses or event notifications from mpv.
Quick Fact: mpv-ipc enables scripting frontends and automation by sending JSON messages; it is lightweight and concentrates playback control inside the mpv process.
Types of MPV Processes
- Main MPV Process: The core mpv process that handles decoding and playback, also hosting the IPC interface.
- IPC Handler: Internal listener that accepts JSON messages from clients and routes them to the playback engine.
- Video Decoder: Video decoding pipeline, possibly hardware-accelerated.
- Audio Decoder: Audio decoding pipeline and resampling.
- Demuxer: Container format parser and stream demultiplexer.
Is mpv-ipc Safe?
Yes, mpv-ipc is safe when mpv is obtained from official sources and access to the IPC endpoint is restricted to trusted frontends.
Is mpv-ipc a Virus or Malware?
The mpv-ipc interface itself is not a virus. Malware can masquerade as a legitimate IPC endpoint; always verify the mpv binary path and the signer.
How to Tell if mpv-ipc is Legitimate or Malware
- File Location:: Must be in C:\Program Files\mpv\mpv.exe or /usr/bin/mpv. Any mpv.exe elsewhere is suspicious.
- Digital Signature:: Right-click mpv.exe in Windows -> Properties -> Digital Signatures. Should show signer 'MPV Project' or 'MPV Contributors'.
- IPC Endpoint Path:: The IPC path should be a local socket or pipe, not a remote port (e.g., C:\Users\Public\Documents\mpv\ipc.sock or \\.\pipe\mpv-ipc).
- Resource Usage:: Normal IPC activity shows light CPU; persistent high usage with IPC enabled warrants malware check.
Red Flags: If the IPC path is outside expected folders (e.g., C:\Windows\System32) or the mpv.exe lacks a valid signature pointing to 'MPV Project', scan for malware.
Why Is mpv-ipc Running on My PC?
mpv-ipc runs when mpv is launched with an IPC server or when a frontend connects to a running mpv instance. The IPC channel stays active for external control, status requests, and event subscriptions, and closes when mpv exits.
Reasons it's running:
- Active MPV Session: An mpv instance is running with IPC enabled or a frontend connected, so the IPC channel is active.
- Frontend Tools Connected: Applications like mpvnet, SMPlayer, or custom scripts connect to the IPC server to issue commands.
- Startup IPC Server: IPC server may start automatically when mpv launches from a launcher or a startup script.
- Scripting/Automation: Automation tasks or batch scripts periodically query or control mpv via IPC.
- Background or Persisted IPC: Some frontends keep a persistent IPC channel open to monitor playback state even when a window is minimized.
Can I Disable or Remove mpv-ipc?
Yes, you can disable IPC usage. If you do not start mpv with --input-ipc-server or remove frontends, external control stops, but local playback remains unaffected.
How to Stop mpv-ipc
- Do not start IPC server: Launch mpv without --input-ipc-server or disable frontends that rely on IPC.
- Disable Frontends: In apps like mpvnet/SMPlayer, disconnect or unbind the IPC connection.
- Shutdown MPV: Close all mpv windows or send quit command to gracefully stop playback.
- Remove IPC Endpoint: Delete or rename the IPC socket/file path (on Unix: /tmp/mpv-socket; on Windows: the named pipe).
- Prevent Startup: Remove startup items or scheduled tasks that launch mpv with IPC.
How to Uninstall mpv
- ✔ No separate uninstaller for mpv-ipc; uninstalling mpv removes the IPC server.
- ✔ On Windows, use Apps & Features to uninstall mpv; consider using a different front-end if desired.
Common Problems: IPC Connection Issues
If mpv-ipc is slow or unresponsive, issues typically involve IPC connection problems, misconfigured paths, or front-end permissions.
Common Causes & Solutions
- IPC Path Misconfiguration: Double-check the path configured in the front-end and in mpv's --input-ipc-server setting; use absolute path.
- Permissions Blocked: Adjust file/pipe permissions so the frontend can connect (use icacls or chmod as appropriate).
- IPC Server Not Started: Ensure mpv is launched with --input-ipc-server and the socket/pipe exists.
- Frontend Outdated: Update the frontend to a version compatible with your mpv IPC protocol.
- Incorrect JSON: Send valid JSON commands; wrap strings and arrays correctly.
- Resource Contention: Limit the number of connected clients or batch requests to reduce overhead.
Quick Fixes:
1. Quick Fixes:
2. 1. Verify the IPC endpoint path (e.g., C:\Program Files\mpv\mpv.exe for binary and \\.\pipe\mpv-ipc for Windows IPC).
3. 2. Ensure the appropriate permissions on the IPC endpoint so trusted apps can connect.
4. 3. Check front-end settings to point to the correct IPC path.
5. 4. Restart mpv after changes to IPC configuration.
6. 5. Update mpv to the latest version with ipc support.
Frequently Asked Questions
What is mpv-ipc and how does it work?
mpv-ipc is the IPC interface of mpv that lets frontends send JSON commands to a running mpv instance. It uses a local socket or named pipe for communication when enabled.
How do I enable mpv IPC on Windows?
To enable mpv IPC on Windows, run mpv with --input-ipc-server=\\.\pipe\mpv-ipc and point your frontend to that path.
Can I control mpv with Python or other scripting languages?
Yes. You can control mpv from Python, Node, or other languages by opening the IPC endpoint and sending JSON commands, using libraries or custom code.
Is mpv-ipc secure?
mpv-ipc is as secure as your IPC permissions. Keep the IPC endpoint local, restrict access to trusted users, and avoid exposing it on networks.
What commands can I send via mpv-ipc?
Common commands include set_property, get_property, loadfile, pause, resume, seek, and observe_property for event updates.
Where can I find mpv-ipc documentation?
Documentation for mpv IPC is available in the mpv manual and in the source repository; look for input-ipc-server and IPC protocol sections.