Jump to content

Question about playback, when quality selection is disabled


Recommended Posts

Happy2Play
Posted (edited)
4 hours ago, Luke said:

He's restricting video transcoding. But quality settings could still potentially be honored via audio transcoding.

It is a reporting issue as what the UI says is not happening.

Quote

&VideoBitrate=1680000&AudioBitrate=320000

&TranscodeReasons=ContainerBitrateExceedsLimit

Quote

>>>>>>  User policy for XXXXXXX
        Enable Playback Remuxing: True
        Enable Video Playback Transcoding: False
        Enable Audio Playback Transcoding: True

Quote

C:\Users\User\AppData\Roaming\Emby-Server\system\ffmpeg.exe -loglevel +timing -y -print_graphs_file "C:\Users\User\AppData\Roaming\Emby-Server\programdata\logs\ffmpeg-directstream-fe4cdd14-00f2-47a9-84f8-641ecef37736_1graph.txt" -copyts -start_at_zero -f matroska,webm -ss 00:42:30.000 -c:v:0 hevc -noautorotate -i "F:\Media\Movies\Harry Potter And The Prisoner Of Azkaban (2004)\Harry Potter And The Prisoner Of Azkaban (2004).mkv" -map 0:0 -map 0:1 -sn -c:v:0 copy -bsf:v:0 hevc_mp4toannexb -c:a:0 copy -disposition:a:0 default -max_delay 5000000 -avoid_negative_ts disabled -f segment -map_metadata -1 -map_chapters -1 -segment_format mpegts -segment_list "J:\transcoding\transcoding-temp\2DCA21\2DCA21.m3u8" -segment_list_type m3u8 -segment_time 00:00:06.000 -segment_time_delta -00:42:30.000 -segment_start_number 425 -individual_header_trailer 0 -write_header_trailer 0 -segment_write_temp 1 "J:\transcoding\transcoding-temp\2DCA21\2DCA21_%d.ts" -map 0:2 -vn -an -c:s:0 webvtt -max_delay 5000000 -avoid_negative_ts disabled -f segment -map_metadata -1 -segment_format webvtt -segment_list "J:\transcoding\transcoding-temp\2DCA21\2DCA21_s2.m3u8" -segment_list_type m3u8 -segment_time 00:00:06.000 -segment_start_number 425 -break_non_keyframes 1 -individual_header_trailer 1 -write_header_trailer 0 -write_empty_segments 1 -segment_write_temp 1 -min_frame_time 00:42:30.000 "J:\transcoding\transcoding-temp\2DCA21\2DCA21_s2_%d.vtt"

Quote

18:54:07.427 Stream mapping:
18:54:07.427   Stream #0:0 -> #0:0 (copy)
18:54:07.427   Stream #0:1 -> #0:1 (copy)
18:54:07.427   Stream #0:2 -> #1:0 (subrip (srt) -> webvtt (native))

The bitrate never changes so this 2mbps hls stream info is actually wrong.

image.png.0781b53ddef62fdabee5a5e760da43d2.png

Edited by Happy2Play
Posted (edited)
6 hours ago, Happy2Play said:

It is a reporting issue as what the UI says is not happening.

The bitrate never changes so this 2mbps hls stream info is actually wrong.

That makes it stranger imo. I've had other users view the same piece of media (all of them are restricted when it comes to quality selection) but still this user is the only one that keeps being indicated as if they're transcoding/remuxing when they're actually not. 

I do think it's weird that Emby is writing the file to an m3u8 (J:\transcoding\transcoding-temp\2DCA21\2DCA21.m3u8) when it should be using DirectPlay.

When I (or others users for that matter) view the file, it's loaded via the mkv directly and not via the stream file. In my case there isn't even any log produced from my own machine, because it's streaming directly (for real)

http://192.168.2.200/emby/videos/8142/original.mkv?DeviceId=52931313-5600-4af5-bf73-f64589075fe8&MediaSourceId=mediasource_8142&PlaySessionId=75fab6f765d84a41b73a66b7084bc819&api_key=f095aee7856248958cb884882d721b46

Should there also be a log entry for the above in here (was 8:08 AM)

image.thumb.png.449a45839a72a92b1f2c6c547dc7237c.png

My session is captured in embyserver.txt however:

2025-11-25 08:08:46.696 Info SessionManager: PlaySession 75fab6f765d84a41b73a66b7084bc819 has gone idle while playing
2025-11-25 08:08:46.697 Info SessionManager: Playback stopped reported by app Emby Web 4.9.2.16 on Google Chrome Windows playing Harry Potter en de Gevangene van Azkaban. Position: 17048 ms. PlaySessionId: 75fab6f765d84a41b73a66b7084bc819. IsPaused: True
2025-11-25 08:08:46.700 Info SessionManager: Removed playSession 75fab6f765d84a41b73a66b7084bc819 from session 29ba307e4ffd624c03563efb9036c183
2025-11-25 08:11:17.089 Info PlaystateService-0HNHBPT2M3NIB:00000001: http/1.1 POST http://192.168.2.200/emby/Sessions/Playing/Stopped?X-Emby-Client=Emby Web&X-Emby-Device-Name=Google Chrome Windows&X-Emby-Device-Id=52931313-5600-4af5-bf73-f64589075fe8&X-Emby-Client-Version=4.9.2.16&X-Emby-Token=x_secret4_x&X-Emby-Language=en&reqformat=json. Source Ip: host17, UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36

 

So if actually, directly streaming the file doesn't cause a DirectStream log.
Why/how is this user's file being remuxed/transcoded when it's actually not doing that?

Edited by brothom
Posted

Have monitored this user over the last couple of days but almost every piece of media this user, becomes transcoded/remuxed with the message "Reducing bitrate due to quality setting
". ffmpeg-directstream-8cbd5bd0-9c60-43f4-a536-814b282e83c9_1.txt

I remember (a while back) there was a setting to change your own preferred quality / stream bit rates via the settings for WAN and LAN specific streams but I can't seem to find that anywhere anymore.

Is this setting removed, maybe this setting is still being read out and causing this user's videos to always be downgraded to 2 mbps or something? If anyone has any clue what might be going on I'd like to hear.

Posted (edited)

@pwhodges@LukeI think I've figured this one out.

I've managed to reproduce this issue with another account:

All I did:

* was log in with a different user that had the Video/Chromecast/Audio qualities set to "Automatic" in Emby Web -> Playback
* enabled Throttling (Fast 4G) in Chrome 

image.png.a92ac06ef823db44e49de406b1ffb1ba.png

So my guess is that this user's internet connection isn't all too stable and Emby just dials back the quality.

Now obviously I would like to disable this feature and set this user (and all others) to the highest quality to prevent them from transcoding.
It's causing an unnecessary drain on my system's resources since I strife for DirectPlay for all media, unless I've managed to create compatible versions for devices or whatever.

I've noticed these settings are (at least in Chrome) stored in the browser's Local Storage under keys maxbitrate-Video-false, chromecastBitrate1 and maxbitrate-Audio-false. Wouldn't it be much more sensible to store these settings with the actual userdata and not in just a browser's session?

Edited by brothom
Happy2Play
Posted (edited)

It should just be a reporting/display issue as the STREAM info is for IF the User options allowed Transcoding.

From the directstream log

Client 2Mbps

&VideoBitrate=1680000&AudioBitrate=320000
&TranscodeReasons=ContainerBitrateExceedsLimit

But User setting blocks the transcode

>>>>>>  User policy for XXXXXX
        Enable Playback Remuxing: True
        Enable Video Playback Transcoding: False
        Enable Audio Playback Transcoding: True

Media is stream Copied ie 6Mbps+ ("Bitrate":6513042)

-map 0:0 -map 0:1 -sn -c:v:0 copy -bsf:v:0 hevc_mp4toannexb -c:a:0 copy

 

18:31:20.162 Stream mapping:
18:31:20.162   Stream #0:0 -> #0:0 (copy)
18:31:20.162   Stream #0:1 -> #0:1 (copy)
18:31:20.162   Stream #0:2 -> #1:0 (subrip (srt) -> webvtt (native))

 

But yes, this is reproduceable on any client as it is not a client issue it is a Server reporting issue.

Edited by Happy2Play
Posted

@Happy2Play

8 hours ago, Happy2Play said:

It should just be a reporting/display issue as the STREAM info is for IF the User options allowed Transcoding.

Well the user is capable of DirectPlay bút due to the Emby Web app quality settings, this user's stream is transcoded anyway.
For all users i've set "Allow video transcoding" to false and "Allow changing of container formats" to true.

Regardless of all that, I've contacted the user and walked through the settings on their laptop and low and behold; DirectPlay is now being applied.

What is being reported is not interesting in my case, but that the video is being transcoded to 2mpbs due to emby web app settings, instead of the player settings is.

The different is "quality selection" within the player and "playback quality selection" of which the second is always up to the user themselves to decide which I don't really like; I want to be in control of transcoding is required due to incompatbility, not crappy network.

Happy2Play
Posted (edited)
4 hours ago, brothom said:

What is being reported is not interesting in my case, but that the video is being transcoded to 2mpbs due to emby web app settings, instead of the player settings is.

How do you figure as the log clear shows that is not happening.  A copy/copy cannot change the bitrate.  (but yes the servers false reporting via the UI is reproduceable, only thing that happens is a DirectStream instead of DirectPlay per user settings)

image.thumb.png.ad2540865df462516c438992448425bc.png

But in the end this to me is another quality setting AUTO does not do what the users expect it to do as the servers detection method fails and resorts to client hardcoded remote playback values.

 

This should resolve all these Auto issues when implemented. But as mentioned later in topic setting will only apply to clients set to AUTO.

 

Edited by Happy2Play
Posted
2 hours ago, Happy2Play said:

How do you figure as the log clear shows that is not happening.  A copy/copy cannot change the bitrate.  (but yes the servers false reporting via the UI is reproduceable, only thing that happens is a DirectStream instead of DirectPlay per user settings)

I only know something weird is going on because the user is being server an .m3u8 file (just like when transcoding) I have no clue if the bitrate or container or whatever is being changed, all I see is that "something" happens with that user's session causing them to view the media from a stream file instead of using DirectPlay or whatever.

As I mentioned, changing the quality settings via emby web settings ->  playback -> video/audio made this issue disappear completely so my best bet is that it has to do with those settings. The user has been viewing media since changing that setting and only noticed advantages like faster seeking, better quality.

The thread you mentioned also deals with "some" issues, but I'd rather not let me users pick their own quality at all because they obviously have no clue how their selection can affect the server.

I'd much rather have this setting not be client-based but server-based for emby web as this affects any/all emby web users and I can't correct this change without having to bother them and go throught their settings myself or create a guidebook how to change this setting that only affects my server's performance and doesn't influence their viewing experience (that much?). 

Happy2Play
Posted

Nothing new here as the server has always done what is happening here from my experience.

But yes there is a difference in Streaming vs Direct play when it comes to file delivery.  Even if both are not converting anything.

Until the server gets new ignore Auto Quality setting one has to adjust all clients manually.

  • Agree 1
Happy2Play
Posted

@Lukeshould this setting still be hidden?

>>>>>>  User policy for Media
        Allow Playback Remuxing: True
        Allow Transcoding to Reduce Quality: False
        Allow Video Playback Transcoding: True
        Allow Audio Playback Transcoding: True

 

Posted

There is discussion elsewhere but that is to be removed in favor of something else that we're going to be doing.

Posted
17 hours ago, Luke said:

There is discussion elsewhere but that is to be removed in favor of something else that we're going to be doing.

That would make sense. Would this client-based quality setting for the web app also be influence by that? 

Happy2Play
Posted
1 hour ago, brothom said:

That would make sense. Would this client-based quality setting for the web app also be influence by that? 

If it is per the other topic, it will still be dependent of users not touching the default Auto client value.

On 11/2/2025 at 11:54 AM, Luke said:

Instead it's going to be a default remote auto quality per user, so that as long as they leave their quality setting on auto, you can control what that value will be.

Posted
8 hours ago, Happy2Play said:

If it is per the other topic, it will still be dependent of users not touching the default Auto client value.

Correct.

Posted
11 hours ago, Luke said:

Correct.

 

19 hours ago, Happy2Play said:

If it is per the other topic, it will still be dependent of users not touching the default Auto client value.

Thanks guys. Sorry to often bust out annoying issues like these. 

Should I resolve this issue or just await until that feature has been published? 

Posted (edited)

@Happy2PlayI'm seeing this exact issue now suddenly appear with a new user on an LG TV using the Emby App

image.png.91422bd7fc0068dd3a00d5c950c7ab57.png

This user is configured the same as the other users but apparently, still manages to have some kind of quality setting applied?

image.png.b1d31f3be9580a9c2f66aa2766d23444.png

This device is more than capable of playing this file so I'm puzzled as to why this is taking up unnecessary resources.

 

Addendum

Digging through embyserver.txt gave me this:

2025-12-10 21:16:08.369 Info SessionManager: Playback start reported by app Emby for LG 1.0.47 on LG Smart TV (OLED55C8PLA) playing The 40 Year Old Virgin. Position: 0 ms. PlaySessionId: dadf5063a30d465591c38851911ee333. IsPaused: False
...
2025-12-10 21:16:00.590 Info MediaInfoService-0HNHNJ2L6MMMO:0000027F: http/2 POST https://host1/emby/Items/73084/PlaybackInfo?UserId=x_secret16_x&StartTimeTicks=0&IsPlayback=false&AutoOpenLiveStream=false&MaxStreamingBitrate=4000002&X-Emby-Client=Emby for LG&X-Emby-Device-Name=LG Smart TV (OLED55C8PLA)&X-Emby-Device-Id=736cd3eb-acf4-4a44-af09-f070f5fa4b6f&X-Emby-Client-Version=1.0.47&X-Emby-Token=x_secret1_x&X-Emby-Language=nl&reqformat=json. Source Ip: host61, UserAgent: Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.34 Safari/537.36 WebAppManager
2025-12-10 21:16:00.643 Info App: User policy for jbou. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: False EnableAudioPlaybackTranscoding: True
2025-12-10 21:16:00.643 Info App: Bitrate exceeds DirectPlay limit: media bitrate: 6813960, max bitrate: 4000002
2025-12-10 21:16:00.643 Info App: Bitrate exceeds DirectStream limit: media bitrate: 6813960, max bitrate: 4000002
2025-12-10 21:16:00.660 Info App: Bitrate exceeds DirectPlay limit: media bitrate: 6813960, max bitrate: 4000002
2025-12-10 21:16:00.660 Info App: Bitrate exceeds DirectStream limit: media bitrate: 6813960, max bitrate: 4000002
2025-12-10 21:16:00.664 Info App: Bitrate exceeds DirectPlay limit: media bitrate: 6813960, max bitrate: 4000002
2025-12-10 21:16:00.665 Info App: Bitrate exceeds DirectStream limit: media bitrate: 6813960, max bitrate: 4000002

 

Apparently the TV is reporting a max bitrate of 4mbps and this media has a bitrate of 7mbps, causing a quality change. But my question still remains why, this user cannot (should not?) manually change quality settings.

Addendum #2

Might this be the same issue as six years ago? 

 

Edited by brothom
Posted

It does not affect what they see in the user interface, however, depending on how you configure the options, they will end up with the same result no matter what they choose.

The title of this topic though suggests a misunderstanding - you have not disabled quality selection. There is no toggle for that. You have disabled video transcoding.

Posted (edited)
9 hours ago, Luke said:

The title of this topic though suggests a misunderstanding - you have not disabled quality selection. There is no toggle for that. You have disabled video transcoding.

Well this user didn't choose anything, doesn't have the quality dropdown available in their Emby LG TV App.

> You have disabled video transcoding.

From my (limited) understanding it is that when the third toggle is turned off (Allow video transcoding to a compatible format), it also disables the quality dropdown in the Web app, Android app and (at least) the Samsung TV app.

It looks like this user has an "automatic quality" selection checked somewhere.

I doubt the Emby Web App quality settings influence what happens on an LG TV, so I'm left wondering; how else would this user prevent the Emby LG TV app from picking a quality on it's own because it's perfectly capable of playing it.

Edited by brothom
Posted
7 hours ago, brothom said:

From my (limited) understanding it is that when the third toggle is turned off (Allow video transcoding to a compatible format), it also disables the quality dropdown in the Web app, Android app and (at least) the Samsung TV app.

Hi.  Where did you get that understanding?  The UI does not change based on those options.  Only the server logic on what it ends up doing. 

Posted (edited)
20 minutes ago, ebr said:

Hi.  Where did you get that understanding?  The UI does not change based on those options.  Only the server logic on what it ends up doing. 

Because it does? When I enable the third option, the player shows the quality selection dropdown.
When it's disabled it doesn't show the quality dropdown anymore on all aforementioned systems.
This is how the player looks like for my user(s) with the third option disabled and this is also reflected on at least Chromecast, Emby Android and Samsung TV.

image.png.689a3c7db7f402ced321f1c41054c843.png

After switching the option back on the quality selection is shown again:

 image.png.467732e774687c69c3965f75398115a6.png

 

If switching the third option off has no effect on the UI, why is the quality selection dropdown gone when deselected and more importantl; how did this LG TV decide that "4000002" is the max bitrate when there is no (displayed) option for it?

Is this unintended behaviour? 

Edited by brothom
  • Disagree 1
Posted (edited)

Try here.

Universal android.

image.thumb.png.12d82eb1a9bf843792f60d3232eaf3a9.png

Edited by Neminem
Posted

Or here on the old ATV ( Android ) like that client the most 😉

image.thumb.png.5c2300c1c77f4ce557080fd0e9ae8e6b.png

Posted

@Neminemthanks for providing those. I had no clue those were also configurable per android.

The device in question is a LG OLED55C8PLA which runs on LG WebOS according to docs so I'm not really sure if these configs are available there since I know too little about this specific TV. 
I suppose there's no other way to further debug this until I visit that location and see which setting has been configured where.

To be fair I'd rather see a situation where I have control of their quality rather than the users themselves, as they have a way of finding situations like these.

I'll see if I can pay that location a visit. To be continued I suppose!

  • Like 1
Posted
On 11/12/2025 at 20:47, Neminem said:

Try here.

Universal android.

image.thumb.png.12d82eb1a9bf843792f60d3232eaf3a9.png

Settings on LG web are sort of similar to Android and it has its own Settings under Emby for LG settings > Playback and features the same quality inputs.

Setting them to the highest quality, immediately resolved the quality reduction. 

So this still fits in the same genre as the rest in this ticket where automatic settings kind of get in the way when it comes to weak servers (like mine).

  • Agree 1

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...