jellyfin / jellyfin-media-player

Jellyfin Desktop Client
GNU General Public License v2.0
2.87k stars 297 forks source link

Can't play anything (music or videos) only on jellyfinmediaplayer from AUR #713

Closed AliceT50 closed 1 week ago

AliceT50 commented 1 week ago

Four considerations:

Describe the bug Since update to jellyfinmediaplayer 1.11.1 on Arch Linux (from AUR), but when I try to play anything, it told me "Playback failed with error "loading failed". Retry with transcode? (Note this may hang the player.)" and after, this "PlaybackError.mediadecodeerror".

To Reproduce Steps to reproduce the behavior:

  1. Just play any type of media.

Expected behavior I want to play my music or my videos. On others clients and platforms, I have no issues...

Screenshots image image

Desktop (please complete the following information):

Additional context Add any other context about the problem here.

enter-a-random-username commented 1 week ago

I have/had the same issue. This an mpv/ffmpeg issue and is not JMP fault.

Test yourself

  1. Copy Stream URL
  2. Start the stream in mpv mpv "URL"
  3. (try another player with the URL)

Error

[ffmpeg] tls: mbedtls_ssl_handshake returned -0x6c00
Failed to open ...

There is a open PR for ffmpeg arch to revert to gnutls over mbedtls and also a issue about this JMP & web streams: https://gitlab.archlinux.org/archlinux/packaging/packages/ffmpeg/-/issues/10 https://gitlab.archlinux.org/archlinux/packaging/packages/ffmpeg/-/merge_requests/6

AliceT50 commented 1 week ago

Hi ! Thank you for your answer. I tried like you said, but mpv, vlc or ffplay works perfectly with stream URL. I don't get any crashes or errors. And I tried to understand what the issue is (from links)... Unfortunately , to be honest, I'm french, so my english makes me troubles to understand how to patch it... The really strange part is, it's only happen with JellyfinMediaPlayer.

ExpatUK commented 1 week ago

Same thing with the latest build installed via brew on macOS

enter-a-random-username commented 1 week ago

@AliceT50 try to find and issue

  1. Start via console jellyfinmediaplayer --remote-debugging-port=9222
  2. Open a Chromium based browser and open chrome://inspect/#devices (QT web rendering is Webkit based)
  3. Go in console tab and you will see an error. That could help, if it isn't TLS in mpv/ffmpeg (https://github.com/jellyfin/jellyfin-media-player?tab=readme-ov-file#web-debugger)

e.g. image

kstorbakken commented 1 week ago

Can you try enabling the Auto-Detect Certificate Bundle client setting? This immediately fixed the issue on my end using the AUR package. You'll need to restart the client after enabling it. image

AliceT50 commented 1 week ago

Oh ! Thank you kstorbakken ! The issue was only this... I tried with logs and get pretty the same error than you show on your captured image. So, if I really understand, it's just a certificate problem from JellyfinMediaPlayer that don't want to work with certificates from system... I hope this is going to be solved in future patches. Thank you all for your help ! I close this issue

leaty commented 5 days ago

Leaving this for anyone else with a self-signed certificate and ignoreSSLErrors enabled, where the above solution doesn't work.

In my case it was because I previously only accepted TLS 1.3 in my reverse proxy, and apparently mbedtls hard requires certificate verification for TLS 1.3. ffmpeg has a workaround for this which downgrades to TLS 1.2.

nginx

ssl_protocols TLSv1.2 TLSv1.3;

Solved!

enter-a-random-username commented 3 days ago

Leaving this for anyone else with a self-signed certificate and ignoreSSLErrors enabled, where the above solution doesn't work.

In my case it was because I previously only accepted TLS 1.3 in my reverse proxy, and apparently mbedtls hard requires certificate verification for TLS 1.3. ffmpeg has a workaround for this which downgrades to TLS 1.2.

nginx

ssl_protocols TLSv1.2 TLSv1.3;

Solved!

On arch this is resolved, reverting back to gnutls. Deepening on distro, maybe they should switch as well to support streams until this is resolved https://gitlab.archlinux.org/archlinux/packaging/packages/ffmpeg/-/merge_requests/6 (needs a rebuild of the JMP)

leaty commented 2 days ago

On arch this is resolved, reverting back to gnutls. Deepening on distro, maybe they should switch as well to support streams until this is resolved https://gitlab.archlinux.org/archlinux/packaging/packages/ffmpeg/-/merge_requests/6 (needs a rebuild of the JMP)

Just FYI that was never merged and it probably won't be.

enter-a-random-username commented 2 days ago

On arch this is resolved, reverting back to gnutls. Deepening on distro, maybe they should switch as well to support streams until this is resolved https://gitlab.archlinux.org/archlinux/packaging/packages/ffmpeg/-/merge_requests/6 (needs a rebuild of the JMP)

Just FYI that was never merged and it probably won't be.

Oh, it works with TLS 1.3 and quic for me. Strange, i thought it was merged. THX for the info