jellyfin / jellyfin-vue

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

Issue with Jellyfin Vue - Videos do not load, logs are below... Any Ideas? #1484

Closed lsultana98 closed 2 years ago

lsultana98 commented 3 years ago

Description of the bug

Currently when I play any video, I get the below logs error. The video just doesn't load at all.

Steps to reproduce

Every time I play a video.

Expected behavior

Videos to play, which they currently don't.

Logs

[19:34:30] [INF] [106] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for fakeemail@gmail.com. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[19:34:30] [INF] [106] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: Unknown Profile, Path: /movies/Test/test.mkv, isEligibleForDirectPlay: True, isEligibleForDirectStream: True
[19:34:30] [INF] [106] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: Unknown Profile, No video direct play profiles found for /movies/Test/test.mkv with codec hevc
[19:34:30] [INF] [106] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: Unknown Profile, Path: /movies/Test/test.mkv, isEligibleForDirectPlay: True, isEligibleForDirectStream: True
[19:34:30] [INF] [106] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: Unknown Profile, No video direct play profiles found for /movies/Test/test.mkv with codec hevc
[19:34:30] [INF] [106] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: Unknown Profile, Path: /movies/Test/test.mkv, isEligibleForDirectPlay: True, isEligibleForDirectStream: True
[19:34:30] [INF] [106] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: Unknown Profile, No video direct play profiles found for /movies/Test/test.mkv with codec hevc
[19:34:31] [INF] [144] Jellyfin.Api.Controllers.DynamicHlsController: Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request
[19:34:31] [INF] [144] Jellyfin.Api.Helpers.TranscodingJobHelper: /usr/lib/jellyfin-ffmpeg/ffmpeg -hwaccel cuda -hwaccel_output_format cuda -extra_hw_frames 3 -autorotate 0 -i file:"/movies/Test/test.mkv" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_nvenc -preset default -b:v 4384305 -maxrate 4384305 -bufsize 8768610 -profile:v:0 high -g:v:0 72 -keyint_min:v:0 72 -sc_threshold:v:0 0 -vf "scale_cuda=format=nv12" -start_at_zero -vsync -1 -codec:a:0 copy -strict -2 -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type fmp4 -hls_fmp4_init_filename "2e1641e04d2cc9594acd17b81354e90c-1.mp4" -start_number 0 -hls_segment_filename "/config/data/transcodes/2e1641e04d2cc9594acd17b81354e90c%d.mp4" -hls_playlist_type vod -hls_list_size 0 -y "/config/data/transcodes/2e1641e04d2cc9594acd17b81354e90c.m3u8"
[19:34:48] [INF] [140] Jellyfin.Api.Helpers.TranscodingJobHelper: FFmpeg exited with code 0
[19:34:48] [INF] [140] Jellyfin.Api.Helpers.TranscodingJobHelper: FFmpeg exited with code 0
[19:35:31] [INF] [140] Jellyfin.Api.Helpers.TranscodingJobHelper: Transcoding kill timer stopped for JobId 0546e6b4adfd47c29937e66bd79cb00e PlaySessionId bc1b461fad69454cbe2740e1d7dd0352. Killing transcoding

Screenshots

No response

Platform

Windows

Browser

Chrome

Jellyfin server version

10.7.6

Additional context

Also happening on iOS safari, and firefox.
lsultana98 commented 3 years ago

consolelogs.txt

Console logs if more important.

ThibaultNocchi commented 3 years ago

Those are the ffmpeg logs, we're gonna need the browser logs :)

lsultana98 commented 3 years ago

jellyfin.console.logs.log

Larvitar commented 3 years ago

Got the same issue with latest JellyfinVue and JellyfinServer 10.7.6. Debug logs from both server and browser (Brave) are attached. Scenario:

  1. Open browser
  2. Open JellyfinVue
  3. Start video playback from main page
  4. After ~15s close playback
  5. Close browser

server_playback.log chrome_debug.log

ThibaultNocchi commented 3 years ago

Thanks, I'll look into this. And beware @lsultana98 when sharing logs, there is your URL in it so I edited your browser logs for you :)

lsultana98 commented 3 years ago

Appreciate that, thanks mate. I didn’t even notice.

On Wed, 1 Sep 2021 at 6:52 pm, Thibault @.***> wrote:

Thanks, I'll look into this. And beware @lsultana98 https://github.com/lsultana98 when sharing logs, there is your URL in it so I edited your browser logs for you :)

— You are receiving this because you were mentioned.

Reply to this email directly, view it on GitHub https://github.com/jellyfin/jellyfin-vue/issues/1484#issuecomment-910077938, or unsubscribe https://github.com/notifications/unsubscribe-auth/AK5WAK6C74RBGI4CSAAV6D3T7XSVXANCNFSM5DBQJH2Q .

--

Kind Regards,

Luke Sultana

lunaneff commented 3 years ago

Can confirm on Firefox 92 and GNOME Web 40.3 (with WebKitGTK 2.32.4), both installed from the Arch Linux repos. Music works, video doesn't

Firefox console logs:

Cookie “vuex” will be soon rejected because it has the “SameSite” attribute set to “None” or an invalid value, without the “secure” attribute. To know more about the “SameSite“ attribute, read https://developer.mozilla.org/docs/Web/HTTP/Headers/Set-Cookie/SameSite 180b81c.modern.js:2:111634
Some cookies are misusing the recommended “SameSite“ attribute 22
EmeEncryptionSchemePolyfill: Waiting to detect encryptionScheme support. 986fb47.modern.js:2:379884
McEncryptionSchemePolyfill: Waiting to detect encryptionScheme support. 986fb47.modern.js:2:381541

GNOME Web console logs:

[Debug] EmeEncryptionSchemePolyfill: EME not found (986fb47.modern.js, line 2)
[Debug] McEncryptionSchemePolyfill: Waiting to detect encryptionScheme support. (986fb47.modern.js, line 2)

In both, I loaded the page, tried playing an episode, waited a while, and then went back to the homepage

Playback works fine in the stock webui on Firefox, and on Web I need to force transcoding, and then the audio plays but the screen stays black

ThibaultNocchi commented 2 years ago

Ok I've noticed that the failures are due to trying to play a fmp4 encoded stream. Can anyone confirm that it works when direct playing something (a h264 file with mp3/aac will do).

Perseusdehond commented 2 years ago

Can anyone confirm that it works when direct playing something (a h264 file with mp3/aac will do).

I can confirm that it doesn't work when direct playing an h264 file with aac unfortunately (while it can direct play on JF-web.

ThibaultNocchi commented 2 years ago

@Perseusdehond are you sure those files are direct playable and not needing to be remuxed? Like h264 - aac - mp4 should work, but not those in a mkv?

Perseusdehond commented 2 years ago

@ThibaultNocchi Yes, I'm sure, almost all my movie files are h264 - aac - mp4 JF-Vue Schermafbeelding 2021-10-10 163458 JF-Web Schermafbeelding 2021-10-10 163646 (Same movie)

ThibaultNocchi commented 2 years ago

Good evening, can you all try #1519 and report back please?

This disables AAC in the fMP4 container (which is always enabled) cause it seems that it doesn't work with Shaka 3.2.0.

Larvitar commented 2 years ago

If you mean #1519 then no, playback is still not working for me. I did find some movies that are working but those are also working on master.

ThibaultNocchi commented 2 years ago

Can I get some informations on the codecs of the working and not working files?

Larvitar commented 2 years ago

Sure. I'll colect some info tomorrow. Stream info from ffprobe should be enough?

ThibaultNocchi commented 2 years ago

Yup :)

ThibaultNocchi commented 2 years ago

Could you try #1527 and give me what the console logs of the browser say?

Larvitar commented 2 years ago

playback_fail_console_mkv.log playback_fail_console_mp4.log failed.txt working.txt

Tested with #1527. Console logs contain:

shaka-player.compiled.debug.js?1310:283 MediaCapabilities.decodingInfo() failed. {"type":"media-source","audio":{"contentType":"video/mp4; codecs=\"mp4a.40.2\"","channels":2,"bitrate":4448880,"samplerate":1,"spatialRendering":false},"video":{"contentType":"video/mp4; codecs=\"avc1.640029\"","width":1280,"height":534,"bitrate":4448880,"framerate":23.976}} TypeError: Failed to execute 'decodingInfo' on 'MediaCapabilities': The audio configuration dictionary is not valid.

playback_fail_console_mp4.log was tested with {First file}.mp4 and playback_fail_console_mp4.log with {third file}.mkv from failed.txt. I've also attached a few working mp4s. So far the only files I found to be working use Audio: aac (LC) (mp4a / 0x6134706D).

ThibaultNocchi commented 2 years ago

Ok thanks, that's really helpful. Can you try around with #1519 and videos without subtitles please?

Larvitar commented 2 years ago

Still no luck so I've enabled shaka debug logs. Tried mp4 and mkv both failed at shaka-player.compiled.debug.js?1310:745 (video:1) failed fetch and append: code=3014 so it seems that #1519 did help slightly.

MKV
    Stream #0:0(eng): Video: vp9 (Profile 0), yuv420p(tv, bt709/unknown/unknown), 1280x720, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 1k tbn, 1k tbc (default)
    Stream #0:1: Audio: aac (LC), 44100 Hz, stereo, fltp (default)

fail_no_subs_mp4.log

Edit: Those 2 movies did not contain any subtitles at all, but I've tried the 3 files I've previously reported as working. After enabling subtitlles playback failed with the same error so subs certainly cause an issue but it's not the only cause.

Edit2: Nevermind I did not check properly. MP4 seem to be working with no subtitles. MKVs (with or without subtitles) fail with code 3014..

ThibaultNocchi commented 2 years ago

So, can you try #1533 and tell me if there are bugs around the video player? I know the queue and playback infos shouldn't work. Thanks!

Larvitar commented 2 years ago
  1. Video playback worked for all files I've tries so far.
  2. Some subtitles do not work but it does not break video playback. It seems that only simple subtitles are loaded correctly though I've only checked a few.
  3. Playback info does not work.
  4. PiP does not work: this.$refs.videoPlayer.togglePictureInPicture is not a function

Working:

  1. Queue actually does work. The bug when every other file was skipped is also gone. Don't if it's because of #1533.
  2. Music playback works.

That's all I've check so far. I can collect some more info tomorrow if I find time for it.

ThibaultNocchi commented 2 years ago

Pip should work now, and I'm interested in the types of subs that don't work :)

Larvitar commented 2 years ago

Yup, PiP is fixed. And about those subtitles. It started working now so maybe it was an issue at my side.

So it seems that everything is fine so far. I'll keep poking around and comment if I find anything broken.

Larvitar commented 2 years ago
  1. Low res videos are not stretched to match the view size.
  2. When resuming playback subtitles are out of sync by 2s.
  3. 'Resume -> Rewind to 0:00' with subtitles on. Here I've noticed 2 types of behavior: a. Playback from '0:00' would not start at all (happened to me only twice) b. Timer immediatelly skips to '0:02'. This is probably related to Ad.2.
ThibaultNocchi commented 2 years ago

Thanks, I knowingly skipped stretching for now cause it's already a big PR, I "just" want to fix playback (and enable subs, I'm too deep in this to split it into another PR)

Could you try again to see if it works all around, I've made a few heavy changes. Thanks!

Larvitar commented 2 years ago

@ThibaultNocchi I've checked at https://github.com/jellyfin/jellyfin-vue/commit/af211747068e9dcfaed5097b6464272ee27daba0 and everything seems to be working fine.

ThibaultNocchi commented 2 years ago

Nice I'll merge that soon