Package Details: jellyfin-mpv-shim 2.0.1-1

Git Clone URL: https://aur.archlinux.org/jellyfin-mpv-shim.git (read-only, click to copy)
Package Base: jellyfin-mpv-shim
Description: Cast media from Jellyfin Mobile and Web apps to MPV
Upstream URL: https://github.com/jellyfin/jellyfin-mpv-shim
Licenses: MIT
Submitter: kruzah
Maintainer: kruzah
Last Packager: kruzah
Votes: 5
Popularity: 0.044336
First Submitted: 2020-04-01 14:52
Last Updated: 2021-05-11 21:27

Dependencies (14)

Required by (0)

Sources (1)

Latest Comments

1 2 Next › Last »

kruzah commented on 2021-03-13 21:00

@sseneca Looks like an issue with the python-pydantic dependency. I checked the change history on that package, and it seems that the maintainers picked up on that a few hours after your post, so it should be fixed now.

sseneca commented on 2021-03-13 09:40

I suddenly started getting this error today:

Traceback (most recent call last):
  File "/usr/bin/jellyfin-mpv-shim", line 33, in <module>
    sys.exit(load_entry_point('jellyfin-mpv-shim==1.8.1', 'console_scripts', 'jellyfin-mpv-shim')())
  File "/usr/bin/jellyfin-mpv-shim", line 25, in importlib_load_entry_point
    return next(matches).load()
  File "/usr/lib/python3.9/importlib/metadata.py", line 77, in load
    module = import_module(match.group('module'))
  File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 790, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/usr/lib/python3.9/site-packages/jellyfin_mpv_shim/mpv_shim.py", line 9, in <module>
    from . import i18n
  File "/usr/lib/python3.9/site-packages/jellyfin_mpv_shim/i18n.py", line 4, in <module>
    from .conf import settings
  File "/usr/lib/python3.9/site-packages/jellyfin_mpv_shim/conf.py", line 9, in <module>
    from pydantic import BaseModel
  File "/usr/lib/python3.9/site-packages/pydantic/__init__.py", line 2, in <module>
    from . import dataclasses
  File "/usr/lib/python3.9/site-packages/pydantic/dataclasses.py", line 3, in <module>
    from .class_validators import gather_all_validators
  File "/usr/lib/python3.9/site-packages/pydantic/class_validators.py", line 8, in <module>
    from .errors import ConfigError
  File "/usr/lib/python3.9/site-packages/pydantic/errors.py", line 5, in <module>
    from .typing import display_as_type
  File "/usr/lib/python3.9/site-packages/pydantic/typing.py", line 23, in <module>
    from typing_extensions import Annotated, Literal
ModuleNotFoundError: No module named 'typing_extensions'

Installing python-typing_extensions fixed this for me, so if others are having it this issue it should be added to depends

kruzah commented on 2021-01-07 13:41

Thanks @triatk. The issue appears to be python-pystray missing gobject as a dependency - I've forwarded the report to that package's maintainer, hopefully that should fix the dependency issue.

The blue screen issue is tracked upstream in this issue. It appears to be caused by graphics backend problems or something being broken in libmpv1 on KDE. Possible fixes include setting mpv_ext to true in Jellyfin MPV Shim's config file, or switching graphics renderer from OpenGL to Vulkan. You could check the linked issue and see if any of the solutions work for you.

triatk commented on 2021-01-04 08:53

@kruzah without gobject, the systray wont show under KDE, the video playback is normal. after install it, the systray is working but the video playback is bluescreen.

2021-01-04 09:50:39,381 [    INFO] conf: Loaded settings from json: 
    /home/xavier/.config/jellyfin-mpv-shim/conf.json
    2021-01-04 09:50:39,481 [    INFO] player: Using libmpv1 playback backend.
    Exception in thread Thread-4:
    Traceback (most recent call last):
      File "/usr/lib/python3.9/threading.py", line 954, in bootstrap_inner
        self.run()
      File "/usr/lib/python3.9/site-packages/jellyfin_mpv_shim/gui_mgr.py", line 179, in 
    run
        self.queue = Queue()
      File "/usr/lib/python3.9/multiprocessing/context.py", line 102, in Queue
        from .queues import Queue
    ImportError: cannot import name 'Queue' from partially initialized module 
    'multiprocessing.queues' (most likely due to a circular import) 
    (/usr/lib/python3.9/multiprocessing/queues.py)
    Process STrayProcess-1:
    Traceback (most recent call last):
      File "/usr/lib/python3.9/multiprocessing/process.py", line 315, in _bootstrap
        self.run()
      File "/usr/lib/python3.9/site-packages/jellyfin_mpv_shim/gui_mgr.py", line 439, in 
    run
        from pystray import Icon, MenuItem, Menu
      File "/usr/lib/python3.9/site-packages/pystray/__init__.py", line 48, in <module>
        Icon = backend().Icon
      File "/usr/lib/python3.9/site-packages/pystray/__init__.py", line 40, in backend
        return importlib.import_module(__package__ + '.' + module)
      File "/usr/lib/python3.9/importlib/init.py", line 127, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
      File "/usr/lib/python3.9/site-packages/pystray/_appindicator.py", line 19, in 
    <module>
        gi.require_version('Gtk', '3.0')
    AttributeError: module 'gi' has no attribute 'require_version'
Update: Thanks @kruzah. After the python-pystray update, the systray is working and after edit the config mpv_ext to true, the video playback is back to normal now.

kruzah commented on 2020-12-15 20:23

@triatk Could you post the full stack trace from Python? I cannot test without python-gobject because too many of my installed packages depend on it. Upstream does not specify it as a dependency, and it is listed as an optdepend for this package's dependency python-pywebview already. Said dependency should be usable without python-gobject if its Qt optdepends are installed instead.

kruzah commented on 2020-12-15 20:18

@chrisqq Python was recently upgraded to 3.9 in main repos, and it's likely that your installation of python-mpv was built for 3.8. You should cleanly build that package, so that it is re-built for 3.9. You can check which packages you have that are built for Python 3.8 using pacman -Qo /usr/lib/python3.8/site-packages. All of the python-* packages listed should be rebuilt and reinstalled to ensure you have the latest version.

If you have yay installed, you can run pacman -Qoq /usr/lib/python3.8/site-packages | yay -S --answerclean All - to do this.

triatk commented on 2020-12-15 18:50

please add python-gobject to the dependencies. otherwise it will throw a error: AttributeError: module 'gi' has no attribute 'require_version'

chrisqq commented on 2020-12-15 17:27

getting this error running jellyfin-mpv-shim on manjaro: 2020-12-15 10:25:56,589 [ INFO] conf: Loaded settings from json: /home/chris/.config/jellyfin-mpv-shim/conf.json Traceback (most recent call last): File "/usr/bin/jellyfin-mpv-shim", line 33, in <module> sys.exit(load_entry_point('jellyfin-mpv-shim==1.8.1', 'console_scripts', 'jellyfin-mpv-shim')()) File "/usr/lib/python3.9/site-packages/jellyfin_mpv_shim/mpv_shim.py", line 71, in main from .player import playerManager File "/usr/lib/python3.9/site-packages/jellyfin_mpv_shim/player.py", line 41, in <module> import mpv ModuleNotFoundError: No module named 'mpv'

mpv is definitely installed:

mpv 0.33.0-42-g4029a695b5 Copyright © 2000-2020 mpv/MPlayer/mplayer2 projects built on UNKNOWN FFmpeg library versions: libavutil 56.62.100 libavcodec 58.115.102 libavformat 58.65.100 libswscale 5.8.100 libavfilter 7.93.100 libswresample 3.8.100 FFmpeg version: N-100410-gcd821c18dc

Usage: mpv [options] [url|path/]filename

Basic options: --start=<time> seek to given (percent, seconds, or hh:mm:ss) position --no-audio do not play sound --no-video do not play video --fs fullscreen playback --sub-file=<file> specify subtitle file to use --playlist=<file> specify playlist file

--list-options list all mpv options --h=<string> print options which contain the given string in their name

kruzah commented on 2020-08-08 14:01

jellyfin-mpv-shim-web has now been added as an optdepend. It is required for desktop support.

kruzah commented on 2020-08-08 13:34

Thanks @JP-Undercover, this does indeed appear to be a packaging issue. I believed I had packaged everything, but I missed the jellyfin-web dependency. I'll push an update to this package that includes jellyfin-web and also update to 1.7 at the same time. That should resolve the issue.