Jump to content

Quality settings


ddurdle

Recommended Posts

ddurdle

Is there a way to change the quality settings?  In the Roku app, there is a *Options where you can set the video playback quality (video bit rate limit).  Is there an equivalent in the iOS Emby or iOS Emby Beta app?  My video bit rate seems to be set really low.

 

 http://***:8096/emby/videos/67f83bf8a80deb1f5ced46a69fc59b38/hls1/main/0.ts?DeviceId=d02f9234481e2eddd044fafc7b8a9026e779c8d7&MediaSourceId=67f83bf8a80deb1f5ced46a69fc59b38&VideoCodec=h264&AudioCodec=mp3,aac&AudioStreamIndex=1&VideoBitrate=608000&AudioBitrate=192000&PlaySessionId=b5d964bc212c46d6988e0fab76629b18&api_key=de1a0218bb3a461ab66226acf880e80a&TranscodingMaxAudioChannels=2&RequireAvc=true&Tag=5415f9b2624f1cb7a202845a9a60adb7&SegmentContainer=ts&MinSegments=2&BreakOnNonKeyFrames=True&h264-profile=high,main,baseline,constrainedbaseline&h264-level=51&h264-deinterlace=true&TranscodeReasons=ContainerBitrateExceedsLimit&allowVideoStreamCopy=false

Link to comment
Share on other sites

ddurdle

Yes, explore the settings in the app, and/or during video playback.

 

I think the issue is I have video encoding disabled on the server so the setting-nut to change the transcoding type does not appear.

 

I can see from the server log, the server believes the device can only handle a bitrate of 608000 (which is insanely low), so it invokes ffmpeg to transcode on any of my videos, say perhaps one with bitrate of 2200000.  So it ends up DirectStreaming at the video bitrate of 2200000.  I know the iOS device can easily handle 8200000+ bitrates because I can playback this content through Safari and Chrome on it.

 

If the user has video encoding disabled on their profile, the correct behaviour should not necessarily be that the video is automatically then DirectStreamed to the user, because doing so is not benefiting the user in any way -- the bitrate to the user remains the same.  Ideally the quality setting should be selectable if the server has disabled video encoding disabled so that the user can define their preference and then anything attempted to be played back that exceeds that should generate the "playback not possible because of no compatible streams".

 

EDIT:

 

If I enable the video encoding for the user, then the dropdowns for quality show up in profile playback settings.  I can then disable video encoding after the preference is selected.  

Edited by ddurdle
Link to comment
Share on other sites

 

 

I think the issue is I have video encoding disabled on the server so the setting-nut to change the transcoding type does not appear.

 

Correct. If you disable this then there will never be any transcoding, therefore there's no point in showing quality selections.

 

 

 

If I enable the video encoding for the user, then the dropdowns for quality show up in profile playback settings.  I can then disable video encoding after the preference is selected.  

If you have it disabled, then whatever quality you picked before won't matter.

Link to comment
Share on other sites

ddurdle

Correct. If you disable this then there will never be any transcoding, therefore there's no point in showing quality selections.

 

If you have it disabled, then whatever quality you picked before won't matter.

 

If you have never picked a value, it's 600000 on iOS.  And any video with a higher bitrate, it tries to DirectStream citing ContainerBitrateExceedsLimit

 

By enabling video encoding, changing my default, and disable video encoding, now when I playback the same video, it uses the new default value to compare to the video.

Link to comment
Share on other sites

I think you're missing the point. When you disable video transcoding, it doesn't use that value at all and will just try to force the direct play.

Link to comment
Share on other sites

ddurdle

Ok, I'll leave the video encoding parameter enabled.

 

Can you help me understand why even with the parameter enabled and a maximum bit rate settings > the bitrate of the video that it still indicates ContainerBitrateExceedsLimit ?

 

I've attached the embyserver.txt log and the ffmpeg log.  It insists on DirectStream because "ContainerBitrateExceedsLimit" as opposed to DirectPlay.

 

Thoughts on why this is happening?

 

Thanks for your time.  Your assistance will help me understand the issue so that I can help other users whom are running similar setup and running into the same issue.

ffmpeg-directstream-58b63a0f-5388-4a48-911f-13345a67a946.txt

embyserver.txt

Link to comment
Share on other sites

I think this one probably tried to direct play, has an error and then automatically switched to converting the audio. When this switch happens currently the reported transcoding reasons may be a little off.

Link to comment
Share on other sites

ddurdle

I think this one probably tried to direct play, has an error and then automatically switched to converting the audio. When this switch happens currently the reported transcoding reasons may be a little off.

 

I believe you are right.  I've been playing around with this for past 3 days with various media types to figure out what's going on.  At a few points, I'd have the dashboard open while I do the test with the iOS device, and I'll see the user popup in the dashboard with very briefly (blink of an eye) "Direct Playing" before it changes to "Direct Streaming".

 

Is there anything I can play around with on the device to get some further insight?  I've been testing with both the Emby and Emby Beta.

Link to comment
Share on other sites

ddurdle

Further clarification -- this ContainerBitrateExceedsLimit this that is causing this media to playback with Direct Streaming instead of Direct Play is only happening when playing back with the Emby / Emby Beta iOS app.  In chrome or Safari on iOS the same media does Direct Play.

Link to comment
Share on other sites

Further clarification -- this ContainerBitrateExceedsLimit this that is causing this media to playback with Direct Streaming instead of Direct Play is only happening when playing back with the Emby / Emby Beta iOS app.  In chrome or Safari on iOS the same media does Direct Play.

 

It's not causing anything, it's just an incorrect message displayed when the app has to switch from direct play to some other method.

Link to comment
Share on other sites

ddurdle

I tested again on an ipad with an older install of the Emby (non-beta) app.  I see the quality preference selection (even when video encoding is disabled for the user), and it direct plays instead of direct stream.  So in a nutshell, it works perfectly as expected on both aspects.  So the issue is either new iOS apps or specific to iOS phone app.

Link to comment
Share on other sites

Dinklegeta

Just to back ddurdle here a bit, I've encountered a similar issue on android. I have an old version of the emby app (8 months old) that shows the quality settings in the playback area. On the new app it's not displayed and therefore seems to be using direct stream rather than play. This is using the server ddurdle has setup. 

 

Thanks.

Link to comment
Share on other sites

There is no problem here. I think you are perceiving a problem but there is no actual problem.

 

If user transcoding is disabled on the server then playback will always be direct, it doesn't matter what the quality setting was before.

Link to comment
Share on other sites

ddurdle

Luke, the problem is that Direct Play DOES NOT work whatsoever on newer versions of the android or ios apps.  Whenever the criteria is met that it should use Direct Play, it drops down to Direct Stream and indicates a false reason such as ContainerBitrateExceedsLimit .

 

On prior versions of the app, it will Direct Play with the exact same http link.  

 

Dinklegeta is not asking to transcode.  He just references that the device he tested where it does work (Direct Play) is on a device that hasn't been updated for a while -- a device running a version of the android app that presents the quality selection selector even when video and audio transcoding is disabled on that user account on the server end.  I also noticed the same when testing on an ipad that wasn't updated for a while -- it has the quality selector.

 

The core issue is that new versions of emby on android and ios are suffering a condition that prevents Direct Play when playing back with a HTTP link -- it drops down to Direct Stream.  Direct Stream has some issues seeking within the playback so users prefer Direct Play whenever possible.

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