Jump to content

Bitrate Limited..?


Recommended Posts

Posted

I can't seem to figure out if I'm doing something wrong, or if this is a bug: No matter what bitrate I set, the transcoding always does it between ~1-3Mbps.

 

I've tried changing the max rate in profile settings on the web interface (under "Profile> App Settings"), on my Roku, and on the FireTV Stick. (30Mbps in all cases) I've tried Auto, Higher Speed, Higher Quality, and Max Quality.

 

The result differs between the different devices, but all seem capped between 1Mbps and 3Mbps, depending on the device. Now, if I set something LOWER than one of those, the result is lower. But once it goes above, it never exceeds 1.5-3Mbps.

 

I saw another, older bug that seems to indicate that the value passed to FFMpeg isn't necessarily the same that FFMpeg actually does. This is not that bug. (Example: passed to ffmpeg is "-maxrate 1268519" and ffmpeg reports "max. 1268 kb/s", so it's following what it's told.)

 

Why isn't Emby respecting the bitrate settings..? :(

Posted

it also depends on the bitrate of the content. we're not going to increase the bitrate of the source.

Posted

Aaaaand, I think I just answered my own question! But the results don't seem good...

 

Looks like it will refuse to use a bitrate ABOVE the bitrate of the content..? I sort of understand the logic behind this, but it doesn't make sense in the perspective of transcoding.

 

For example, the content I'm analyzing is HEVC. This stuff looks great at lower bitrates when I encoded it in HEVC. It does not, however, look great when this bitrate is used as a maximum when transcoding to h264.

 

That said, even when transcoding from other low-bitrate formats, it's NOT an ideal when transcoding from highly compressed video to begin with. I get the idea that you don't want to go nuts and make a 30Mbps stream from a 1Mbps stream, but sticking with the original bitrate is not an ideal method for transcoding that data. A low-bitrate stream re-compressed with a low-bitrate stream results in pretty bad quality.

 

I had been wondering why the transcoding quality of all my media is... "meh", but I didn't realize it was behaving in this way. It SHOULD transcode at a HIGHER resolution (for low-bitrate streams) so as to not make the stream even worse. 2-4x the bitrate of the original low-bitrate stream seems to be appropriate, otherwise you're just adding artifacts on top of artifacts...

 

Is there any way to force a MINIMUM bitrate..? Or am I stuck with the consequences of choosing to compress all my media at low bitrates and forced to watch it re-compressed at equally low bitrates, compounding compression artifacts?

Posted

Ah, just saw your reply, Luke!

 

What's the reason for not increasing the bitrate of the source if it's going to force transcoding to the device? I can understand having limitations when transcoding outside of the house (limited upstream bandwidth), but internally, it seems to make sense to transcode at a sufficiently high rate to avoid over-re-compression, no? At least for lower-bitrate streams... right?

Posted

it hasn't really come up. nobody's really noticed it.

Posted

Hahaha leave it to me to find the issues nobody else experiences!

 

Can I contribute? How are you guys organized? I'm a developer, so I'd be happy to do what I can to help, if someone will just let me know your policies and such.

 

Thanks! :)

techywarrior
Posted

it hasn't really come up. nobody's really noticed it.

 

When comparing h264 and HEVC(h265) at the same bitrate the HEVC is much better. When HEVC is half the bitrate as h264 they are pretty close but h264 is better. This is subjective but it may lead to the issue being reported by the OP. Since the HEVC stream needs to be transcoded to be played in many devices it may make sense in this case to transcode at a higher bitrate then the source since it's not directly comparable.

 

I think the assumptions used for bitrate limiting are based on comparing against the same/similar source and output video codec.

Posted

Well you can but we want to avoid changing the api. We've actually discussed this topic before and the bitrate that clients send to the server is intended to be a max, not a specific requested rate, and I would like to keep it that way. So clients say their max is 1080p 60mbps, and if the source content is 1mbps, you're certainly not going to want to raise from 1 to 60. So you're going to have to figure out how much of an increase is going to be allowed.

Posted

I mean, there's a global max for WAN, so maybe a global minimum for LAN..? (Not to overtake the app's set minimum, mind you, if it's lower.) That would be the dirty way to do it, but there's precedent with the WAN setting, so...?

Posted (edited)

*app's set bitrate

(EDIT: Sorry, just saw the edit button!)

Edited by soniCron
bleomycin
Posted

Sorry if i'

 

it also depends on the bitrate of the content. we're not going to increase the bitrate of the source.

Sorry if i'm just confused by this, but does this mean if I have h.265 content that is 5Mbit, and i want to transcode that to h.264 for playback on devices incapable of decoding h.265 that means the max bitrate used for transcoding will be 5mbit? That seems to be what i'm experiencing when I try to watch some of my current 1080p h.265 content (using the kodi addon on rpi2). The result is unfortunately unwatchable video and piercingly bad sound.

 

On a side note, the only way I was able to force transcoding to happen on the rpi2 client was to set the source to http and the bitrate to 2Mbit, anything higher tried to play the h.265 file directly which obviously won't work. Thanks for any help!

Posted

That's different when switching codecs are can adjust as needed

bleomycin
Posted

That's different when switching codecs are can adjust as needed

Thats great news! Are there instructions on how to set the bitrate for that situation? I've been trying to get transcoding working to play h265 content back on a rpi2 and so far I haven't been able to get it to kick in at any bitrate higher than 2. Thanks!

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