Jump to content

Emby Server 4.8 - Where did transcode throttle options go?


solidsnakex37
Go to solution Solved by jaycedk,

Recommended Posts

solidsnakex37

In the previous version 4.7, there was an option to throttle transcodes, but I could also choose in a dropdown if I wanted it to be by segment, or by buffer size and then set a value in seconds. 

I don't see that options anymore? Where did this move to? 

The reason I am asking is that since updating, transcodes seem to just do the entire file and not throttle at all despite me having it on. Was this removed in 4.8 or am I just not finding it in the settings? 

Link to comment
Share on other sites

Hi there, where are you looking for them?

Link to comment
Share on other sites

solidsnakex37
1 minute ago, Luke said:

Hi there, where are you looking for them?

I am looking under Server > Transcoding, I thought it was next to the throttle option, I can't recall if that's where the setting used to be or if there was an "Advanced Transcoding" setting as well but that is missing or I'm misremembering. I can't seem to find where to set the buffer length, or what that is currently set to? 

The "enable throttling" I just noticed the verbiage is different, it says it will adjust the transcoding speed, in the past I thought this was throttling the transcode for buffer length etc

 

image.png

image.png

Link to comment
Share on other sites

solidsnakex37
9 minutes ago, solidsnakex37 said:

The reason I am asking is that since updating, transcodes seem to just do the entire file and not throttle at all despite me having it on

I have this on already

3 minutes ago, jaycedk said:

image.png.3c606e9e0835f4ce06d54c75764d6012.png

 

  • Thanks 1
Link to comment
Share on other sites

Happy2Play
3 minutes ago, solidsnakex37 said:

The "enable throttling" I just noticed the verbiage is different, it says it will adjust the transcoding speed, in the past I thought this was throttling the transcode for buffer length etc

Think they have primarily changed from ByStreamBufferSize to BySegmentRequest.  But on a new install I don't see the existance of encoding.xml any more.  I do see it on an existing install.

Have a read here

 

  • Thanks 1
Link to comment
Share on other sites

  • Solution
jaycedk

To do this now, guess we need to install this plugin.

But settings set in there will, not persist after a Emby restart, and have to be set again.

image.png.4eca17e205b480453597e9474d27554c.png

image.png.2fe9b44e52f15b2e8463ef948b57f6bf.png

  • Thanks 1
Link to comment
Share on other sites

solidsnakex37
4 minutes ago, jaycedk said:

To do this now, guess we need to install this plugin.

But settings set in there will, not persist after a Emby restart, and have to be set again.

image.png.4eca17e205b480453597e9474d27554c.png

image.png.2fe9b44e52f15b2e8463ef948b57f6bf.png

Ahhh there it is...can confirm that setting the Override Throttle Buffer Length to 300 now keeps transcodes within a 5 minute buffer. 

 

Not sure why this is in there, is there a reason Emby prefers to transcode the whole file now? That Enable Throttling doesn't seem to do anything now by default, strange. Not sure how it's calculating a throttle (if its based on CPU usage, as stated in the description below the option). 

 

Anyhow, this got it to work, just have to set this after each reboot.

Link to comment
Share on other sites

solidsnakex37
19 minutes ago, Happy2Play said:

Think they have primarily changed from ByStreamBufferSize to BySegmentRequest.  But on a new install I don't see the existance of encoding.xml any more.  I do see it on an existing install.

Have a read here

 

I wonder why this was moved to the Diagnostic Plugin

Link to comment
Share on other sites

kikinjo

In plugin settings are not saved, so its almost useless.

It worked for a while thru xml switch, not anymore, Good one Luke....
 

Link to comment
Share on other sites

Happy2Play
3 hours ago, kikinjo said:

In plugin settings are not saved, so its almost useless.

It worked for a while thru xml switch, not anymore, Good one Luke....
 

Looks to be only accessible via the api now.  Can view the setting here.  As almost everything is no longer in an actual file anymore.

image.png.b4e64a9d92f95ae689de4cb9ab36097c.png

 

Link to comment
Share on other sites

solidsnakex37
Posted (edited)

Some questions I have after learning the above: 

1. Why was this option moved behind a non-static UI option? 

2. The default server option, when you have "Throttle Transcodes" enabled, what is it using? Segment request or buffer size? 

3. What are the values for each, where the default throttling doesn't appear to be actually throttling any transcodes? Is that option broken or is the default value just set abnormally high? Is it variable depending on system resources? What's the logic?
Example: The "Diagnostic Options" value for buffer size says the "Default" is 200, but that's clearly not the case, as all my transcodes were going through the entire file. 

 

Edited by solidsnakex37
Link to comment
Share on other sites

Hi, everything in the diagnostics plugin is meant to be for testing purposes for troubleshooting, and not so much as a personal preference.

Link to comment
Share on other sites

Happy2Play
6 minutes ago, solidsnakex37 said:

2. The default server option, when you have "Throttle Transcodes" enabled, what is it using? Segment request or buffer size? 

Default changed to <ThrottlingMethod>BySegmentRequest</ThrottlingMethod>.

 

7 minutes ago, solidsnakex37 said:

3. What are the values for each, where the default throttling doesn't appear to be actually throttling any transcodes? Is that option broken or is the default value just set abnormally high?

I don't believe segment honors buffer size mentioned in other topics.  And requires change to ByStreamBufferSize.

  <ThrottleBufferSize>120</ThrottleBufferSize>
  <ThrottleHysteresis>8</ThrottleHysteresis>

But only devs can comment on logic as I can only guess these are not supposed to be user configurable.

Link to comment
Share on other sites

solidsnakex37
1 hour ago, Happy2Play said:

Default changed to <ThrottlingMethod>BySegmentRequest</ThrottlingMethod>.

 

I don't believe segment honors buffer size mentioned in other topics.  And requires change to ByStreamBufferSize.

  <ThrottleBufferSize>120</ThrottleBufferSize>
  <ThrottleHysteresis>8</ThrottleHysteresis>

But only devs can comment on logic as I can only guess these are not supposed to be user configurable.

Thanks @Happy2Play

I checked what you mentioned earlier, I have the encoding.xml file still but it appears to no longer be honored. The settings I have in there are not applied/used. 

Though, using the API to execute values against the encoding key works. 

TL;DR: encoding.xml is not used/referenced at all anymore in the config folder, setting the value in diagnostic options is only temporary now whereas before the transcoding options was separate and static to whatever the server admin decided it to be, setting the encoding value via API seems to work, just unclear if this sticks during a reset. Will have to test this further. 

 

Link to comment
Share on other sites

Happy2Play
2 minutes ago, solidsnakex37 said:

TL;DR: encoding.xml is not used/referenced at all anymore in the config folder, setting the value in diagnostic options is only temporary now whereas before the transcoding options was separate and static to whatever the server admin decided it to be, setting the encoding value via API seems to work, just unclear if this sticks during a reset. Will have to test this further. 

Yes there are a lot of files this way now just like library configs got moved to db so /programdata/root/default/your libraries are obsolete also.  So only new installs will not long have this bloat that will hang around forever if you have a really old install.

As for setting per encoding should be static as diagnostics has its own endpoint data.

  • Thanks 1
Link to comment
Share on other sites

kikinjo
15 hours ago, Luke said:

Hi, everything in the diagnostics plugin is meant to be for testing purposes for troubleshooting, and not so much as a personal preference.

It is really great that you explain to us that plugin is for testing purposes, thank you very much for that.

But We are waiting 1,5 years already that we can CHOOSE and SAVE GPU transcoding settings HOW WE NEED IT. There is another dedicated topic for this issue that you are actively ignoring, not only us users, but softworkz comments also.

Link to comment
Share on other sites

adminExitium

@LukeCan you please help us understand the reasoning behind removing the config file method of overriding the transcoding settings too, with no way to override them from the UI too? The API way is really not ideal, especially since it also requires an additional plugin since the required settings are not available in the core.

It's been 1.5 years as mentioned and this really shouldn't be taking this long since the underlying stuff seems to all be present, minus the UI.

  • Agree 3
Link to comment
Share on other sites

On 3/8/2024 at 4:14 PM, adminExitium said:

@LukeCan you please help us understand the reasoning behind removing the config file method of overriding the transcoding settings too, with no way to override them from the UI too? The API way is really not ideal, especially since it also requires an additional plugin since the required settings are not available in the core.

It's been 1.5 years as mentioned and this really shouldn't be taking this long since the underlying stuff seems to all be present, minus the UI.

It's only the config location that has been moved to the database, but the actual object is still the same as it was before. It could be edited via the api if you really want to.

Link to comment
Share on other sites

adminExitium

Yeah, that's understood from what @Happy2Playmentioned earlier and I have already done that but the question is why is it now required to do it via the API and not via the UI? From the linked thread, it seems like all the UI screens were already present in the diagnostics plugin and just need to be added to the core transcoding options.

  • Agree 4
Link to comment
Share on other sites

solidsnakex37

In addition to it moving to a database item that admins can't see visually through the UI, this change is not noted anywhere in the release notes. 

I always go and read release notes/changes for version upgrades so I am aware of things. Though Emby doesn't provide real release notes for version updates, just a poorly formatted bullet point list on the github page. 

Can we get proper release notes for version changes that actually lay things out so I am not going on a wild goose chase to find a function that was previously there?....Please?

  • Agree 1
Link to comment
Share on other sites

kikinjo

I still dont believe what i m reading.  All gpu users are stripped from most important option to control transcoding and fine tune it in admin gui.

Link to comment
Share on other sites

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...