Jellyfin Forum
SOLVED: Transcoded playback stuttering on version 10.8.10+ - Printable Version

+- Jellyfin Forum (https://forum.jellyfin.org)
+-- Forum: Support (https://forum.jellyfin.org/f-support)
+--- Forum: Troubleshooting (https://forum.jellyfin.org/f-troubleshooting)
+--- Thread: SOLVED: Transcoded playback stuttering on version 10.8.10+ (/t-solved-transcoded-playback-stuttering-on-version-10-8-10)

Pages: 1 2


Transcoded playback stuttering on version 10.8.10+ - IcyDiamond - 2023-09-23

Hello. I'm currently stuck on Jellyfin version 10.8.9 because on 10.8.10 some videos are completely unwatchable.

There is some kind of weird issue where the video will repeat like 2 frames for maybe 6 seconds and then skip ahead, repeating this pattern, all the while the audio track runs in the background without issue. This happens on every device I've tried on specific videos.

There is absolutely nothing I can discern wrong from the transcode logs or Jellyfin logs or even the in-player statistics - there are no dropped frames etc.

  • Version: 10.8.10
  • Platform: Linux Docker on Arch Linux
  • Using the lscr.io/linuxserver/jellyfin image with linuxserver/mods:jellyfin-amd mod (tested with and without, no difference)
  • GPU: RX 7900 XTX
  • CPU: Ryzen 9 7950X


Player statistics show nothing out of the ordinary
[Image: Screenshot_23-09-23-08:39:04.png]

Jellyfin container log:
Code:
jellyfin  | [05:36:58] [INF] [26] Jellyfin.Api.Helpers.MediaInfoHelper: RemoteClientBitrateLimit: 20000000, RemoteIp: 127.0.0.1, IsInLocalNetwork: True
jellyfin  | [05:36:58] [INF] [26] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile=Anonymous Profile, Path=/media/tv/SHOW.avi, AudioStreamIndex=null, SubtitleStreamIndex=null ) => ( PlayMethod=Transcode, TranscodeReason=ContainerNotSupported, VideoCodecNotSupported, AudioCodecNotSupported ) media:/videos/0cc6aa38-118d-d4d1-01cd-c6c810477e01/master.m3u8?MediaSourceId=0cc6aa38118dd4d101cdc6c810477e01&VideoCodec=h264&AudioCodec=mp3&AudioStreamIndex=1&VideoBitrate=139747784&AudioBitrate=252216&AudioSampleRate=48000&MaxFramerate=29.97003&api_key=<token>&TranscodingMaxAudioChannels=2&RequireAvc=false&Tag=c7f5277472e121725f3755b2fa67dc0a&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=True&mpeg4-level=3&mpeg4-videobitdepth=8&mpeg4-profile=simpleprofile&mpeg4-audiochannels=2&TranscodeReasons=ContainerNotSupported,%20VideoCodecNotSupported,%20AudioCodecNotSupported
jellyfin  | [05:36:59] [INF] [26] Jellyfin.Api.Controllers.DynamicHlsController: Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request
jellyfin  | [05:36:59] [INF] [26] Jellyfin.Api.Helpers.TranscodingJobHelper: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -init_hw_device vaapi=va:/dev/dri/renderD128 -filter_hw_device va -autorotate 0 -i file:"/media/tv/SHOW.avi" -map_metadata -1 -map_chapters -1 -threads 6 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_vaapi -rc_mode VBR -b:v 5999036 -maxrate 5999036 -bufsize 11998072 -force_key_frames:0 "expr:gte(t,0+n_forced*3)" -vf "setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale=trunc(min(max(iw\,ih*a)\,min(720\,480*a))/2)*2:trunc(min(max(iw/a\,ih)\,min(720/a\,480))/2)*2,format=nv12,hwupload=derive_device=vaapi" -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_segment_filename "/config/data/transcodes/3b431d0cff7487e56bec522ac33acd81%d.ts" -hls_playlist_type vod -hls_list_size 0 -y "/config/data/transcodes/3b431d0cff7487e56bec522ac33acd81.m3u8"
jellyfin  | [05:37:15] [INF] [26] Jellyfin.Api.Helpers.TranscodingJobHelper: Stopping ffmpeg process with q command for /config/data/transcodes/3b431d0cff7487e56bec522ac33acd81.m3u8
jellyfin  | [05:37:15] [INF] [26] Jellyfin.Api.Helpers.TranscodingJobHelper: FFmpeg exited with code 0

Here's a transcode log which looks pretty normal to me: https://termbin.lunasqu.ee/bp0i

Comparing this to 10.8.9 now:

[Image: Screenshot_23-09-23-08:51:36.png]

Code:
jellyfin  | [05:51:25] [INF] [17] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile=Anonymous Profile, Path=/media/tv/SHOW.avi, AudioStreamIndex=null, SubtitleStreamIndex=null ) => ( PlayMethod=Transcode, TranscodeReason=ContainerNotSupported, VideoCodecNotSupported, AudioCodecNotSupported ) media:/videos/0cc6aa38-118d-d4d1-01cd-c6c810477e01/master.m3u8?MediaSourceId=0cc6aa38118dd4d101cdc6c810477e01&VideoCodec=h264&AudioCodec=mp3&AudioStreamIndex=1&VideoBitrate=139747784&AudioBitrate=252216&AudioSampleRate=48000&MaxFramerate=29.97003&api_key=<token>&TranscodingMaxAudioChannels=2&RequireAvc=false&Tag=c7f5277472e121725f3755b2fa67dc0a&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=True&mpeg4-level=3&mpeg4-videobitdepth=8&mpeg4-profile=simpleprofile&mpeg4-audiochannels=2&h264-profile=high,main,baseline,constrainedbaseline,high10&h264-rangetype=SDR&h264-level=52&h264-deinterlace=true&TranscodeReasons=ContainerNotSupported,%20VideoCodecNotSupported,%20AudioCodecNotSupported
jellyfin  | [05:51:25] [INF] [17] Jellyfin.Api.Controllers.DynamicHlsController: Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request
jellyfin  | [05:51:25] [INF] [17] Jellyfin.Api.Helpers.TranscodingJobHelper: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -init_hw_device vaapi=va:/dev/dri/renderD128 -filter_hw_device va -autorotate 0 -i file:"/media/tv/SHOW.avi" -map_metadata -1 -map_chapters -1 -threads 6 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_vaapi -rc_mode VBR -b:v 5999036 -maxrate 5999036 -bufsize 11998072 -profile:v:0 high -force_key_frames:0 "expr:gte(t,0+n_forced*3)" -vf "setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale=trunc(min(max(iw\,ih*a)\,min(720\,480*a))/2)*2:trunc(min(max(iw/a\,ih)\,min(720/a\,480))/2)*2,format=nv12,hwupload=derive_device=vaapi" -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_segment_filename "/config/data/transcodes/ba3a532dd8f03c8021074e257a4298f7%d.ts" -hls_playlist_type vod -hls_list_size 0 -y "/config/data/transcodes/ba3a532dd8f03c8021074e257a4298f7.m3u8"

Transcode log: https://termbin.lunasqu.ee/hh5x

Comparing the logs I just noticed that 10.8.10 has an extra line
Code:
[h264_vaapi @ 0x5633c95ad740] Driver does not support some wanted packed headers (wanted 0xd, found 0x1).
Could this be the culprit?


RE: Playback stuttering on 10.8.10 - skribe - 2023-09-23

Hi, IcyDiamond.

I also do not see anything in your logs that really indicates a transcoding difference. There are very minor differences in the ffmpeg commands called between the two versions, but in both cases you're getting many hundreds of FPS on your transcodes--way more than you would need to maintain a stable stream.

You say this happens consistently and exclusively on 10.8.10, but never on 10.8.9?


RE: Playback stuttering on 10.8.10 - IcyDiamond - 2023-09-23

I have literally never experienced anything like this in all of my time using Jellyfin, usually with transcoding issues I've just had the generic transcoding failed popup, so yeah I would say it's exclusively and consistently a 10.8.10 thing. The videos having this issue will consistently be broken on every device (Web browsers, Android, Google TV) but not all shows/movies are broken.


RE: Playback stuttering on 10.8.10 - skribe - 2023-09-23

(2023-09-23, 02:16 PM)IcyDiamond Wrote: I have literally never experienced anything like this in all of my time using Jellyfin, usually with transcoding issues I've just had the generic transcoding failed popup, so yeah I would say it's exclusively and consistently a 10.8.10 thing. The videos having this issue will consistently be broken on every device (Web browsers, Android, Google TV) but not all shows/movies are broken.

OK. This is probably helpful context. Can you throw the media info for some files that are broken, and some that work, up on pastebin or something for us?


RE: Playback stuttering on 10.8.10 - IcyDiamond - 2023-09-23

Here's a sample screen recording of an older show which is broken: https://i.lunasqu.ee/2023-09-23_17-19-42.mp4
(It's not exclusive to low quality video formats, not even exclusive to H264, I have some higher quality shows suffering from this as well)


RE: Playback stuttering on 10.8.10 - IcyDiamond - 2023-09-23

I'm pretty sure now that it's exclusive to transcoded videos in general, all the ones that work at least seem to be direct play.

Ok it's not.. I found a transcoded video that works just fine: https://termbin.lunasqu.ee/ut4a
These do not work: https://termbin.lunasqu.ee/panh
At least I don't notice a pattern at all, the issue seems to be completely random.. And the one that works also has the line
Code:
[h264_vaapi @ 0x55c1e2308500] Driver does not support some wanted packed headers (wanted 0xd, found 0x1).
in the log so it's probably not related..


RE: Playback stuttering on 10.8.10 - skribe - 2023-09-23

Sorry. I should have been clearer. Grab the media info from the "media info" option in the context menu of the items in question. Just hit the copy all button next to the title at the top. It looks like this:

   

I want to see ALL of the tracks, subtitles, audio formats, etc.

Also, just to clarify: This ALWAYS happens with the same files? Like it doesn't come and go?


RE: Playback stuttering on 10.8.10 - IcyDiamond - 2023-09-23

(2023-09-23, 02:45 PM)skribe Wrote: Sorry. I should have been clearer. Grab the media info from the "media info" option in the context menu of the items in question.

Broken transcodes:
One I found that works just fine: https://termbin.lunasqu.ee/suqp

(2023-09-23, 02:45 PM)skribe Wrote: Also, just to clarify: This ALWAYS happens with the same files? Like it doesn't come and go?

Yes. I haven't gotten the mentioned files to work once on this version.


RE: Playback stuttering on 10.8.10 - skribe - 2023-09-23

Alright. Thanks! This should be good for now. I don't have an immediate idea what's happening, and this might be a genuine bug. But let me see if some other people can look over the information too.


RE: Playback stuttering on 10.8.10 - IcyDiamond - 2023-09-23

Thanks for your time.

It definitely has to be an issue with jellyfin-ffmpeg, lifting the files from inside the docker container and playing the .m3u8 in mpv shows the same issue.