jellyfin / jellyfin-vue

A modern web client for Jellyfin based on Vue
https://jellyfin.org
GNU General Public License v3.0
1.29k stars 229 forks source link

Clicking on settings cog in player causes endless loading #2067

Closed DesertCookie closed 1 year ago

DesertCookie commented 1 year ago

Description of the bug

Clicking the settings cog in the player causes Jellyfin Vue to endlessly load. Only closing the player and reopening it seems to solve this. This happens on both my servers (one uses a GPU so I thought that might make a difference). I only have files that direct-play and thus cannot confirm if this is also an issue with transcoding (tried both 2K H.264 10bit AAC and 4K HEVC 10bit OPUS files).

Steps to reproduce

Set up Jellyfin and Jellyfin Vue in Docker on unRAID (through Cloudflare and proxying using NPM). Start playback of a file. Click the settings cog.

Expected behavior

The playback should not be interrupted by clicking the settings cog.

The logs indicate an issue with the StreamBuilder that says it wants to transcode. The Jellyfin GUI and the CPU utilization of my server clearly show though, that there's now transcoding going on. Playing the file in Jellyfin's web GUI or via Jellyfin Media Players works flawlessly.

Logs

[17:23:50] [INF] [56] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile=Anonymous Profile, Path=\\10.1.1.200\Jellyfin\Filme THF\Das Letzte Pergament - Kapitel 1 (2022)\Das Letzte Pergament - Kapitel 1 (2022) - 2020-Kino-Release.mp4, AudioStreamIndex=1, SubtitleStreamIndex=null ) => ( PlayMethod=Transcode, TranscodeReason=VideoProfileNotSupported ) media:/videos/8e22d3ad-4403-a5c0-8f35-af14aed0046d/master.m3u8?MediaSourceId=8e22d3ad4403a5c08f35af14aed0046d&VideoCodec=h264,h264&AudioCodec=aac&AudioStreamIndex=1&VideoBitrate=119616000&AudioBitrate=384000&AudioSampleRate=48000&MaxFramerate=25&api_key=<token>&SubtitleMethod=Encode&TranscodingMaxAudioChannels=2&RequireAvc=false&Tag=595754c76e5ecd12187e83243ac2bf29&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=True&h264-level=40&h264-videobitdepth=10&h264-profile=high,main,baseline,constrainedbaseline&h264-audiochannels=6&aac-profile=lc&h264-deinterlace=true&TranscodeReasons=VideoProfileNotSupported
[17:23:50] [INF] [54] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for Ruben. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[17:23:50] [INF] [54] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile=Anonymous Profile, Path=\\10.1.1.200\Jellyfin\Filme THF\Das Letzte Pergament - Kapitel 1 (2022)\Das Letzte Pergament - Kapitel 1 (2022) - 2020-Kino-Release.mp4, AudioStreamIndex=1, SubtitleStreamIndex=null ) => ( PlayMethod=Transcode, TranscodeReason=VideoProfileNotSupported ) media:/videos/8e22d3ad-4403-a5c0-8f35-af14aed0046d/master.m3u8?MediaSourceId=8e22d3ad4403a5c08f35af14aed0046d&VideoCodec=h264,h264&AudioCodec=aac&AudioStreamIndex=1&VideoBitrate=119616000&AudioBitrate=384000&AudioSampleRate=48000&MaxFramerate=25&api_key=<token>&SubtitleMethod=Encode&TranscodingMaxAudioChannels=2&RequireAvc=false&Tag=595754c76e5ecd12187e83243ac2bf29&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=True&h264-level=40&h264-videobitdepth=10&h264-profile=high,main,baseline,constrainedbaseline&h264-audiochannels=6&aac-profile=lc&h264-deinterlace=true&TranscodeReasons=VideoProfileNotSupported
[17:23:51] [INF] [28] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app Jellyfin Web (Vue) 0.3.1 playing Das Letzte Pergament - Kapitel 1 (2022). Stopped at 0 ms

Screenshots

No response

Platform

Linux

Browser

Firefox

Jellyfin server version

10.8.10

Additional context

No response

ferferga commented 1 year ago

Can you confirm if this has been fixed by #2080?

The CF deployment is currently being built, should be available shortly.

ferferga commented 1 year ago

@DesertCookie Please reopen if the aforementioned PR doesn't solve this issue.

DesertCookie commented 1 year ago

At the moment I'm actually unable to play any file through Jellyfin-Vue. Only the old web GUI works. I'll try to investigate and get back to you.

Edit: I've resolved my playback issue by adding my server's iGPU for transcoding. Though the media direct plays, Jellyfin just would not start playing most files (2K, 4K, H.264, H.265, VP9) without the iGPU present. This is a Jellyfin core issue, not a Vue one though.