jellyfin / jellyfin-media-player

Jellyfin Desktop Client
GNU General Public License v2.0
3.06k stars 306 forks source link

JMP fails to playback LiveTV M3U, other JF clients have no problem, #331

Open eqpaisley opened 1 year ago

eqpaisley commented 1 year ago

Describe the bug JMP hangs for 30+ seconds and then fails to playback an M3U Live TV stream. Playback failed with error "loading failed". Retry with transcode? (Note this may hang the player.) If I choose to transcode the stream works but the reason given for transcoding is "direct play failed" and no information about WHY the direct stream failed is given. All other clients that I've tested auto-remux these streams and play them without issue.

To Reproduce Steps to reproduce the behavior:

  1. Load M3U into JF via the liveTV interface
  2. Playback a channel

Expected behavior LiveTV stream should play.

Screenshots Capture Capture2

Desktop (please complete the following information):

Additional context This doesn't happen with ALL M3U streams but for many of them it does. But these same streams are auto-Remuxed and played back perfectly in firefox, chrome, androidtv and on the iOS (native) app for Jellyfin.

jobrien2001 commented 1 year ago

I have the same problem... but i get the error right away.

Using JMP same error, will only work if transcode. If i use chrome I can watch just fine without a prompt.

I am using TVHeadend plugin. Watching the TVH log... with JMP there is no request for a stream. If i use chrome there is.

Redacted Server log With JMP If i press cancel:

[12:17:16] [INF] [270] TVHeadEnd.AccessTicketHandler: [TVHclient] AccessTicketHandler.GetAccessTicket: New ticket (#16) created for channelId=1315544022
[12:17:16] [INF] [270] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for admin. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[12:17:16] [INF] [270] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile=Jellyfin Media Player, Path=http://192.168.1.5:9981/stream/channelid/1315544022?ticket=6868f7a09ec77c9f2039813c125e62eeb3cd21cf, AudioStreamIndex=null, SubtitleStreamIndex=null ) => ( PlayMethod=DirectPlay, TranscodeReason=0 ) media:/videos/f942918b-44e0-10a0-4d9a-8797dc1a0941/stream?MediaSourceId=1315544022&Static=true&AudioStreamIndex=-1&api_key=<token>
[12:17:16] [INF] [271] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Adding playback tracker : SmVsbHlmaW5NZWRpYVBsYXllciAxLjYuMSAod2luZG93cy14ODZfNjQgMTApfDE3NDA1MDM3MDU4ODE1-842457e04b9944398dd928e6e9c6b8b0-f942938b44e010a04d9a8797dc1a0942
[12:17:16] [INF] [271] Jellyfin.Plugin.PlaybackReporting.Data.PlaybackTracker: PlaybackTracker : Adding Start Event : 11/08/2022 12:17:16
[12:17:16] [INF] [271] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Creating StartPlaybackTimer Task
[12:17:16] [INF] [246] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : Entered
[12:17:17] [INF] [263] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Processing playback tracker : SmVsbHlmaW5NZWRpYVBsYXllciAxLjYuMSAod2luZG93cy14ODZfNjQgMTApfDE3NDA1MDM3MDU4ODE1-842457e04b9944398dd928e6e9c6b8b0-f942938b44e010a04d9a8797dc1a0942
[12:17:19] [INF] [270] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app Jellyfin Media Player 1.7.1 playing My CHannel. Stopped at 0 ms
[12:17:19] [INF] [271] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Playback stop tracker found, processing stop : SmVsbHlmaW5NZWRpYVBsYXllciAxLjYuMSAod2luZG93cy14ODZfNjQgMTApfDE3NDA1MDM3MDU4ODE1-842457e04b9944398dd928e6e9c6b8b0-f942938b44e010a04d9a8797dc1a0942
[12:17:19] [INF] [271] Jellyfin.Plugin.PlaybackReporting.Data.PlaybackTracker: PlaybackTracker : Adding Stop Event : 11/08/2022 12:17:19
[12:17:19] [INF] [271] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Playback stop but TrackedPlaybackInfo not found! not storing activity in DB
[12:17:36] [INF] [245] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: session.RemoteEndPoint : 10.10.10.10
[12:17:36] [INF] [245] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : event_playing_id     = f942938b44e010a04d9a8797dc1a0942
[12:17:36] [INF] [245] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : event_user_id        = 842457e04b9944398dd928e6e9c6b8b0
[12:17:36] [INF] [245] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : event_user_id_int    = 1
[12:17:36] [INF] [245] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : session_playing_id   = 
[12:17:36] [INF] [245] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : session_user_id      = 842457e04b9944398dd928e6e9c6b8b0
[12:17:36] [INF] [245] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : play_method          = na
[12:17:36] [INF] [245] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : e.ClientName         = Jellyfin Media Player
[12:17:36] [INF] [245] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : e.DeviceName         = DESKTOP-12321321
[12:17:36] [INF] [245] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : ItemName             = My CHannel
[12:17:36] [INF] [245] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : ItemId               = f942938b44e010a04d9a8797dc1a0942
[12:17:36] [INF] [245] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : ItemType             = TvChannel
[12:17:36] [INF] [245] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : Details do not match for play item
[12:17:36] [INF] [245] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : Exited

Redacted JMP log

2022-11-08 15:31:37 [ INFO  ] JS: Requesting https://jelly.mydomain.com/Users/842457e04b9944398dd998e6e9c6b2i6/Items/c05795e6541aa0b419424dbce2aef584 
2022-11-08 15:31:38 [ INFO  ] JS: Requesting url without automatic networking: https://jelly.mydomain.com/Items/c05795e6541aa0b419424dbce2aef584/PlaybackInfo?UserId=842457e04b9944398dd998e6e9c6b2i6&StartTimeTicks=0&IsPlayback=true&AutoOpenLiveStream=true&MaxStreamingBitrate=73362445 
2022-11-08 15:31:38 [ DEBUG ] PlayerComponent.cpp @ 588 - cplayer: Set property: sub-delay=0.000000 -> 1 
2022-11-08 15:31:38 [ DEBUG ] PowerComponent.cpp @ 58 - Disabling OS screensaver 
2022-11-08 15:31:38 [ INFO  ] JS: playing url: https://jelly.mydomain.com/Videos/c05795e6541aa0b419424dbce2aef584/stream.?Static=true&mediaSourceId=701270000&deviceId=SmVsbHlmaW5NZWRpYVBsYXllciAxLjYuMSY7e2luZG93cy14ODZfNjQgMTApfDE2NDA1MDM3MDU4ODE1&api_key=xxxxxxxxxxxxxxxxxxxxdeee33295c30 
2022-11-08 15:31:38 [ DEBUG ] PlayerComponent.cpp @ 360 - Video framerate: 0 fps 
2022-11-08 15:31:38 [ DEBUG ] PlayerComponent.cpp @ 364 - Not switching refresh-rate (disabled by settings). 
2022-11-08 15:31:38 [ INFO  ] PlayerComponent.cpp @ 655 - checking codecs 
2022-11-08 15:31:38 [ INFO  ] CodecsComponent.cpp @ 1219 - Using system audio decoders: true 
2022-11-08 15:31:38 [ INFO  ] CodecsComponent.cpp @ 1220 - Using system video decoders: false 
2022-11-08 15:31:38 [ INFO  ] CodecsComponent.cpp @ 1223 - Not using on-demand codecs. 
2022-11-08 15:31:38 [ INFO  ] PlayerComponent.cpp @ 657 - resuming loading 
2022-11-08 15:31:38 [ DEBUG ] PlayerComponent.cpp @ 588 - cplayer: Set property: video-sync="audio" -> 1 
2022-11-08 15:31:38 [ DEBUG ] PlayerComponent.cpp @ 588 - cplayer: Set property: hwdec="auto-copy" -> 1 
2022-11-08 15:31:38 [ DEBUG ] PlayerComponent.cpp @ 588 - cplayer: Set property: videotoolbox-format="nv12" -> -3 
2022-11-08 15:31:38 [ DEBUG ] PlayerComponent.cpp @ 588 - cplayer: Set property: deinterlace="yes" -> 1 
2022-11-08 15:31:38 [ WARN  ] PlayerComponent.cpp @ 592 - cplayer: Setting the display-fps property is deprecated; set the override-display-fps property instead. 
2022-11-08 15:31:38 [ DEBUG ] PlayerComponent.cpp @ 588 - cplayer: Set property: display-fps=60.000000 -> 1 
2022-11-08 15:31:38 [ DEBUG ] PlayerComponent.cpp @ 588 - cplayer: Set property: audio-delay=0.000000 -> 1 
2022-11-08 15:31:38 [ DEBUG ] PlayerComponent.cpp @ 588 - cplayer: Set property: cache=512000 -> -4 
2022-11-08 15:31:38 [ DEBUG ] PlayerComponent.cpp @ 588 - cplayer: Set property: video-unscaled=false -> 1 
2022-11-08 15:31:38 [ DEBUG ] PlayerComponent.cpp @ 588 - cplayer: Set property: video-aspect="-1" -> 1 
2022-11-08 15:31:38 [ DEBUG ] PlayerComponent.cpp @ 588 - cplayer: Set property: keepaspect=true -> 1 
2022-11-08 15:31:38 [ DEBUG ] PlayerComponent.cpp @ 588 - cplayer: Set property: panscan=0.000000 -> 1 
2022-11-08 15:31:38 [ DEBUG ] PlayerComponent.cpp @ 588 - cplayer: Setting option 'ad' = '' (flags = 16) 
2022-11-08 15:31:38 [ DEBUG ] PlayerComponent.cpp @ 588 - cplayer: Setting option 'aid' = 'no' (flags = 16) 
2022-11-08 15:31:38 [ DEBUG ] PlayerComponent.cpp @ 588 - cplayer: Setting option 'pause' = 'no' (flags = 16) 
2022-11-08 15:31:38 [ DEBUG ] PlayerComponent.cpp @ 588 - cplayer: Setting option 'sid' = 'no' (flags = 16) 
2022-11-08 15:31:38 [ DEBUG ] PlayerComponent.cpp @ 588 - cplayer: Setting option 'user-agent' = 'JellyfinMediaPlayer' (flags = 16) 
2022-11-08 15:31:38 [ DEBUG ] PlayerComponent.cpp @ 588 - cplayer: Setting option 'vd' = '' (flags = 16) 
2022-11-08 15:31:38 [ DEBUG ] PlayerComponent.cpp @ 588 - cplayer: Running hook: main/on_load 
2022-11-08 15:31:38 [ DEBUG ] PlayerComponent.cpp @ 588 - cplayer: Set property: ad="" -> 1 
2022-11-08 15:31:38 [ DEBUG ] PlayerComponent.cpp @ 588 - cplayer: Set property: vd="" -> 1 
2022-11-08 15:31:38 [ INFO  ] PlayerComponent.cpp @ 460 - Entering state: buffering 
2022-11-08 15:31:38 [ DEBUG ] PlayerComponent.cpp @ 588 - ffmpeg: Opening https://jelly.mydomain.com/Videos/c05795e6541aa0b419424dbce2aef584/stream.?Static=true&mediaSourceId=701270000&deviceId=SmVsbHlmaW5NZWRpYVBsYXllciAxLjYuMSY7e2luZG93cy14ODZfNjQgMTApfDE2NDA1MDM3MDU4ODE1&api_key=xxxxxxxxxxxxxxxxxxxxdeee33295c30 
2022-11-08 15:31:38 [ INFO  ] JS: Active player: {"name":"MPV Video Player","id":"mpvvideoplayer","playerName":"MPV Video Player","playableMediaTypes":[false,true,false,false],"isLocalPlayer":true,"supportedCommands":["GoHome","GoToSettings","VolumeUp","VolumeDown","Mute","Unmute","ToggleMute","SetVolume","SetAudioStreamIndex","SetSubtitleStreamIndex","SetMaxStreamingBitrate","DisplayContent","GoToSearch","DisplayMessage","SetRepeatMode","SetShuffleQueue","PlayMediaSource","PlayTrailers","ToggleFullscreen","PlaybackRate"]} 
2022-11-08 15:31:38 [ INFO  ] JS: SyncPlay WrapperFactory getWrapper: htmlvideoplayer 
2022-11-08 15:31:38 [ INFO  ] JS: Requesting url without automatic networking: https://jelly.mydomain.com/Sessions/Playing 
2022-11-08 15:31:38 [ INFO  ] JS: nowplaying event: playbackstart 
2022-11-08 15:31:38 [ INFO  ] JS: nowplaying event: playbackstart 
2022-11-08 15:31:39 [ WARN  ] PlayerComponent.cpp @ 592 - ffmpeg: https: HTTP error 404 Not Found 
2022-11-08 15:31:39 [ ERROR ] PlayerComponent.cpp @ 594 - stream: Failed to open https://jelly.mydomain.com/Videos/c05795e6541aa0b419424dbce2aef584/stream.?Static=true&mediaSourceId=701270000&deviceId=SmVsbHlmaW5NZWRpYVBsYXllciAxLjYuMSY7e2luZG93cy14ODZfNjQgMTApfDE2NDA1MDM3MDU4ODE1&api_key=xxxxxxxxxxxxxxxxxxxxdeee33295c30. 
2022-11-08 15:31:39 [ DEBUG ] PlayerComponent.cpp @ 588 - cplayer: Opening failed or was aborted: https://jelly.mydomain.com/Videos/c05795e6541aa0b419424dbce2aef584/stream.?Static=true&mediaSourceId=701270000&deviceId=SmVsbHlmaW5NZWRpYVBsYXllciAxLjYuMSY7e2luZG93cy14ODZfNjQgMTApfDE2NDA1MDM3MDU4ODE1&api_key=xxxxxxxxxxxxxxxxxxxxdeee33295c30 
2022-11-08 15:31:39 [ DEBUG ] PlayerComponent.cpp @ 588 - cplayer: finished playback, loading failed (reason 4) 
iwalton3 commented 1 year ago

The reason for this prompt is because the way the client works is that it tries to direct play most formats. This normally works fine. For Live TV, it tries to direct play it, but then fails. The web player automatically falls back to transcoding, which is fine in this case.

The time when this is not fine is when, for whatever reason, the media file is unplayable. (For instance it is corrupted or has incorrect permissions.) What will then happen is it will try to transcode every segment of the broken file, and the client will remain unresponsive while this happens for multiple minutes and overload the Jellyfin server.

What has to happen to fix this issue, is that the web client needs to stop relying on the automatic fallback for failed direct play to play Live TV. It needs to know that the source requires transcoding, and then it will correctly attempt that first instead of relying on the broken fallback. I added that dialog to at least give the possibility of playing the file with the fallback while we wait for Live TV to be treated correctly.

jluttine commented 1 year ago

What has to happen to fix this issue, is that the web client needs to stop relying on the automatic fallback for failed direct play to play Live TV. It needs to know that the source requires transcoding, and then it will correctly attempt that first instead of relying on the broken fallback.

Thanks for the info! Is there an issue or PR on jellyfin-web about this or should such an issue be opened?

jluttine commented 1 year ago

A few observations from my setup:

So, in my case, the issue is something specific to live TV and remote JMP clients.

setomerza commented 1 year ago

I am hosting Jellyfin through a Traefik reverse proxy and also experiencing this issue on remote JMP clients. Able to direct play Live TV fine from local JMP, but when connecting remotely and playing Live TV this error is thrown:

Relevant Jellyfin log:

[2023-06-05 10:14:30.497 -05:00] [INF] [234] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "xxx". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2023-06-05 10:14:30.497 -05:00] [INF] [234] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile="Jellyfin Media Player", Path="http://192.168.50.116:8409/iptv/channel/1.1.m3u8?mode=segmenter", AudioStreamIndex=null, SubtitleStreamIndex=null ) => ( PlayMethod=DirectPlay, TranscodeReason=0 ) "media:/videos/979708d2-3a91-e7db-dd6c-6488c880a748/stream.hls?MediaSourceId=fc5c60e834d59715b5de7dc7eaea9d81&Static=true&VideoCodec=h264&AudioCodec=ac3&AudioStreamIndex=-1&api_key=<token>&LiveStreamId=a17c75760a04e99b68cf766e11316e1c_09efa0d56b934a82adec00a87b837fb0_fc5c60e834d59715b5de7dc7eaea9d81"
[2023-06-05 10:14:30.625 -05:00] [INF] [209] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Existing tracker found! : SmVsbHlmaW5NZWRpYVBsYXllciAxLjkuMSAod2luZG93cy14ODZfNjQgMTApfDE2ODU3MjM4ODA1MDc1-106fd5ec6ba44a318f8be6987ed3aefa-979708d23a91e7dbdd6c6488c880a748
[2023-06-05 10:14:30.626 -05:00] [INF] [209] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Saving existing playback tracking activity in DB
[2023-06-05 10:14:30.659 -05:00] [INF] [209] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Removing existing tracker : SmVsbHlmaW5NZWRpYVBsYXllciAxLjkuMSAod2luZG93cy14ODZfNjQgMTApfDE2ODU3MjM4ODA1MDc1-106fd5ec6ba44a318f8be6987ed3aefa-979708d23a91e7dbdd6c6488c880a748
[2023-06-05 10:14:30.659 -05:00] [INF] [209] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Adding playback tracker : SmVsbHlmaW5NZWRpYVBsYXllciAxLjkuMSAod2luZG93cy14ODZfNjQgMTApfDE2ODU3MjM4ODA1MDc1-106fd5ec6ba44a318f8be6987ed3aefa-979708d23a91e7dbdd6c6488c880a748
[2023-06-05 10:14:30.660 -05:00] [INF] [209] Jellyfin.Plugin.PlaybackReporting.Data.PlaybackTracker: PlaybackTracker : Adding Start Event : 06/05/2023 10:14:30
[2023-06-05 10:14:30.660 -05:00] [INF] [209] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Creating StartPlaybackTimer Task
[2023-06-05 10:14:30.660 -05:00] [INF] [209] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : Entered
[2023-06-05 10:14:30.714 -05:00] [ERR] [226] Jellyfin.Server.Middleware.ExceptionMiddleware: Error processing request: "Could not find file '/config/transcodes/ba5463dbf50647069851a9681f1fbead.ts'". URL "GET" "/Videos/979708d23a91e7dbdd6c6488c880a748/stream.hls".
[2023-06-05 10:14:31.555 -05:00] [INF] [226] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Processing playback tracker : "SmVsbHlmaW5NZWRpYVBsYXllciAxLjkuMSAod2luZG93cy14ODZfNjQgMTApfDE2ODU3MjM4ODA1MDc1-106fd5ec6ba44a318f8be6987ed3aefa-979708d23a91e7dbdd6c6488c880a748"
[2023-06-05 10:14:32.209 -05:00] [INF] [225] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "xxx". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2023-06-05 10:14:32.209 -05:00] [INF] [225] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile="Jellyfin Media Player", Path="http://192.168.50.116:8409/iptv/channel/1.1.m3u8?mode=segmenter", AudioStreamIndex=-1, SubtitleStreamIndex=null ) => ( PlayMethod=Transcode, TranscodeReason=DirectPlayError ) "media:/videos/979708d2-3a91-e7db-dd6c-6488c880a748/master.m3u8?MediaSourceId=fc5c60e834d59715b5de7dc7eaea9d81&VideoCodec=h264,h264&AudioCodec=ac3&AudioStreamIndex=-1&VideoBitrate=135291871&AudioBitrate=192000&AudioSampleRate=48000&MaxFramerate=23.976025&api_key=<token>&LiveStreamId=a17c75760a04e99b68cf766e11316e1c_09efa0d56b934a82adec00a87b837fb0_fc5c60e834d59715b5de7dc7eaea9d81&TranscodingMaxAudioChannels=6&RequireAvc=false&SegmentContainer=ts&BreakOnNonKeyFrames=False&h264-level=31&h264-videobitdepth=8&h264-profile=main&h264-audiochannels=2&TranscodeReasons=DirectPlayError"
[2023-06-05 10:14:32.860 -05:00] [INF] [204] Jellyfin.Api.Helpers.TranscodingJobHelper: "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-analyzeduration 3000000 -user_agent \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.85 Safari/537.36\" -fflags +igndts -init_hw_device cuda=cu:0 -filter_hw_device cu -hwaccel cuda -hwaccel_output_format cuda -threads 1 -autorotate 0 -i \"http://192.168.50.116:8409/iptv/channel/1.1.m3u8?mode=segmenter\" -autoscale 0 -map_metadata -1 -map_chapters -1 -threads 0 -sn -codec:v:0 h264_nvenc -preset p1 -b:v 8000000 -maxrate 8000000 -bufsize 16000000 -profile:v:0 main -g:v:0 72 -keyint_min:v:0 72 -vf \"setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale_cuda=format=yuv420p\" -flags -global_header -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type mpegts -start_number 0 -hls_base_url \"hls/bb4a1f84d99683998ce29b23358997e4/\" -hls_segment_filename \"/config/transcodes/bb4a1f84d99683998ce29b23358997e4%d.ts\" -hls_playlist_type event -hls_list_size 0 -y \"/config/transcodes/bb4a1f84d99683998ce29b23358997e4.m3u8\""
[2023-06-05 10:14:33.449 -05:00] [INF] [227] Jellyfin.Api.Helpers.TranscodingJobHelper: FFmpeg exited with code 0
[2023-06-05 10:14:33.449 -05:00] [INF] [227] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting partial stream file(s) "/config/transcodes/861385dd208dbd04a11bc7aba2444f17.m3u8"
[2023-06-05 10:14:34.976 -05:00] [INF] [204] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Jellyfin Media Player" "1.9.1" playing "Comedy Central". Stopped at "9375" ms
[2023-06-05 10:14:34.990 -05:00] [INF] [204] Emby.Server.Implementations.Library.MediaSourceManager: Live stream "fc5c60e834d59715b5de7dc7eaea9d81" consumer count is now 1
[2023-06-05 10:14:34.993 -05:00] [WRN] [204] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from "https://xxx.xxx/Sessions/Playing/Stopped" to "172.69.58.142" in 0:00:05.633506 with Status Code 204
[2023-06-05 10:14:34.994 -05:00] [INF] [209] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Playback stop tracker found, processing stop : "SmVsbHlmaW5NZWRpYVBsYXllciAxLjkuMSAod2luZG93cy14ODZfNjQgMTApfDE2ODU3MjM4ODA1MDc1-106fd5ec6ba44a318f8be6987ed3aefa-979708d23a91e7dbdd6c6488c880a748"
[2023-06-05 10:14:34.994 -05:00] [INF] [209] Jellyfin.Plugin.PlaybackReporting.Data.PlaybackTracker: PlaybackTracker : Adding Stop Event : 06/05/2023 10:14:34
[2023-06-05 10:14:34.994 -05:00] [INF] [209] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Playback stop but TrackedPlaybackInfo not found! not storing activity in DB
[2023-06-05 10:14:40.336 -05:00] [WRN] [244] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from "https://xxx.xxx/videos/979708d2-3a91-e7db-dd6c-6488c880a748/live.m3u8?DeviceId=SmVsbHlmaW5NZWRpYVBsYXllciAxLjkuMSAod2luZG93cy14ODZfNjQgMTApfDE2ODU3MjM4ODA1MDc1&MediaSourceId=fc5c60e834d59715b5de7dc7eaea9d81&VideoCodec=h264,h264&AudioCodec=ac3&AudioStreamIndex=-1&VideoBitrate=135291871&AudioBitrate=192000&AudioSampleRate=48000&MaxFramerate=23.976025&PlaySessionId=f795e92bac5e495da460912fd57d3604&api_key=e42798d621b442b2b5b991b383022cf5&LiveStreamId=a17c75760a04e99b68cf766e11316e1c_09efa0d56b934a82adec00a87b837fb0_fc5c60e834d59715b5de7dc7eaea9d81&TranscodingMaxAudioChannels=6&RequireAvc=false&SegmentContainer=ts&BreakOnNonKeyFrames=False&h264-level=31&h264-videobitdepth=8&h264-profile=main&h264-audiochannels=2&TranscodeReasons=DirectPlayError&allowVideoStreamCopy=false" to "172.70.127.95" in 0:00:07.4804393 with Status Code 200
[2023-06-05 10:14:50.659 -05:00] [INF] [36] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: session.RemoteEndPoint : "172.69.58.142"
[2023-06-05 10:14:50.660 -05:00] [INF] [36] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : event_playing_id     = "979708d23a91e7dbdd6c6488c880a748"
[2023-06-05 10:14:50.660 -05:00] [INF] [36] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : event_user_id        = "106fd5ec6ba44a318f8be6987ed3aefa"
[2023-06-05 10:14:50.660 -05:00] [INF] [36] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : event_user_id_int    = 25
[2023-06-05 10:14:50.660 -05:00] [INF] [36] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : session_playing_id   = "979708d23a91e7dbdd6c6488c880a748"
[2023-06-05 10:14:50.660 -05:00] [INF] [36] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : session_user_id      = "106fd5ec6ba44a318f8be6987ed3aefa"
[2023-06-05 10:14:50.660 -05:00] [INF] [36] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : play_method          = "Transcode (v:h264 a:direct)"
[2023-06-05 10:14:50.660 -05:00] [INF] [36] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : e.ClientName         = "Jellyfin Media Player"
[2023-06-05 10:14:50.660 -05:00] [INF] [36] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : e.DeviceName         = "DESKTOP-5232KCA"
[2023-06-05 10:14:50.660 -05:00] [INF] [36] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : ItemName             = "Comedy Central"
[2023-06-05 10:14:50.660 -05:00] [INF] [36] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : ItemId               = "979708d23a91e7dbdd6c6488c880a748"
[2023-06-05 10:14:50.660 -05:00] [INF] [36] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : ItemType             = "TvChannel"
[2023-06-05 10:14:50.660 -05:00] [INF] [36] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : All matches, playback registered
[2023-06-05 10:14:50.660 -05:00] [INF] [36] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Playback trackler not found : "SmVsbHlmaW5NZWRpYVBsYXllciAxLjkuMSAod2luZG93cy14ODZfNjQgMTApfDE2ODU3MjM4ODA1MDc1-106fd5ec6ba44a318f8be6987ed3aefa-979708d23a91e7dbdd6c6488c880a748"
[2023-06-05 10:14:50.660 -05:00] [INF] [36] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : Exited

Here's what the error looks like on the client side 70783850405__8E1625F3-E307-4DD9-A8ED-2BB0FA38E616

setomerza commented 1 year ago

Just confirmed that this issue also occurs on Chrome & Firefox as well. Maybe due to a reverse proxy issue? The m3u8 playlist being loaded is locally hosted so it seems Jellyfin is unable to resolve the local TV url when being accessed remotely

rdbisme commented 8 months ago

In my case the player works on Firefox, but using JMP it just shows the loading wheel, then nothing. And freezes the entire player that needs to be rebooted.

Things work on Firefox or Edge.

ggowins commented 2 months ago

I didn't have problems with LiveTV on Jellyfin server 1.8 and the 1.8 versions of JMP on Windows. It worked fine. But since upgrading the server to 1.9.x and JMP to 1.10/1,11, I have not been able to play LiveTV on JMP Windows, but browsers and FireTV clients have no issues.

kibirisu commented 2 months ago

For me, Jellyfin Media Player on Linux recently stopped working too while the web version does work just fine.