Jump to content

SecondaryAudioNotSupported on Roku 3


nappysolo
Go to solution Solved by speechles,

Recommended Posts

nappysolo

Trying to understand what this message is actually telling me. There is some discussion about this here:

 

https://emby.media/community/index.php?/topic/64571-roku-4k-ultra

 

But since I don't have an Ultra I decided to start a new topic. I have a Roku 3 with a model number starting with 42, and according to that discussion, that means this model doesn't support something, but I'm not sure what. Let me explain further.

 

I have a video with 4 audio tracks, and I get the following results when I play them:

 

1. DTS-MA 5.1 - always plays directly. This is the default audio track.

2. DTS 5.1 - transcodes to AC3

3. AC3 - direct stream

4. AC3 - direct stream

 

So, at first, I was guessing that the Roku can only deal with non-AC3 as the first (or default?) track.

 

However, if I go into my user settings on the emby server and turn off "Allow audio playback that requires transcoding", then track 2 direct streams just like 3 and 4. So, for now, I am leaving that setting off except for when I really need it.

 

I've attached logs of all of this if you need to see them, but I think one of the experts might be able to explain why this is expected behavior.

 

Thanks in advance.

 

P.S. I did this testing using the production roku channel. Seems to work the same on the beta, but that became confusing because it seems to want to keep turning captions on every time I fire up the video, which then caused video transcoding - I keep turning them off but it won't stick. Another problem for another time.

 

P.P.S. BTW, I have found the setting to turn off automatic subtitles, so that's done.

embylogs.zip

Edited by nappysolo
Link to comment
Share on other sites

  • Solution

As far as the audio issues the Roku3 does not support secondary audio streams. So whatever the 1st audio stream is will be what is used to play directly. Any other audio stream if used will involve ffmpeg (directstream/remux/transcode). This means if the default audio isn't the 1st track it would cause transcoding.

 

You can confirm what is happening there using the stats for nerds. You can enable this in the video player. Play your video and press down on the Roku remote. This will open the OSD. At the bottom is a gear/cog. Click that this will open the Playback menu. In this menu is stats for nerds. Enable that and it should clear up what is going on.

 

There is an issue with subtitles loving to stay turned on when the video moves to the next in queue. If you play that video directly it should let you turn off the subtitles. I am still chasing that issue with subtitles and it only occurs when used on items in a playlist after using next so it is related to a stale setting somewhere not being reset and remebering the last choice incorrectly.

 

What audio setting do you have your Roku set to in your Roku settings?

 

Under Audio > Hdmi .. do not use Auto if at all possible. Use the correct setting and see if that fixes the problem. Make sure you also do not use volume mode. Press * when a video is playing and look for "Volume mode" make sure it isn't set to Night or Leveling. 

 

That should answer all your questions.

Edited by speechles
  • Like 1
Link to comment
Share on other sites

nappysolo

Oh, that's right. Duh! I totally forgot about the Roku doing its own transcoding. I guess if I didn't notice any degradation, I shouldn't worry about it :)

 

So to clarify, on the older models, passthru is only supported on the first audio track, correct?

Any insight into the parameters on the Roku transcode? I don't see that it's changing any formats. Is it degrading the bit rate or anything? Or are we just looking at a performance hit?

 

Audio is already set to DolbyD+, DTS. I don't get anything that says "Volume mode" when I press *, so maybe that's now n/a? It's tough to get that * menu to appear, you have to keep pressing until you get lucky and it sticks. But when you get it, it's just Select Audio, Select Subtitle, and Advanced Playback.

 

Thanks for the clarification, no issues, just trying to understand what's going on under the hood.

Link to comment
Share on other sites

Oh, that's right. Duh! I totally forgot about the Roku doing its own transcoding. I guess if I didn't notice any degradation, I shouldn't worry about it :)

 

So to clarify, on the older models, passthru is only supported on the first audio track, correct?

Any insight into the parameters on the Roku transcode? I don't see that it's changing any formats. Is it degrading the bit rate or anything? Or are we just looking at a performance hit?

 

Audio is already set to DolbyD+, DTS. I don't get anything that says "Volume mode" when I press *, so maybe that's now n/a? It's tough to get that * menu to appear, you have to keep pressing until you get lucky and it sticks. But when you get it, it's just Select Audio, Select Subtitle, and Advanced Playback.

 

Thanks for the clarification, no issues, just trying to understand what's going on under the hood.

 

I haven't used the Roku3 in quite some time and even lent it to a friend to use since I was barely ever using it. The Roku3 may not support the Volume Mode (volume normalization). I know the Roku3 will allow surround tracks to be the second audio track. In that case an AAC stereo track must be the first track.

 

You have an item/video with 3 audio tracks. AAC / AC3 / AC3(commentary)

 

If the Roku choose to direct play:

..and the Roku supports surround the Roku will choose the surround track (the 2nd track) it will allow secondary audio in this case.

..and the Roku supports stereo it will direct play the stereo track (the 1st track).

 

If you choose to play the 3rd audio track (AC3(commentary)) by pressing down and using the OSD to choose the 3rd AC3 (commentary) audio track this will cause transcoding when playing that track.

 

All of these factors are taken into account when the Roku sends the server its capabilities.

 

The Roku app builds a custom profile every single time you attempt to play an item. In this way the audio can change. You might be using the remote listening headphone jack, or you might be using the Roku app on your phone to redirect audio. So the app diligently checks your device every single time you play an item to make sure the server is getting up-to-the-minute capabilties of the device before playing.

 

The best decisions are always made with information fresh up to the moment in real time. Nothing is cached or kept in the profile when a new item plays. This causes a small penalty of an extra (few milliseconds local) or 1 or 2 second delay (remotely) to start video. We must do this because our fallback recovery also uses this same mechanism of adapting the profile on-the-fly to control playback error recovery correction. This is how we can offer the playback correction button too. It simply simulates an error and uses fallback to recover in the next play method. The server must always control how media is sent. The app can merely tell the server what media types it supports, limits, etc. It cannot just tell the server, "Send me file X directly!". The app never knows how an item will be delivered until it arrives.

 

Competition: so many options to control playback your head spins. Both fingers and toes required to count the options. Why so many? Is this good or bad? Forced play methods. No manual playback recovery only automatic. More things for users to hassle with.

 

Us: Just a few basic options you can count on just your fingers. Both automatic and manual playback recovery. No forced play methods required. Less things for users to hassle with.

 

The stats for nerds (the competition lacks this too) is honestly your best bet to know exactly what is going on and why. This is why we built it into the app sooner than some other things. We want you to be able to diagnose and understand these terms and know what is happening. This helps you become your own troubleshooter. In essense it gives you the tools you need to help you discover possible problems with your media, your network, or your server right from the interface of the Roku and your TV screen. Nothing else required.

Edited by speechles
Link to comment
Share on other sites

nappysolo

Wow, this is great stuff, thanks for the info. There is a whole lot going on. I agree with your approach to simplify things for the user, that'll be good enough 99% of the time.

Link to comment
Share on other sites

Wow, this is great stuff, thanks for the info. There is a whole lot going on. I agree with your approach to simplify things for the user, that'll be good enough 99% of the time.

 

We still do care about that 1% too. We are constantly trying to mitigate that 1% with automatic detection routines for these special cases. We have lots of special handling to cover these as these issues appear. So we are focused on getting to 100%. We just don't want to cause users to see an option and possibly not understand it and have that option cause users to believe Emby is broken. So we cannot allow you to force a play method such as "force directplay".

 

To a user having to use force directplay might always cause a playback failure initially then recovery. It looks like it failed then started the video over. They might believe this false playback start and fail and recovery is normal. They forgot they changed the option. Now they tell others Emby is slow and has this painful delay every video start when it was their choice of setting the option incorrectly that led there.

 

So options can cut both ways. They can enable users to both solve a problem or cause a problem depending on how thought out these options are. Ours are very well thought out, proposed, and finally accepted. The Roku must stay so simple even a cave grandma can use it. People buy Roku for their elderly parents.

 

We cannot create options this particular user base would not understand or could possibly set incorrectly. In as much we want this simple and magic. You should just have to press play and it works. You should not need to understand what is going on if you do not want to. Options would force you to need to understand. We want magic. You just press play and it works. If it has to work through an error it just does. If you have to press playback correction to stop it doing stuttering weird playback you can. It just works. We want you happy with the least amount of effort on your end to get there

 

We take less button presses to get there. We have options that make sense and won't cause confusion. We put your media your way as priority. There are no games. The same people writing code for these apps actually respond and chat with you. This is the difference between us and the competition. We want you happy and we want to know how to do that so you stay with us. They want your money and just want more of it by throwing in these tie-in sponsored things such as news/podcasts/tidal/etc. They want to be in advertising. Not in your media. This is the key take-away difference.

 

Eventually more users will take notice of this. There is greener grass on this side of the fence. Less orange. ;)

Edited by speechles
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...