2024-08-15, 06:47 AM
(This post was last modified: 2024-08-15, 03:11 PM by Sash. Edited 6 times in total.)
Just gonna mention that the large files & remuxes were stuttering on my TV and it turned out that it was my Internet. I switched from Ethernet port to WiFi on my TV to increase the speed, and that fixed it, but then I had a couple of issues on desktop with Jellyfin server, and playing some files.
First of all I'd want to thank you guys for your help @Efficient_Good_5784 @TheDreadPirate @DazzlingTap2, I figured out a lot of things with your help, but there are a couple of things that I still didn't understand.
1. I still have to find a way to store the playback cache of MPV Shim, embyToLocalPlayer, Jellyfin's cache in one of my HDD, and not the SSD where my Jellyfin server, Jellyfin Player, MPV Shim is currently installed. I need to do this so there isn't any read, write, & deletion on my SSD to make it life's short.
2. MPV Shim & Jellyfin stutters a lot with this format:
Can anyone confirm that DoVi files that aren't HDR10 compatible have issues during playback?
This format always works for me
3. It says, for example, "Kung Fu Panda 4 (transcode)" in the player & it's also caching the movie (screenshot attached with this post). I checked the logs of Jellyfin MPV Shim and it looks like it is transcoding because "TranscodeReasons=VideoResolutionNotSupported"
Can someone confirm that Jellyfin transcodes when the resolution is mismatched? I have a 2k monitor, and I'm playing 4K videos, but my gpu should be able to handle it and not stutter because these files work perfectly when I play the directly on MPV player. Btw, I have attached entire log of MPV Shim with this post.
4. When I disable tone mapping and play the videos on MPV Shim, embyToLocalPlayer MPV, or Jellyfin web then the colors are washed out. The colors don't get washed out if I play it on Jellyfin Media Player even when the tone mapping is disabled. Does anyone have any idea why this happens? My display is HDR enbaled so I feel like the HDR should passthrough without tone mapping being on.
I have also made embyToLocalPlayer work and it works better than MPV Shim on my system.
MPV Shim Installation:
embyToLocalPlayer Installation:
I'll explain the process here because the guide on github is Chinese and you can do the installation in fewer steps.
First of all I'd want to thank you guys for your help @Efficient_Good_5784 @TheDreadPirate @DazzlingTap2, I figured out a lot of things with your help, but there are a couple of things that I still didn't understand.
1. I still have to find a way to store the playback cache of MPV Shim, embyToLocalPlayer, Jellyfin's cache in one of my HDD, and not the SSD where my Jellyfin server, Jellyfin Player, MPV Shim is currently installed. I need to do this so there isn't any read, write, & deletion on my SSD to make it life's short.
2. MPV Shim & Jellyfin stutters a lot with this format:
Sash Wrote:Dolby Vision, Version 1.0, Profile 5, dvhe.05.06, BL+RPU, no metadata compression
Can anyone confirm that DoVi files that aren't HDR10 compatible have issues during playback?
This format always works for me
Sash Wrote:Dolby Vision, Version 1.0, Profile 8.1, dvhe.08.06, BL+RPU, no metadata compression, HDR10 compatible / SMPTE ST 2094 App 4, Version HDR10+ Profile B, HDR10+ Profile
3. It says, for example, "Kung Fu Panda 4 (transcode)" in the player & it's also caching the movie (screenshot attached with this post). I checked the logs of Jellyfin MPV Shim and it looks like it is transcoding because "TranscodeReasons=VideoResolutionNotSupported"
Can someone confirm that Jellyfin transcodes when the resolution is mismatched? I have a 2k monitor, and I'm playing 4K videos, but my gpu should be able to handle it and not stutter because these files work perfectly when I play the directly on MPV player. Btw, I have attached entire log of MPV Shim with this post.
4. When I disable tone mapping and play the videos on MPV Shim, embyToLocalPlayer MPV, or Jellyfin web then the colors are washed out. The colors don't get washed out if I play it on Jellyfin Media Player even when the tone mapping is disabled. Does anyone have any idea why this happens? My display is HDR enbaled so I feel like the HDR should passthrough without tone mapping being on.
I have also made embyToLocalPlayer work and it works better than MPV Shim on my system.
MPV Shim Installation:
- Download this
- Download latest version of MPV
- Install MPV Player here C:\Program Files (x86)\mpv
- Install Shim, and then edit conf.json of MPV Shim that will be here C:\Users\yourusername\AppData\Roaming\jellyfin-mpv-shim
DazzlingTap2 Wrote:Code:"mpv_ext": true,
" mpv_ext_ipc": "mpv",
"mpv_ext_no_ovr": true,
"mpv_ext_path": "C:\\Program Files (x86)\\mpv\\mpv.exe",
"mpv_ext_start": true,
"mpv_log_level": "info",
- Copy and paste "mpv.conf" from "C:\Users\yourusername\AppData\Roaming\jellyfin-mpv-shim" to "C:\Users\yourusername\AppData\Roaming\mpv". If the folder doesn't exist then make it.
- Add this code to "mpv.con" that was just copied.
DazzlingTap2 Wrote:Code:vo=gpu-next
gpu-api=vulkan #or gpu-api=d3d11
fullscreen=yes
target-colorspace-hint=yes
DazzlingTap2 Wrote:You can also put the following mpv.conf into a configuration section of Jellyfin Media Player under Client Settings, Click on the user icon on the top right side and go to Client Settings, however this workaround to get HDR working will spawn a new MPV player where you cannot control anything.
embyToLocalPlayer Installation:
I'll explain the process here because the guide on github is Chinese and you can do the installation in fewer steps.
- Download latest version of "embyToLocalPlayer.zip" from this repo.
- Extract the zip, and open embyToLocalPlayer_config.ini in Notepad or any text editing tool.
- Add the location of your mpv.exe in the config file & the name of the player.
Code:
mpv = C:\Program Files (x86)\mpv\mpv.exe
mpve = (Remove these locations from .ini if you are not gonna use this player)
pot = (Remove these locations from .ini if you are not gonna use this player)
hc = (Remove these locations from .ini if you are not gonna use this player)
be = (Remove these locations from .ini if you are not gonna use this player)
vlc = (Remove these locations from .ini if you are not gonna use this player)
[emby]
player = mpv
- Install Python (The minimum supported Python version is 3.8. The minimum supported Windows version is 8.1). While installing python check "add to path".
- Install Tampermonkey extension on your we browser, and install this script in Tampermonkey. You can click on the extenstion > Create a new script or just go to the page I linked and click on install.
- Double-click embyToLocalPlayer_debug.bat(do not right-click to run as administrator).
- If there is no error, then press "1" in the same window (do not close the window), and then open Jellyfin Web-UI on your browser and play the movie to see if the MPV player is called. (Just click the original play button)
You should see a window like this if you have done everything correctly.
Code:
[08/15/24 11:11:50.0] ['Python path: C:\\Users\\_hide_user_\\AppData\\Local\\Programs\\Python\\Python310\\python.exe']
[08/15/24 11:11:50.0] ['ini path: H:\\embyToLocalPlayer_2\\embyToLocalPlayer_config.ini']
[08/15/24 11:11:50.0] Windows-10-10.0.22631-SP0 Python-3.10.6
[08/15/24 11:11:51.4] H:\embyToLocalPlayer_2\embyToLocalPlayer.py
[08/15/24 11:11:51.4] serving at http://127.0.0.1:58000
- Double-click embyToLocalPlayer_debug.bat Press "2" to create a windows startup process so you don't have to open embyToLocalPlayer_debug.bat everytime you want to watch something.