Jump to content

Emby Player on Shield - Settings for Best Stereo Output?


Spritzup

Recommended Posts

Spritzup

Hi all,

I'm in the process of test driving Emby, and it's very impressive.  I've gone from multiple Kodi instances running on Pi2's using a central SQL database, to Plex (my current solution), to test driving Jellyfin, and am have been the most impressed by Emby.  Kodi didn't meet the easy external access requirement (as well as requiring a lot of upkeep), Jellyfin would take to much effort to setup and configure and would require to much intervention, and Plex is going down some weird rabbit hole.

 

Anyways, I very much digressed.  A long standing issue I've had with Plex is that the audio sucks on the shield.  While far from ideal, I have the shield connected to my TV, and the tv outputting to powered bookshelf speakers via an RCA connection.  Between muddy voices, significantly inconsistent volume, and the inability to choose a 2ch track when available has left me frustrated.  Now, I know the issue is specific to the Shield/TV combo, as the same media does not have these issues' when playing on the Roku TV's.  In my playing around with Emby, it seems better, but I'm still trying to dial it in and see if it's worth changing for.  So does anyone else have a similar setup, or can offer some advice, or feedback?

 

Thanks in advance, I'm looking forward to joining the Emby community :)


~Spritz

Link to comment
Share on other sites

Hi, welcome. This might not be the most exciting answer but I would probably suggest the defaults unless you have a reason to change them. I'd make sure your Shield audio settings are also configured appropriately based on your audio setup.

  • Thanks 1
Link to comment
Share on other sites

Spritzup

Thanks for the reply @Luke, much appreciated.  You've kind of hit the nail on the head though with the core of this problem, and that is you have audio settings on Emby, then on the Shield, then on your audio device (in my case my TV).  Trying to find the magic combo is posing a challenge, but it seems to be a problem that is common on the Shield (and less noticeable with Emby compared to Plex).  To that end, I do I have a question for you as to how Emby interacts with the Shield, as I've never been able to definitely figure it out.

 

If I set the Shield to only out Stereo in its Audio settings, I would assume that any app running on the device would read it as being only capable of playing 2ch audio.  However, this does not seem to be the case, as both Emby and Plex (apologies, I know you have nothing to do with Plex, but it's where I have more testing done) don't seem to see or accept that value from the Shield and therefore don't transcode to stereo.  So how does Emby talk to the Shield then, or polls the shield?

 

I guess in a perfect world (and I have very little experience with coding), it would be nice to be able to either a) have Emby choose the 2ch track (if available) and/or b) transcode all audio to 2ch.  And I know the "Downmix to Stereo" option exists on the app, but I'm guessing it's done locally (as the server is still sending the multichannel stream), and does not seem to work very well.

 

Anyways, thanks again for taking the time to reply.  I'll likely be migrating to Emby as I'm a sysadmin by trade, and Emby uses a proper server/client model.


~Spritz

Link to comment
Share on other sites

52 minutes ago, Spritzup said:

If I set the Shield to only out Stereo in its Audio settings, I would assume that any app running on the device would read it as being only capable of playing 2ch audio.

Hi.  That setting is telling Android to only output stereo but what the app queries is what the system can accept as an input.  So that is why you see the behavior you do.

54 minutes ago, Spritzup said:

And I know the "Downmix to Stereo" option exists on the app, but I'm guessing it's done locally (as the server is still sending the multichannel stream), and does not seem to work very well.

Why do you say that option doesn't work very well?

  • Thanks 1
Link to comment
Share on other sites

Spritzup

@ebr Thank you for your response (it's refreshing talking to people who make the software), and as someone who is always tasked with washing the bottles when we make wine, I laughed when I saw your name.

 

I'll caveat my "it doesn't work very well" statement with a large disclaimer of this was with disjointed testing.  I have created a series of test cases I intend to run through when time presents itself, and hopefully that will shed more light as to what's going on.  That said, when I set the option to output unknown audio to dolby digital (and thus transcode on the server), it works beautifully.  Stats for nerds shows 2ch output and the audio sounds clear and appropriately loud... and the audio boost setting on the server seems to apply correctly.  When I set to "downmix to stereo", the sound seems (and I understand this is my perception) less clear and more muddy.  Not only that, the audio boost seems non-existent, which means cranking the volume.  Funny enough, the downmix to stereo setting reminds me very much of the issue's I've had with Plex.

 

I don't know if any of this is helpful, but you know when you find something that is so close to perfect, that the one little thing that isn't just seems huge.  I feel like the audio issue is that thing.

 

Thanks again!

 

~Spritz

Link to comment
Share on other sites

Thanks for that detail.  You are correct that, when downmixing locally, the audio boost is not done.  With most equipment this doesn't seem to be an issue but may be in some setups.

Link to comment
Share on other sites

Spritzup

Thanks @ebr at least I know I'm not losing my mind.  So here is a big ask then... don't you love when people who have no idea what something entails asks for something... bain of my existence.  Anyways, would it be possible to have some sort of option added that forces the downmix to stereo to occur on the server?  Either per user, set within the app (if the admin allows it) or even globally?  For my use case, I have more than enough horsepower (48-core threadripper) to handle anything I throw at it, so it's not a concern (because clearly I'm the most important person in the world 🤦‍♂️).

 

The second thing, I you'd be kind enough to answer, is I've always wondered why audio seems to be the most difficult thing to dial in.  I imagine it's exceptionally complicated, but on its surface it seems that the easiest solution would be to simply select your output.  For example, 2.0 channel, 5.1, 7.1, etc, etc.  Then based on that selection, the system transcodes or direct plays as needed.  Which leads to my second question, why can the system not automagically choose the correct track (if multiple tracks exist) for your output?  It already does that for language, but can't seem to do it for channel output.  Is this a software limitation or a design limitation?

Please don't take these as complaints, I really want to understand why these things work how they work.  I very much trust that though and care have been put into these decisions, but was hoping to gain some insight.

 

Thank you!

 

~Spritz

Link to comment
Share on other sites

2 minutes ago, Spritzup said:

why can the system not automagically choose the correct track (if multiple tracks exist) for your output?

That is by design because we don't know what the content of the audio track actually is.  In fact, in most situations where there is a multi-channel track and a stereo one in the same language, the stereo one is something like Director Commentary.

 

Link to comment
Share on other sites

Spritzup

@ebr That's what I thought the answer was going to be.  To play devils advocate on that decision though, isn't that a risk that is run with automatically choosing subtitles as well?

 

Plus Emby has a huge leg up, in that you guys had the brilliant idea to have an option to save the previous selection... but I do see your point.  Could I be so bold as to spit-ball a few ideas you -->

 

- Allow choosing default audio output per library (audio commentary is more common in movies than shows) - can be set server or app side

- Allow setting default audio channels per library item (either per episode / movie, season or show).  This combines the idea of saving your previous selection, but removes the tedium of having to go through every single one

- Allow auto selection of audio output, but do not select if it has "commentary" or some sort of combo of words... I imagine this is by far the most difficult.

 

I believe 1 or 2 would be really helpful, and are inline with the design decision to allow Emby to remember your previous audio track selection.  It is simply adding a level of user friendliness to it.  Again, no idea what that would entail, I don't know what (if any) code could be recycled, etc, etc, but I think it may be an elegant solution to a vexing problem.

 

Thanks for humoring me.


~Spritz

Link to comment
Share on other sites

Hi.  There is a long related discussion here:

The short of it is - it gets complicated quickly and a lot of bad results can occur.

Link to comment
Share on other sites

Spritzup

Thanks for that read @ebr, it gave some really good insight as to how and why it's more technically challenging than one would think at a quick glance.  All the error checking that you'd have to add to the code to make sure the end user saw consistent results... man, my head is just spinning trying to wrap my mind around that.

 

Now it seems that thread devolved to focusing primarily on subtitles, but it did get me thinking.  You guys already have a functioning subtitle picker, and that seems to work quite well (with the caveat that it's only as good as your metadata).  Could the same logic not be applied to audio settings (on apps that need them)?  -->

 

1.  Default - Emby will play the default audio track for library items

2.  Surround Only - Emby will attempt to only select surround streams for your library items.  Emby will detect the formats your device reports as being able to play

3.  Stereo Only (local transcode) - Emby will attempt to only select stereo tracks for your library items and transcode them locally.

4.  Stereo Only (remote transcode) - Emby will attempt to only select stereo tracks for your library items and transcode them remotely.

 

Expected behaviour is that Emby will attempt to play the requested selection (2-4), and if it can't identify it, it plays the default.  If the user has "remember audio/subtitle selections" enabled, and Emby chooses a stereo track that is commentary, one would expect that the user would change it to the correct track for that item and Emby would remember that selection for next time.  I'd argue that 3 and 4 would be controlled by the server admin on a per user setting, not that audio transcoding is all that intensive.  This solution seems to mimic what is in place for subtitles, places the responsibility on the server admin to have the correct naming for audio files, and would fit into the design that Emby seems to be moving forward with.  In fact, #2 could be broken out if/when more surround options become available (prefer Atmos, prefer 7.1, etc).  In fact, the only option could be "Preferred Audio Output"

 

Or barring all that, please give us the option to choose where the transcoding occurs for downmixing.  Or completely ignore my ramblings and keep making an awesome product, I'm easy either way 🤣

 

~Spritz

Link to comment
Share on other sites

@Spritzup our audio options are currently centered on the user's language preference, rather than trying to avoid transcoding or picking the highest quality audio track.

But more options can certainly be added in future updates to provide other kinds of control. Thanks.

  • Thanks 1
Link to comment
Share on other sites

Spritzup

Thanks @Luke and team for considering my ramblings.  It really is awesome to be able to talk to the people writing the code for the product, and have an explanation for design decisions.  Thank you.

 

~Spritz

  • Thanks 1
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...