brothom 177 Posted November 19, 2025 Posted November 19, 2025 Some of my users keep being able to transcode certain entries, but "quality selection" has been disabled for their account I can't find anything regarding "why" transcoding it happening, other than this request 2025-11-19 16:39:25.998 Info MediaInfoService-0HNH72VKIT8M7:0000003F: http/2 POST https://host8/emby/Items/8131/PlaybackInfo?UserId=9e3ccbb472224bafa8ea36423dfaff6d&StartTimeTicks=0&IsPlayback=false&AutoOpenLiveStream=false&MaxStreamingBitrate=2000000&X-Emby-Client=Emby Web&X-Emby-Device-Name=Google Chrome Windows&X-Emby-Device-Id=52a84760-3103-4d70-ba75-0e3a80218b5b&X-Emby-Client-Version=4.9.2.15&X-Emby-Token=x_secret6_x&X-Emby-Language=nl&reqformat=json. Source Ip: host38, UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 2025-11-19 16:39:26.057 Info App: User policy for XXXXXXXX. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: False EnableAudioPlaybackTranscoding: True Does anyone have any idea what's going on with these users? Is it the "EnablePlaybackRemuxing" causing this, if so; why?
GrimReaper 4739 Posted November 19, 2025 Posted November 19, 2025 Well, that window surely looks interesting, with both Video and Audio Direct Playing and item being transcoded 6->2 Mbps. Talk about mind-bending. "There is no spoon..."
ebr 16169 Posted November 19, 2025 Posted November 19, 2025 9 minutes ago, brothom said: but "quality selection" has been disabled for their account Exactly how?
visproduction 315 Posted November 19, 2025 Posted November 19, 2025 Guessing the text alert notice is just worded incorrectly. Maybe when transcoding happens, it mostly is for that reason, but if perhaps the server, hardware, cables, TV App combination cannot handle a direct play throughput, then transcoding is done, not for quality, but for the ability to stream a large media with these audio / video codecs, in real time through the connection. Perhaps the alert would be more accurate to state "Reduced bitrate due to quality or other reasons." It is my understanding that cables, browsers, TV Apps, Wifi, of course, if used can all fail to send media content with high bitrates or non-compatible codecs. I think also what is confusing is that the end player / TV is suppose to be able to play everything, but there is some step along the way that does not support some issue, with the media codecs or even sometimes the media inlcudes 30 subtitles which has side effects. Just having enough bandwidth does not fix some step not accepting the codec. If logs of the incident were included, someone could pin down more exactly what's happening. I never have this problem, but I also never have media with this combined codec and bitrates. Some people's setups can handle higher bit rate media. It seems to be tricky to get direct to work for everyone, all the time, for h.265 .mkv media.
speechles 2055 Posted November 19, 2025 Posted November 19, 2025 (edited) 36 minutes ago, brothom said: Is it the "EnablePlaybackRemuxing" causing this, if so; why? Yes. Notice the green line is very short for the amount they have played back, yet the red line has completed entirely. This is because a remux is much faster, doesn't need to throttle, and doesn't really increase the size of the file by very much. It isn't technically transcoding. The streams are being played directly. Only the container has been changed. It says "Reducing bitrate" for the transcode reason which is probably correct that it was going to do that. Then it realized the restrictions on the user after giving that message. That it cannot transcode and the best it can do is the remux. You are correct in your understanding. The message doesn't understand yet that it will be restricted from transcoding on top of their bitrate quality selection. It just shows that their bitrate selection on the app is lower than the bitrate of the media item and gives that message. When really it is _both_ the bitrate _and_ the fact they cannot transcode. Which means their lower bitrate was not taken into account since the restriction to not transcode takes priority. The message while correct isn't applied in this instance. Edited November 19, 2025 by speechles 1
Happy2Play 9780 Posted November 19, 2025 Posted November 19, 2025 I would assume corresponding logs are need as images never tell the whole story. 1
Happy2Play 9780 Posted November 19, 2025 Posted November 19, 2025 I think once you start changing user playback options the server will not report proper playback either so there may not be any corresponding logs. But a dev would have to confirm as I thought something like this was reported before when disabling transcoding on user settings.
Happy2Play 9780 Posted November 19, 2025 Posted November 19, 2025 But testing my theory I did get a remux log. Stream info is wrong. &TranscodeReasons=ContainerBitrateExceedsLimit >>>>>> User policy for Media Allow Playback Remuxing: True Allow Transcoding to Reduce Quality: True Allow Video Playback Transcoding: False Allow Audio Playback Transcoding: True 08:55:25.317 Stream mapping: 08:55:25.317 Stream #0:0 -> #0:0 (copy) 08:55:25.317 Stream #0:2 -> #0:1 (dts (dca) -> mp3 (libmp3lame))
Happy2Play 9780 Posted November 19, 2025 Posted November 19, 2025 (edited) Sorry a better representation of OP playback. You will have a Directstream log &TranscodeReasons=ContainerBitrateExceedsLimit >>>>>> User policy for Media Allow Playback Remuxing: True Allow Transcoding to Reduce Quality: True Allow Video Playback Transcoding: False Allow Audio Playback Transcoding: True 09:02:56.988 Stream mapping: 09:02:56.988 Stream #0:0 -> #0:0 (copy) 09:02:56.988 Stream #0:1 -> #0:1 (copy) But overall issue is how Stream info is presented. So the server sort of presents the limited quality issue even though it is not limiting it. &VideoBitrate=3808002&AudioBitrate=192000 Edited November 19, 2025 by Happy2Play 1
horstepipe 422 Posted November 19, 2025 Posted November 19, 2025 I am seeing that or similar all the time, but server does not transcode definitely - I’d notice that from cpu usage - this is just a UI bug, was addressed in some other thread before. BR 1
brothom 177 Posted November 19, 2025 Author Posted November 19, 2025 3 minutes ago, Happy2Play said: Sorry a better representation of OP playback. You will have a Directstream log &TranscodeReasons=ContainerBitrateExceedsLimit >>>>>> User policy for Media Allow Playback Remuxing: True Allow Transcoding to Reduce Quality: True Allow Video Playback Transcoding: False Allow Audio Playback Transcoding: True 09:02:56.988 Stream mapping: 09:02:56.988 Stream #0:0 -> #0:0 (copy) 09:02:56.988 Stream #0:1 -> #0:1 (copy) But overall issue is how Stream info is presented. So the server sort of presents the limited quality issue even though it is not limiting it. &VideoBitrate=3808002&AudioBitrate=192000 This looks a lot like my case. I'm not really sure "how" this user manages this, with the same account setting (as my own): The reason I leave "allow chaning of container formats" enabled is due to this issue, otherwise some of my user won't be able to view specific containers but those aren't my concern since that isn't all that intensive. My account can also view this piece of media without any transcoding/remuxing and we're both on Windows 10 with latest updates. The device supports 4K and this issue only occurred as of late (not sure if it also happened because the 4.9 update). 1 minute ago, horstepipe said: I am seeing that or similar all the time, but server does not transcode definitely - I’d notice that from cpu usage - this is just a UI bug, was addressed in some other thread before. BR Maybe your server is more powerful than mine. During the remux the entire server becomes unresponsive because it keeps at it in one go until the entire file is processed. My server is absolutely awful and when this occurs other sessions freeze until this single session is done or that current fragment has been returned.
Happy2Play 9780 Posted November 19, 2025 Posted November 19, 2025 You should have a corresponding ffmpeg-directstream log for that playback session. But in the end, there is an issue in actual server reporting when one disables user playback options. As it still reading default playback limitations then ignoring them in the code process. So at no time was there an enforced 4Mbps limit on the file being played as it was stream copied.
brothom 177 Posted November 19, 2025 Author Posted November 19, 2025 10 minutes ago, Happy2Play said: Sorry a better representation of OP playback. You will have a Directstream log I think you're right and I think it might have to do with embedded subtitles because this one specific log for this entry is full of this stuff: App: Emby Web 4.9.2.15 Google Chrome Windows User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 https://host8/emby/videos/8131/main.m3u8?DeviceId=52a84760-3103-4d70-ba75-0e3a80218b5b&MediaSourceId=mediasource_8131&PlaySessionId=5332d6e739ea48f29d354bfd42a06ec7&api_key=x_secret6_x&VideoCodec=hevc,h264,av1&AudioCodec=mp3,aac&VideoBitrate=1680000&AudioBitrate=320000&MaxWidth=1280&AudioStreamIndex=1&SubtitleStreamIndex=24&SubtitleMethod=Hls&TranscodingMaxAudioChannels=2&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=False&SubtitleStreamIndexes=2,3,4,5,6,24&ManifestSubtitles=vtt&h264-profile=high,main,baseline,constrainedbaseline,high10&h264-level=62&hevc-codectag=hvc1,hev1,hevc,hdmv&TranscodeReasons=ContainerBitrateExceedsLimit https://host8/emby/videos/8131/hls1/main/0.ts?PlaySessionId=5332d6e739ea48f29d354bfd42a06ec7 ... 16:39:32.160 Output #2, segment, to 'J:\transcoding\transcoding-temp\645AD8\645AD8_s3_%d.vtt': 16:39:32.160 Metadata: 16:39:32.160 encoder : Lavf59.27.100 16:39:32.160 Stream #2:0: Subtitle: webvtt (hearing impaired) 16:39:32.160 Metadata: 16:39:32.160 encoder : Lavc59.37.100 webvtt 16:39:32.177 subtitle_kickoff: resend - pts: 10262 16:39:32.177 subtitle_kickoff: call subtitle_resend_current 10272 frame->format: 3 16:39:32.177 [segment @ 000001c18e5414c0] Opening 'J:\transcoding\transcoding-temp\645AD8\645AD8.m3u8.tmp' for writing 16:39:32.179 SegmentComplete=video:0 Index=0 Start=0.000000 End=10.303000 Duration=10.303000 offset_pts=0 start_pts=0 Frames=246 filename=645AD8_0.ts 16:39:32.179 [segment @ 000001c18e5414c0] Opening 'J:\transcoding\transcoding-temp\645AD8\645AD8_1.ts.tmp' for writing 16:39:32.219 subtitle_kickoff: resend - pts: 15308 16:39:32.219 subtitle_kickoff: call subtitle_resend_current 15318 frame->format: 3 16:39:32.250 subtitle_kickoff: resend - pts: 20355 16:39:32.250 subtitle_kickoff: call subtitle_resend_current 20365 frame->format: 3 16:39:32.255 [segment @ 000001c18e5414c0] Opening 'J:\transcoding\transcoding-temp\645AD8\645AD8.m3u8.tmp' for writing 16:39:32.255 SegmentComplete=video:0 Index=1 Start=10.470000 End=20.771000 Duration=10.301000 offset_pts=0 start_pts=10470000 Frames=251 filename=645AD8_1.ts 16:39:32.255 [segment @ 000001c18e5414c0] Opening 'J:\transcoding\transcoding-temp\645AD8\645AD8_2.ts.tmp' for writing 16:39:32.280 subtitle_kickoff: resend - pts: 25527 16:39:32.280 subtitle_kickoff: call subtitle_resend_current 25537 frame->format: 3 16:39:32.375 subtitle_kickoff: resend - pts: 30574 16:39:32.375 subtitle_kickoff: call subtitle_resend_current 30584 frame->format: 3 16:39:32.378 [segment @ 000001c18e5414c0] Opening 'J:\transcoding\transcoding-temp\645AD8\645AD8.m3u8.tmp' for writing 16:39:32.379 SegmentComplete=video:0 Index=2 Start=20.897000 End=31.198000 Duration=10.301000 offset_pts=0 start_pts=20897000 Frames=250 filename=645AD8_2.ts 16:39:32.379 [segment @ 000001c18e5414c0] Opening 'J:\transcoding\transcoding-temp\645AD8\645AD8_3.ts.tmp' for writing 16:39:32.381 [segment @ 000001c18e68e6c0] Opening 'J:\transcoding\transcoding-temp\645AD8\645AD8_s3.m3u8.tmp' for writing 16:39:32.382 SegmentComplete=subtitle:0 Index=0 Start=0.000000 End=8.050000 Duration=8.050000 offset_pts=0 start_pts=0 Frames=1 filename=645AD8_s3_0.vtt 16:39:32.382 [segment @ 000001c18e68e6c0] Opening 'J:\transcoding\transcoding-temp\645AD8\645AD8_s3_1.vtt.tmp' for writing 16:39:32.382 [segment @ 000001c18e68e6c0] Opening 'J:\transcoding\transcoding-temp\645AD8\645AD8_s3.m3u8.tmp' for writing 16:39:32.383 SegmentComplete=subtitle:0 Index=1 Start=31.866000 End=31.866000 Duration=0.000000 offset_pts=0 start_pts=31866000 Frames=0 filename=645AD8_s3_1.vtt 16:39:32.383 [segment @ 000001c18e68e6c0] Opening 'J:\transcoding\transcoding-temp\645AD8\645AD8_s3_2.vtt.tmp' for writing 16:39:32.383 [segment @ 000001c18e68e6c0] Opening 'J:\transcoding\transcoding-temp\645AD8\645AD8_s3.m3u8.tmp' for writing 16:39:32.384 SegmentComplete=subtitle:0 Index=2 Start=31.866000 End=31.866000 Duration=0.000000 offset_pts=0 start_pts=31866000 Frames=0 filename=645AD8_s3_2.vtt 16:39:32.384 [segment @ 000001c18e68e6c0] Opening 'J:\transcoding\transcoding-temp\645AD8\645AD8_s3_3.vtt.tmp' for writing 16:39:32.384 [segment @ 000001c18e68e6c0] Opening 'J:\transcoding\transcoding-temp\645AD8\645AD8_s3.m3u8.tmp' for writing 16:39:32.385 SegmentComplete=subtitle:0 Index=3 Start=31.866000 End=31.866000 Duration=0.000000 offset_pts=0 start_pts=31866000 Frames=0 filename=645AD8_s3_3.vtt 16:39:32.385 [segment @ 000001c18e68e6c0] Opening 'J:\transcoding\transcoding-temp\645AD8\645AD8_s3_4.vtt.tmp' for writing 16:39:32.386 [segment @ 000001c18e68e6c0] Opening 'J:\transcoding\transcoding-temp\645AD8\645AD8_s3.m3u8.tmp' for writing 16:39:32.386 SegmentComplete=subtitle:0 Index=4 Start=31.866000 End=31.866000 Duration=0.000000 offset_pts=0 start_pts=31866000 Frames=0 filename=645AD8_s3_4.vtt 16:39:32.386 [segment @ 000001c18e68e6c0] Opening 'J:\transcoding\transcoding-temp\645AD8\645AD8_s3_5.vtt.tmp' for writing Could it be that the subtitles are being rendered or converted? This file does contain a bunch of subrips:
Happy2Play 9780 Posted November 19, 2025 Posted November 19, 2025 If you did not disable video transcoding it would per this 2Mbps set limit. https://host8/emby/videos/8131/main.m3u8?DeviceId=52a84760-3103-4d70-ba75-0e3a80218b5b&MediaSourceId=mediasource_8131&PlaySessionId=5332d6e739ea48f29d354bfd42a06ec7&api_key=x_secret6_x&VideoCodec=hevc,h264,av1&AudioCodec=mp3,aac&VideoBitrate=1680000&AudioBitrate=320000&MaxWidth=1280&AudioStreamIndex=1&SubtitleStreamIndex=24&SubtitleMethod=Hls&TranscodingMaxAudioChannels=2&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=False&SubtitleStreamIndexes=2,3,4,5,6,24&ManifestSubtitles=vtt&h264-profile=high,main,baseline,constrainedbaseline,high10&h264-level=62&hevc-codectag=hvc1,hev1,hevc,hdmv&TranscodeReasons=ContainerBitrateExceedsLimit But you did not show the ffmpeg code used or the stream mapping that happened. Should be just a Server Session display issue as the STREAM info never happened.
brothom 177 Posted November 19, 2025 Author Posted November 19, 2025 44 minutes ago, Happy2Play said: If you did not disable video transcoding it would per this 2Mbps set limit. https://host8/emby/videos/8131/main.m3u8?DeviceId=52a84760-3103-4d70-ba75-0e3a80218b5b&MediaSourceId=mediasource_8131&PlaySessionId=5332d6e739ea48f29d354bfd42a06ec7&api_key=x_secret6_x&VideoCodec=hevc,h264,av1&AudioCodec=mp3,aac&VideoBitrate=1680000&AudioBitrate=320000&MaxWidth=1280&AudioStreamIndex=1&SubtitleStreamIndex=24&SubtitleMethod=Hls&TranscodingMaxAudioChannels=2&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=False&SubtitleStreamIndexes=2,3,4,5,6,24&ManifestSubtitles=vtt&h264-profile=high,main,baseline,constrainedbaseline,high10&h264-level=62&hevc-codectag=hvc1,hev1,hevc,hdmv&TranscodeReasons=ContainerBitrateExceedsLimit But you did not show the ffmpeg code used or the stream mapping that happened. Should be just a Server Session display issue as the STREAM info never happened. I think you might be right. It's strange though, my users reported degraded performance when this happened and I notice my local serer became slightly hard to reach. I'll keep an eye on this user and cases like it and check in on the task manager to be sure ffmpeg isn't running.
pwhodges 2012 Posted November 19, 2025 Posted November 19, 2025 Presumably opening the User Session in the dashboard (needs Diagnostics plugin if I recall correctly) would show what's actually happening accurately. Paul
brothom 177 Posted November 20, 2025 Author Posted November 20, 2025 15 hours ago, pwhodges said: Presumably opening the User Session in the dashboard (needs Diagnostics plugin if I recall correctly) would show what's actually happening accurately. Paul Yep, sessions can't normally be viewed other than the Dashboard overview. I can't find a plugin called that, is it available in the Emby Catalog?
pwhodges 2012 Posted November 20, 2025 Posted November 20, 2025 (edited) It's called "Emby Diagnostics" in the "General" row of the plugins catalogue. Among other things (like the ability to royally mess things up!), it adds the "User Sessions" menu item at the bottom of the dashboard menu. Paul Edited November 20, 2025 by pwhodges
brothom 177 Posted November 20, 2025 Author Posted November 20, 2025 5 minutes ago, pwhodges said: It's called "Emby Diagnostics" in the "General" row of the plugins catalogue. Among other things (like the ability to royally mess things up!), it adds the "User Sessions" menu item at the bottom of the dashboard menu. Paul Found it, thanks! I'll keep an eye on this user and see if the User Sessions will report something else.
brothom 177 Posted November 24, 2025 Author Posted November 24, 2025 (edited) @pwhodgesokidoke I've managed to grab one of this user's sessions and it does seem like something is going on transcoding, eventhough transcoding and quality selection is (still) disabled for this user. Any clues? Additionally Got the associated directstream which does seems to be transcoding somehow? ffmpeg-directstream-fe4cdd14-00f2-47a9-84f8-641ecef37736_1.txt Edited November 24, 2025 by brothom
pwhodges 2012 Posted November 24, 2025 Posted November 24, 2025 (edited) Actually, the ffmpeg log makes sense. The video and audio are both being copied without transcoding, but the SRT subtitles are being converted to VTT, so the whole stream is being remuxed in an HLS container (not because MKV is no good, but because HLS is what Emby uses). Ffmpeg is invoked for remuxing even when no transcoding is required. So the only issue is the apparently spurious reporting of bitrate reduction, which is clearly not happening. Files whose embedded subs are not SRT will not need this doing, which is most likely why the differences. As SRT is so universal, I don't know why it is being converted to VTT - maybe for some client? Paul Edited November 24, 2025 by pwhodges 1
Luke 42077 Posted November 24, 2025 Posted November 24, 2025 Quote so the whole stream is being remuxed in an HLS container the conversion to vtt alone does not cause this. It is the user quality setting.
pwhodges 2012 Posted November 24, 2025 Posted November 24, 2025 But the quality is not being changed (no transcoding) - so it's back to the question of why this is happening at all when the user has not got such a quality limit set! Paul
Luke 42077 Posted November 24, 2025 Posted November 24, 2025 22 minutes ago, pwhodges said: But the quality is not being changed (no transcoding) - so it's back to the question of why this is happening at all when the user has not got such a quality limit set! Paul He's restricting video transcoding. But quality settings could still potentially be honored via audio transcoding.
pwhodges 2012 Posted November 24, 2025 Posted November 24, 2025 But there is no transcoding going on, so why is the file being remuxed? I get that it's a minimal overhead, but it's still doing something unnecessary, isn't it? And reporting that it is doing something that it isn't. Paul
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now