jellyfin / jellyfin-media-player

Jellyfin Desktop Client
GNU General Public License v2.0
3.22k stars 321 forks source link

Jellyfin Media Player freezes when trying to play videos with VP9 codec #419

Open nothing2obvi opened 1 year ago

nothing2obvi commented 1 year ago

Describe the bug Whenever I play an H264 or H265 video file, Jellyfin Media Player works great. However, whenever I play a YouTube video (VP9 codec), Jellyfin Media Player just freezes and no video plays. Reloading does nothing. It causes me to force quit the app and open it again.

Interestingly, I get a webhook notification that the video has indeed started playing. I also get a notification that the video has stopped playing once I force quit Jellyfin Media Player.

Note that these YouTube videos play just fine for me on the Jellyfin Web UI and on Kodi.

To Reproduce Steps to reproduce the behavior:

  1. Go to YouTube library. Play a video.
  2. See that Jellyfin Media Player has frozen.
  3. Force quit and re-open again.

Expected behavior Videos with VP9 codec should play.

Logs

2023-04-14 00:00:01.135 [info] unknown @ 0 - JS: playing url: https://my.jellyfin.server/Videos/4ba8bdedbba43b7e822575e5dae6d6ec/stream.mkv?Static=true&mediaSourceId=4ba8bdedbba43b7e822575e5dae6d6ec&deviceId=SmVsbHlmaW5NZWRpYVBsYXllciAxLjYuMSAobWFjb3N4LXg4Nl82NCAxMS40KXwxNjI5MDk5NTQxMTMz&api_key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&Tag=c5f6869b10c01e624d79b9994c5c8bc0
2023-04-14 00:00:01.149 [info] unknown @ 0 - Looking for a display at: QRect(853,53 1707x988) (center: QPoint(1706,546) )
2023-04-14 00:00:01.149 [info] unknown @ 0 - Display index: 0
2023-04-14 00:00:01.149 [info] unknown @ 0 - Looking for a display at: QRect(853,53 1707x988) (center: QPoint(1706,546) )
2023-04-14 00:00:01.149 [info] unknown @ 0 - Display index: 0
2023-04-14 00:00:01.150 [debug] unknown @ 0 - cplayer: Set property: video-sync="audio" -> 1
2023-04-14 00:00:01.150 [debug] unknown @ 0 - cplayer: Set property: hwdec="auto-copy" -> 1
2023-04-14 00:00:01.150 [debug] unknown @ 0 - Video framerate: 29.97 fps
2023-04-14 00:00:01.150 [debug] unknown @ 0 - Not switching refresh-rate (disabled by settings).
2023-04-14 00:00:01.150 [info] unknown @ 0 - checking codecs
2023-04-14 00:00:01.159 [info] unknown @ 0 - Using system audio decoders: true
2023-04-14 00:00:01.159 [info] unknown @ 0 - Using system video decoders: false
2023-04-14 00:00:01.159 [info] unknown @ 0 - Not using on-demand codecs.
2023-04-14 00:00:01.159 [info] unknown @ 0 - resuming loading
2023-04-14 00:00:01.159 [debug] unknown @ 0 - cplayer: Set property: videotoolbox-format="nv12" -> -3
2023-04-14 00:00:01.159 [debug] unknown @ 0 - cplayer: Set property: deinterlace="no" -> 1
2023-04-14 00:00:01.159 [warning] unknown @ 0 - cplayer: Setting the display-fps property is deprecated; set the override-display-fps property instead.
2023-04-14 00:00:01.159 [debug] unknown @ 0 - cplayer: Set property: display-fps=60.000015 -> 1
2023-04-14 00:00:01.159 [debug] unknown @ 0 - cplayer: Set property: audio-delay=0.000000 -> 1
2023-04-14 00:00:01.159 [debug] unknown @ 0 - cplayer: Set property: cache=76800 -> -4
2023-04-14 00:00:01.159 [debug] unknown @ 0 - cplayer: Set property: video-unscaled=false -> 1
2023-04-14 00:00:01.159 [debug] unknown @ 0 - cplayer: Set property: video-aspect="-1" -> 1
2023-04-14 00:00:01.159 [debug] unknown @ 0 - cplayer: Set property: keepaspect=true -> 1
2023-04-14 00:00:01.159 [debug] unknown @ 0 - cplayer: Set property: panscan=0.000000 -> 1
2023-04-14 00:00:01.159 [debug] unknown @ 0 - cplayer: Setting option 'ad' = '' (flags = 16)
2023-04-14 00:00:01.159 [debug] unknown @ 0 - cplayer: Setting option 'aid' = 'no' (flags = 16)
2023-04-14 00:00:01.159 [debug] unknown @ 0 - cplayer: Setting option 'pause' = 'no' (flags = 16)
2023-04-14 00:00:01.159 [debug] unknown @ 0 - cplayer: Setting option 'sid' = 'no' (flags = 16)
2023-04-14 00:00:01.159 [debug] unknown @ 0 - cplayer: Setting option 'start' = '+25' (flags = 16)
2023-04-14 00:00:01.159 [debug] unknown @ 0 - cplayer: Setting option 'user-agent' = 'JellyfinMediaPlayer' (flags = 16)
2023-04-14 00:00:01.159 [debug] unknown @ 0 - cplayer: Setting option 'vd' = '' (flags = 16)
2023-04-14 00:00:01.159 [debug] unknown @ 0 - cplayer: Running hook: main/on_load
2023-04-14 00:00:01.159 [debug] unknown @ 0 - cplayer: Set property: ad="" -> 1
2023-04-14 00:00:01.159 [debug] unknown @ 0 - cplayer: Set property: vd="" -> 1
2023-04-14 00:00:01.160 [debug] unknown @ 0 - ffmpeg: Opening https://my.jellyfin.server/Videos/4ba8bdedbba43b7e822575e5dae6d6ec/stream.mkv?Static=true&mediaSourceId=4ba8bdedbba43b7e822575e5dae6d6ec&deviceId=SmVsbHlmaW5NZWRpYVBsYXllciAxLjYuMSAobWFjb3N4LXg4Nl82NCAxMS40KXwxNjI5MDk5NTQxMTMz&api_key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&Tag=c5f6869b10c01e624d79b9994c5c8bc0
2023-04-14 00:00:01.160 [info] unknown @ 0 - Entering state: buffering
2023-04-14 00:00:01.297 [debug] unknown @ 0 - ffmpeg: Mime-type: 'video/x-matroska'
2023-04-14 00:00:01.297 [debug] unknown @ 0 - demux: Trying demuxers for level=normal.
2023-04-14 00:00:01.298 [debug] unknown @ 0 - mkv: Default edition: 0
2023-04-14 00:00:01.298 [debug] unknown @ 0 - mkv: New edition 0
2023-04-14 00:00:01.298 [debug] unknown @ 0 - mkv: Default edition flag: 1
2023-04-14 00:00:01.406 [debug] unknown @ 0 - mkv: Deferring reading cues.
2023-04-14 00:00:01.406 [debug] unknown @ 0 - mkv: All headers are parsed!
2023-04-14 00:00:01.406 [debug] unknown @ 0 - demux: Detected file format: Matroska
2023-04-14 00:00:01.406 [debug] unknown @ 0 - cplayer: Opening done: https://my.jellyfin.server/Videos/4ba8bdedbba43b7e822575e5dae6d6ec/stream.mkv?Static=true&mediaSourceId=4ba8bdedbba43b7e822575e5dae6d6ec&deviceId=SmVsbHlmaW5NZWRpYVBsYXllciAxLjYuMSAobWFjb3N4LXg4Nl82NCAxMS40KXwxNjI5MDk5NTQxMTMz&api_key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&Tag=c5f6869b10c01e624d79b9994c5c8bc0
2023-04-14 00:00:01.406 [debug] unknown @ 0 - cplayer: Running hook: main/on_preloaded
2023-04-14 00:00:01.414 [info] unknown @ 0 - Using system audio decoders: true
2023-04-14 00:00:01.414 [info] unknown @ 0 - Using system video decoders: false
2023-04-14 00:00:01.414 [info] unknown @ 0 - Not using on-demand codecs.
2023-04-14 00:00:01.415 [debug] unknown @ 0 - cplayer: Set property: sid="no" -> 1
2023-04-14 00:00:01.415 [debug] unknown @ 0 - cplayer: Set property: aid="1" -> 1
2023-04-14 00:00:01.415 [debug] unknown @ 0 - cplayer: Set property: ad="vp9,opus" -> 1
2023-04-14 00:00:01.415 [debug] unknown @ 0 - cplayer: Set property: vd="vp9,opus" -> 1
2023-04-14 00:00:01.415 [debug] unknown @ 0 - mkv: select track 0
2023-04-14 00:00:01.415 [debug] unknown @ 0 - mkv: select track 1
2023-04-14 00:00:01.415 [info] unknown @ 0 - cplayer:  (+) Video --vid=1 (*) (vp9 1280x720 29.970fps)
2023-04-14 00:00:01.415 [info] unknown @ 0 - cplayer:  (+) Audio --aid=1 --alang=eng (*) (opus 2ch 48000Hz)
2023-04-14 00:00:01.415 [info] unknown @ 0 - display-tags: File tags:
2023-04-14 00:00:01.415 [info] unknown @ 0 - display-tags:  Artist: Stay Fabulous
2023-04-14 00:00:01.415 [info] unknown @ 0 - display-tags:  Comment: https://www.youtube.com/watch?v=0iQRHHrA3pU
2023-04-14 00:00:01.415 [info] unknown @ 0 - display-tags:  Date: 20190220
2023-04-14 00:00:01.415 [info] unknown @ 0 - display-tags:  Description: ♥ WHERE TO STAY IN AMMAN ☀ INSIDE HOTEL ROTANA LUXURY SUITE
2023-04-14 00:00:01.415 [info] unknown @ 0 - display-tags:  (Description here)
2023-04-14 00:00:01.415 [info] unknown @ 0 - display-tags:  (Description here)
2023-04-14 00:00:01.417 [info] unknown @ 0 - display-tags:  Title: WHERE TO STAY IN AMMAN ☀ INSIDE HOTEL ROTANA LUXURY SUITE
2023-04-14 00:00:01.417 [debug] unknown @ 0 - vo/libmpv: Assuming 60.000015 FPS for display sync.
2023-04-14 00:00:01.417 [debug] unknown @ 0 - vd: Container reported FPS: 29.970031
2023-04-14 00:00:01.417 [debug] unknown @ 0 - vd: Codec list:
2023-04-14 00:00:01.417 [debug] unknown @ 0 - vd:     vp9 - Google VP9
2023-04-14 00:00:01.417 [debug] unknown @ 0 - vd:     vp9 - Google VP9
2023-04-14 00:00:01.417 [debug] unknown @ 0 - vd:     libvpx-vp9 (vp9) - libvpx VP9
2023-04-14 00:00:01.417 [debug] unknown @ 0 - vd: Opening decoder vp9
2023-04-14 00:00:01.417 [debug] unknown @ 0 - vd: Looking at hwdec vp9-videotoolbox...
2023-04-14 00:00:01.417 [debug] unknown @ 0 - vd: Not using this for auto-copy.
2023-04-14 00:00:01.417 [debug] unknown @ 0 - vd: Looking at hwdec vp9-videotoolbox-copy...
2023-04-14 00:00:01.417 [debug] unknown @ 0 - vd: Trying hardware decoding via vp9-videotoolbox-copy.
2023-04-14 00:00:01.417 [debug] unknown @ 0 - vd: Selected codec: vp9 (Google VP9)
2023-04-14 00:00:01.417 [debug] unknown @ 0 - vf: User filter list:
2023-04-14 00:00:01.417 [debug] unknown @ 0 - vf:   (empty)
2023-04-14 00:00:01.417 [debug] unknown @ 0 - ad: Codec list:
2023-04-14 00:00:01.417 [debug] unknown @ 0 - ad:     opus - Opus
2023-04-14 00:00:01.417 [debug] unknown @ 0 - ad:     opus - Opus
2023-04-14 00:00:01.417 [debug] unknown @ 0 - ad:     libopus (opus) - libopus Opus
2023-04-14 00:00:01.417 [debug] unknown @ 0 - ad: Opening decoder opus
2023-04-14 00:00:01.417 [debug] unknown @ 0 - ad: Requesting 1 threads for decoding.
2023-04-14 00:00:01.417 [debug] unknown @ 0 - ad: Selected codec: opus (Opus)
2023-04-14 00:00:01.417 [debug] unknown @ 0 - af: User filter list:
2023-04-14 00:00:01.417 [debug] unknown @ 0 - af:   (empty)
2023-04-14 00:00:01.417 [debug] unknown @ 0 - cplayer: Starting playback...
2023-04-14 00:00:01.417 [debug] unknown @ 0 - mkv: queuing seek to 25.000000
2023-04-14 00:00:01.417 [debug] unknown @ 0 - mkv: execute seek (to 25.000000 flags 32)
2023-04-14 00:00:01.417 [debug] unknown @ 0 - mkv: Seeking to 71514599 to read header element 0x1c53bb6b.
2023-04-14 00:00:01.417 [debug] unknown @ 0 - ffmpeg: stream level seek from 474841 to 71514599
2023-04-14 00:00:01.417 [debug] unknown @ 0 - cplayer: hr-seek, skipping to 25.000000
2023-04-14 00:00:01.436 [debug] unknown @ 0 - libmpv_render: Window size: 1707x988 (Borders: l=0 t=0 r=0 b=0)
2023-04-14 00:00:01.437 [debug] unknown @ 0 - libmpv_render: Video source: 0x0 (0:0)
2023-04-14 00:00:01.437 [debug] unknown @ 0 - libmpv_render: Video display: (0, 0) 1x1 -> (0, 0) 1707x988
2023-04-14 00:00:01.437 [debug] unknown @ 0 - libmpv_render: Video scale: 1707.000000/988.000000
2023-04-14 00:00:01.437 [debug] unknown @ 0 - libmpv_render: OSD borders: l=-1073740992 t=0 r=-1073740949 b=0
2023-04-14 00:00:01.437 [debug] unknown @ 0 - libmpv_render: Video borders: l=0 t=0 r=0 b=0
2023-04-14 00:00:01.627 [info] unknown @ 0 - 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","SetAspectRatio","PlaybackRate"]}
2023-04-14 00:00:01.628 [info] unknown @ 0 - JS: SyncPlay WrapperFactory getWrapper: htmlvideoplayer
2023-04-14 00:00:01.631 [info] unknown @ 0 - JS: Requesting url without automatic networking: https://my.jellyfin.server/Sessions/Playing
2023-04-14 00:00:01.633 [debug] unknown @ 0 - mkv: Parsing cues...
2023-04-14 00:00:01.633 [debug] unknown @ 0 - ffmpeg: stream level seek from 71516423 to 3779276
2023-04-14 00:00:01.637 [info] unknown @ 0 - JS: nowplaying event: playbackstart
2023-04-14 00:00:01.638 [info] unknown @ 0 - JS: nowplaying event: playbackstart
2023-04-14 00:00:01.742 [debug] unknown @ 0 - mkv: seek done
2023-04-14 00:00:01.748 [debug] unknown @ 0 - vd: Pixel formats supported by decoder: videotoolbox_vld yuv420p
2023-04-14 00:00:01.748 [debug] unknown @ 0 - vd: Codec profile: Profile 0 (0x0)
2023-04-14 00:00:01.748 [debug] unknown @ 0 - vd: Requesting pixfmt 'videotoolbox_vld' from decoder.
2023-04-14 00:00:02.192 [info] unknown @ 0 - JS: Requesting url without automatic networking: https://my.jellyfin.server/Sessions/Playing/Progress
2023-04-14 00:00:11.655 [info] unknown @ 0 - JS: Requesting url without automatic networking: https://my.jellyfin.server/Sessions/Playing/Progress
2023-04-14 00:00:11.761 [debug] unknown @ 0 - mkv: EOF reached.
2023-04-14 00:00:13.047 [info] unknown @ 0 - JS: Requesting https://my.jellyfin.server/Users/7337db213f214a1faa511101575e395b/Items/Resume?Limit=12&Recursive=true&Fields=PrimaryImageAspectRatio%2CBasicSyncInfo&ImageTypeLimit=1&EnableImageTypes=Primary%2CBackdrop%2CThumb&EnableTotalRecordCount=false&MediaTypes=Video
2023-04-14 00:00:13.049 [info] unknown @ 0 - JS: Requesting https://my.jellyfin.server/Users/7337db213f214a1faa511101575e395b/Items/Resume?Limit=12&Recursive=true&Fields=PrimaryImageAspectRatio%2CBasicSyncInfo&ImageTypeLimit=1&EnableImageTypes=Primary%2CBackdrop%2CThumb&EnableTotalRecordCount=false&MediaTypes=Audio
2023-04-14 00:00:13.049 [info] unknown @ 0 - JS: Requesting https://my.jellyfin.server/Users/7337db213f214a1faa511101575e395b/Items/Resume?Limit=12&Recursive=true&Fields=PrimaryImageAspectRatio%2CBasicSyncInfo&ImageTypeLimit=1&EnableImageTypes=Primary%2CBackdrop%2CThumb&EnableTotalRecordCount=false&MediaTypes=Book
2023-04-14 00:00:13.049 [info] unknown @ 0 - JS: Requesting https://my.jellyfin.server/Shows/NextUp?Limit=24&Fields=PrimaryImageAspectRatio%2CDateCreated%2CBasicSyncInfo%2CPath%2CMediaSourceCount&UserId=7337db213f214a1faa511101575e395b&ImageTypeLimit=1&EnableImageTypes=Primary%2CBackdrop%2CBanner%2CThumb&EnableTotalRecordCount=false&DisableFirstEpisode=false&NextUpDateCutoff=2022-04-14T07%3A00%3A13.048Z&EnableRewatching=false
2023-04-14 00:00:19.291 [info] unknown @ 0 - JS: Sending web socket message: KeepAlive
2023-04-14 00:00:19.308 [info] unknown @ 0 - JS: Received KeepAlive from server.
2023-04-14 00:00:21.650 [info] unknown @ 0 - JS: Requesting url without automatic networking: https://my.jellyfin.server/Sessions/Playing/Progress
2023-04-14 00:00:31.654 [info] unknown @ 0 - JS: Requesting url without automatic networking: https://my.jellyfin.server/Sessions/Playing/Progress
2023-04-14 00:00:41.656 [info] unknown @ 0 - JS: Requesting url without automatic networking: https://my.jellyfin.server/Sessions/Playing/Progress

Desktop:

AcVoyager commented 1 year ago

Encounter the same issue on IOS Jellyfin client