Skip to content

Broken Pipe and mpv JSON IPC timeouts #503

@GH0STDATA

Description

@GH0STDATA

Describe the bug
There are two critical problems that I've been experiencing lately with jellyfin-mpv-shim on Windows:

  1. Almost constant external MPV start timeouts. It seems to have something to do with the python_mpv_jsonipc repo located here: https://github.com/iwalton3/python-mpv-jsonipc
  2. Random broken pipe errors which cause mpv to crash when trying to play an episode or movie.

The first issue was mentioned here: #454

I tried the fix listed in the latest comment in that thread and it didn't really change much, the issue still occurs. The first bug unfortunately makes jellyfin mpv shim almost unusable in its current state. The second bug doesn't happen as often, but it does occur from time to time.

To Reproduce
Steps to reproduce the behavior:

The usual steps, simply try launching jellyfin-mpv-shim and watch it crash after attempting to connect your external mpv installation to the Jellyfin server a few times. Try playing a video and watch it occasionally crash with a broken pipe error.

Expected behavior
This hasn't been updated for almost a year now, and it seems that numerous upstream changes with both Jellyfin and mpv are causing new issues to arise with this software. The expected behavior is that the shim should work without mpv timeouts or broken pipe errors.

Desktop (please complete the following information):

  • OS: Windows 11 24H2
  • Version: v2.9.0 (latest)
  • Jellyfin Version: 10.11.6

Error Messages

2026-02-01 15:35:12,432 [    INFO] player: Using external mpv playback backend.
2026-02-01 15:35:22,541 [ WARNING] mpv-jsonipc: MPV start failed.
Traceback (most recent call last):
  File "python_mpv_jsonipc.py", line 430, in __init__
  File "python_mpv_jsonipc.py", line 250, in __init__
python_mpv_jsonipc.MPVError: MPV start timed out.
2026-02-01 15:35:32,646 [ WARNING] mpv-jsonipc: MPV start failed.
Traceback (most recent call last):
  File "python_mpv_jsonipc.py", line 430, in __init__
  File "python_mpv_jsonipc.py", line 250, in __init__
python_mpv_jsonipc.MPVError: MPV start timed out.
2026-02-01 15:47:37,177 [    INFO] trickplay: Collecting trickplay images...
2026-02-01 15:47:37,683 [   ERROR] websocket: error from callback <function WSClient.run.<locals>.<lambda> at 0x00000270BB56AD40>: handle is closed
2026-02-01 15:47:37,683 [   ERROR] JELLYFIN.jellyfin_apiclient_python.ws_client: handle is closed
2026-02-01 15:47:40,274 [   ERROR] trickplay: Could not get trickplay data.
Traceback (most recent call last):
  File "python_mpv_jsonipc.py", line 89, in send
  File "multiprocessing\connection.py", line 184, in send_bytes
  File "multiprocessing\connection.py", line 137, in _check_closed
OSError: handle is closed

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "jellyfin_mpv_shim\trickplay.py", line 90, in run
  File "jellyfin_mpv_shim\utils.py", line 54, in _synchronizer
  File "jellyfin_mpv_shim\player.py", line 934, in script_message
  File "python_mpv_jsonipc.py", line 639, in command
  File "python_mpv_jsonipc.py", line 335, in command
  File "python_mpv_jsonipc.py", line 92, in send
BrokenPipeError: handle is closed

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions