Jump to content

All Devices - Custom bitrates should be saved independently


Richard Branches

Recommended Posts

Richard Branches

In another post, I asked the reason why the server didn't detect the capabilities of a given device to play a video without issues like stutter, pixelated image, etc, and the answer I got is this:

 

"It would be virtually impossible for us to cross-reference all potential video content with all potential devices and their capabilities"

 

I understand the difficulties this may involve to achieve this, therefore, what I would like to see implemented is the possibility to save a custom bitrate only for a particular video in a particular device, in my case for example, my phone doesn't play 1080p videos with a high bitrate, so I have to select a custom bitrate to have a smooth playback, the problem is, the quality setting changes from "auto" to the selected bitrate globally, the idea then is to save this bitrate only for that video, so when resuming playback, the video should play with the saved bitrate while keeping the "auto" setting untouched because I can play other videos on the same device without setting a bitrate.

Edited by delacosta78
Link to comment
Share on other sites

I don't understand.

 

If the device is capable of playing items smoothly up to a certain bitrate - why would that be different from one video to the next?

Link to comment
Share on other sites

mastrmind11

iow, the client(s) will remmeber the previous change to the stream settings.  If a device isn't capable of a certain bitrate, it will never be capable..  So set the max bitrate in Emby to the max bitrate of the device, then you're set.  I can't think of a reason why any device would need to keep track of a bitrate per device per media item...  I litreally cannot figure out why this would ever be a real life scenario.

Link to comment
Share on other sites

Richard Branches

I don't understand.

 

If the device is capable of playing items smoothly up to a certain bitrate - why would that be different from one video to the next?

 

At first I was confused about how transcoding works with a fixed bitrate, then after some testing in the device where I have issues, I realized that selecting the best one should be suitable for all videos with bitrates higher than the one selected, however, the selected option doesn't take into account the resolution of the video but only the bitrate (for example 720p - 1Mbps) so any video with a higher bitrate regardless of the resolution will be transcoded.

 

By selecting a custom bitrate per video, the next one to play with a lower resolution (smaller than 720p) with a bitrate higher than 1Mbps, shouldn't be transcoded because "auto" only detects if the device supports the codec and not if the device can handle the bitrate

 

 

My device cannot handle videos with resolutions equal or higher than 720p with bitrates bigger than 1Mbps.

Edited by delacosta78
Link to comment
Share on other sites

Richard Branches

iow, the client(s) will remmeber the previous change to the stream settings.  If a device isn't capable of a certain bitrate, it will never be capable..  So set the max bitrate in Emby to the max bitrate of the device, then you're set.  I can't think of a reason why any device would need to keep track of a bitrate per device per media item...  I litreally cannot figure out why this would ever be a real life scenario.

 

That's what I did, I set the max bitrate to 720p - 1Mbps. What I requested to @@Luke in the other post is to add a "720p - 1.2Mbps" setting to the apps because many of my SD videos are getting transcoded when they shouldn't because they play smooth directly.

Link to comment
Share on other sites

mastrmind11

That's what I did, I set the max bitrate to 720p - 1Mbps. What I requested to @@Luke in the other post is to add a "720p - 1.2Mbps" setting to the apps because many of my SD videos are getting transcoded when they shouldn't because they play smooth directly.

I thnk thats the confusion.  If you expect a direct play, Auto should provide that.  So are they local or ...?

Link to comment
Share on other sites

Richard Branches

I thnk thats the confusion.  If you expect a direct play, Auto should provide that.  So are they local or ...?

 

I don't expect a direct play but a smooth play, at least on my budget phone, since "auto" can't provide a smooth playback based on bitrate detection then it's necessary to set it manually. They are local.

 

If you must know, external playback (mobile data, external wifi) works as expected because in my case my upload speed is limited to 1Mbps, the server is set to 0.5 and the emby app is set to "auto", so everything has to be transcoded obligatorily, however, music in FLAC format is not getting transcoded but there is already another post for that issue.

Link to comment
Share on other sites

The resolution should be irrelevant in all but a very, very few cases on pretty old hardware I would think.

Link to comment
Share on other sites

This was mentioned before.  You are probably trying to chase down a ghost looking strictly at the bitrate.  What you probably have is a software issue.

What you should try and do is transfer a few different files to the phone via USB or wifi (not via Emby).

 

Try playing these videos back in a couple of different 3rd party video players like MX.  Try with both hardware decoding and without.  Chances are you will find a player that CAN HANDLE the higher bitrates of the files.

 

Once you find the player that works, have Emby use that instead of the built in player.

Link to comment
Share on other sites

Richard Branches

This was mentioned before.  You are probably trying to chase down a ghost looking strictly at the bitrate.  What you probably have is a software issue.

What you should try and do is transfer a few different files to the phone via USB or wifi (not via Emby).

 

Try playing these videos back in a couple of different 3rd party video players like MX.  Try with both hardware decoding and without.  Chances are you will find a player that CAN HANDLE the higher bitrates of the files.

 

Once you find the player that works, have Emby use that instead of the built in player.

 

The problem is nothing but the bitrate, my phone doesn't support a bitrate higher than 1 Mbps so the only solution at this time is to set the local quality to 480p - 1Mbps in settings.

Link to comment
Share on other sites

Not that it matters, but many of us have old 5+ year old phones that can easily play back 720/1080 4+ Mb files. So this makes it hard to believe a new device can't do this (even if it's cheap). That would likely mean the device can't play back Vimio or YouTube videos either and I doubt that's the case.

 

This is confusing because you are contradicting yourself.  You say you've set it to 720p/1 Mb but then say in the same paragraph that you don't want the SD transcoded because it plays ok.  We are assuming the SD content has a higher bitrate than 1Mb or it wouldn't have transcoded.

 

Thus what you are telling us doesn't make a lot of sense, based on what we know of how this stuff normally works.  Some small piece of the puzzle isn't clear, YET.

 

Maybe what is causing confusing is the fact you've also talked about cell network and that it also doesn't work past 1 Mb for you.

 

What we need to understand is where the actual problem is.

 

1) If you are on WIFI can you play a 720p or 1080p file back at 4Mb or higher?

2) If you manually copy said file (above) to the device, can you play this back with a 3rd party video player like MX Player?

Edited by cayars
Link to comment
Share on other sites

Richard Branches

Not that it matters, but many of us have old 5+ year old phones that can easily play back 720/1080 4+ Mb files. So this makes it hard to believe a new device can't do this (even if it's cheap). That would likely mean the device can't play back Vimio or YouTube videos either and I doubt that's the case.

 

After I made some more testing, I came to the conclusion that the phone won't play videos fluid with a resolution higher than 720p, with a bitrate higher than 1Mbps and videos with a h.264 profile higher than 4.1. About Youtube, actually it plays up to 480p, that's what the app detects, see the screenshot below:

 

5aa4b84d09887_Screenshot03.png

 

This is confusing because you are contradicting yourself.  You say you've set it to 720p/1 Mb but then say in the same paragraph that you don't want the SD transcoded because it plays ok.  We are assuming the SD content has a higher bitrate than 1Mb or it wouldn't have transcoded.

 

Yes, some SD videos are higher than 1Mbps and they stutter

 

Thus what you are telling us doesn't make a lot of sense, based on what we know of how this stuff normally works.  Some small piece of the puzzle isn't clear, YET.

 

To clear things up, I can't play videos without stutter with a bitrate higher than 1Mbps, period. Forget everything else I said before because I was still testing more videos while we were having a discussion here.

 

Maybe what is causing confusing is the fact you've also talked about cell network and that it also doesn't work past 1 Mb for you.

 

Forget about cell network, the situation is with local playback, cell network and external wifi connections are limited to 0.5 in my case so everything is transcoded and I don't complain about it.

 

What we need to understand is where the actual problem is.

 

1) If you are on WIFI can you play a 720p or 1080p file back at 4Mb or higher?

 

Yes, but they stutter, the phone freezes, the app freezes, sometimes I have to remove the battery to reset it because I can't use it anymore.

 

2) If you manually copy said file (above) to the device, can you play this back with a 3rd party video player like MX Player?

 

I already copied one file, it was the same, it freezes, it doesn't play fluid.

Edited by delacosta78
Link to comment
Share on other sites

jscoys

The resolution should be irrelevant in all but a very, very few cases on pretty old hardware I would think.

Hum these days maybe, but on long term I disagree sorry. What will happen when I will have 4K videos on my Galaxy Tab E? It won’t be able to play the video at all, and 8K is coming fast... so yeah today our videos are mainly in 1080p, but tomorrow your algorithms should include the video resolutions factor

 

 

Sent from my iPhone using Tapatalk

Link to comment
Share on other sites

@ then based on what you have learned is it not best to set your phone to 480/1Mb and leave it that way?

This will cause most things to transcode but that's mostly what would be expected to happen.

Link to comment
Share on other sites

Richard Branches

@ then based on what you have learned is it not best to set your phone to 480/1Mb and leave it that way?

This will cause most things to transcode but that's mostly what would be expected to happen.

 

I have to resign myself to that, I don't have another option, even if I select "auto" by default I would have to bring down the quality to be able to watch the videos, it is something inevitable...

Link to comment
Share on other sites

Hum these days maybe, but on long term I disagree sorry. What will happen when I will have 4K videos on my Galaxy Tab E? It won’t be able to play the video at all, and 8K is coming fast... so yeah today our videos are mainly in 1080p, but tomorrow your algorithms should include the video resolutions factor

 

 

Sent from my iPhone using Tapatalk

So what? Bitrate basically tells you how much information is being used per second for a specific codec combination.

4 Mb of 720 video vs 4 Mb of 1080 vs 4 Mb of 4K video is still 4 Mb of information per second.

Of course a 4K video at only 4 Mb is not going to look good. :)

 

Notice I said per codec?

Typically for higher resolution movies we use H.265 vs H.264 since it has better compression and typically uses 10 bit encoding for HDR content.

H.264 is mostly an 8 bit encoding "platform" while H.265 is being used more for 10 bit encoding.  More bit plus different encoding/decoding algorithm.

 

You will be able to compare the bitrate similar for H.265 just as we do H.264 since it's the amount of data being pushed per second.

 

Obviously you can't really compare different codecs to each other purely based on bit rate since there is a different compression level with each.

Mpeg2, H.264, H.265 will each be different with each getting "better" compression wise then the former.

A 15 Mb 1080 mpeg2 file compressed with H.264 could easily be 4 Mb and with H.265 could come in around 2.5 to 3 Mb. (all 8 bit encodes).

 

Purely from a pixel point of reference a 1080 screen has roughly twice as many pixels as a 720 display

1280 x 720 = 921,600 pixels

1920 x 1080 = 2,073,600 pixels

 

Most of the 4K content released is really 2K content.  The resolution we see the most is 3840 x 2160

UHD 4K 3840 x 2160 = 8,294,400

 

So roughly speaking 1080 has twice as many pixels on screen as 720.  UHD (2K) has 4 times the amount of pixels as 1080 (also more color depth).

 

So we can roughly express these as 720 (1 megapixel), 1080 (2 Megapixel), UHD (8 megapixel) if we were thinking about them like a digital camera. :)

Assuming the same codecs, bit rates and compression levels it would be easy to say the quality per pixel is the same multiplier.

So 720/1Mb = 1080 2Mb = UHD 8Mb   This is how many bits NEEDED for the same quality viewing per screen.

 

Bit rate as we think of it is how many mega bits per second that can be transferred. It should be clear by now to realize if you only have X Mb of bandwidth available the quality will only be so good or you will start getting macro blocks and other onscreen artifacts because there isn't enough information per pixel needed.  When you run short of bandwidth we decrease resolution.  That why a 720 4Mb can look better than a 1080 4Mb file vs a UHD 4Mb file.  You need to have enough bits for the resolution to express what's changing pixel wise for each frame change.

 

Without getting to technical and trying to keep it brief, hopefully this may have helped shed a bit of light on how bitrate and resolution play hand in hand and how the codec (amount of compression) can also play into it.

 

Carlo

Link to comment
Share on other sites

Hum these days maybe, but on long term I disagree sorry. What will happen when I will have 4K videos on my Galaxy Tab E? It won’t be able to play the video at all, and 8K is coming fast... so yeah today our videos are mainly in 1080p, but tomorrow your algorithms should include the video resolutions factor

 

 

Sent from my iPhone using Tapatalk

 

We already take the maximum supported resolution of the device into account.  My statement was that, within that max, any resolution scaling should be done at the player/device end and, as cayars pointed out, the resolution isn't the relevant factor for the data being delivered - it is the bitrate.

  • Like 1
Link to comment
Share on other sites

jscoys

We already take the maximum supported resolution of the device into account. My statement was that, within that max, any resolution scaling should be done at the player/device end and, as cayars pointed out, the resolution isn't the relevant factor for the data being delivered - it is the bitrate.

Ok but seems more work is needed though: Why the server/transcoder doesn't detect the hardware capabilities of a given device?

https://r.tapatalk.com/shareLink?share_fid=77624&share_tid=56842&url=https://emby.media/community/index.php?/topic/56842-Why-the-server-transcoder-doesn%27t-detect-the-hardware-capabilities-of-a-given-device%3F&share_type=t

 

 

Sent from my iPhone using Tapatalk

  • Like 1
Link to comment
Share on other sites

Ok but seems more work is needed though: Why the server/transcoder doesn't detect the hardware capabilities of a given device?

https://r.tapatalk.com/shareLink?share_fid=77624&share_tid=56842&url=https://emby.media/community/index.php?/topic/56842-Why-the-server-transcoder-doesn%27t-detect-the-hardware-capabilities-of-a-given-device%3F&share_type=t

 

 

Sent from my iPhone using Tapatalk

 

We do.

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