So in reading the blog it notes that the streaming decision will take into the account the client side buffer , then make an intelligent decision based on bitrate and buffer size as to what bandwidth is needed
_Using that information, your Plex Media Server can work together with your Plex app to figure out how much bandwidth is really required to stream something. For example, to direct play that previous “3.5 Mbps average bitrate” file:
an app that has a large buffer might only need ~5.4 Mbps of bandwidth to ensure smooth playback
a different app with a smaller buffer might need ~8.4 Mbps of bandwidth because the smaller buffer can’t tolerate spikes as well
_
Does anyone actually know how the calculation is made ? i’d be very interested, can’t anyone see it in the logs or anything like that ?
The file is completely read from start to end. Only this enables Plex to determine the real ‘peak’ bitrate of the file.
Then several bitrate values are calculated for different player buffer sízes. Depending on the player type which later does the playback the appropriate bitrate number is picked and used for the decision, whether to transcode or not.
Take a look at the XML info of the item.
If the deep analysis has been performed, there will be one or several requiredBandwidths="27166,26312,24247,22347,21003,19838,15765,14563"
entries in there, one for the whole file and sometimes one for each of the video, audio and subtitle streams.
The first number is the required bandwidth for the worst case, if your Plex client has only a tiny network buffer.
The various numbers are the required bitrate for 5/10/25/50/75/100/250/500MB network buffer sizes.
Deep analysis is either performed when a new item is added or during maintenance hours by the Plex Butler.
You can export this info with Plex2CSV. Just make sure to use the latest version of the plugin and set a detail level of at least ‘5’ (for movies) in its preferences.
1 Like
That’s prefect , exactly what i wanted to know. thanks 
Sorry to dig this topic out of its grave, but is there somewhere I can find info on the client buffer size on each platform ?
Would be particularly interested in iOS/tvOS and Android/Android TV buffer size.
Also, is there any way to manually trigger a Deep Analysis on files ? It does not seem to be done automatically when I add a new movie to my library, and therefore I need to wait for the maintenance period which is happening every night.
Thanks
@adamska46 said:
Sorry to dig this topic out of its grave, but is there somewhere I can find info on the client buffer size on each platform ?
Not directly, sorry. If you really want to, you can
- enable debug logging on the server
- restart the server
- start playback of a video on the client
- let it run for 30 seconds. Then inspect the
Plex Media Server.log and search for the time stamp of the playback start and lines containing MDE: these should contain a hint about the decision making process of streaming brain. If transcoding is used, there should also be a note about the available bandwidth, which then together with the requiredBandwidths= of the video can give you a clue which buffer size was assumed when making the decision.
Also, is there any way to manually trigger a Deep Analysis on files ?
Sorry, only via the API
https://support.plex.tv/articles/201242707-plex-media-scanner-via-command-line/
@OttoKerner said:
@adamska46 said:
Sorry to dig this topic out of its grave, but is there somewhere I can find info on the client buffer size on each platform ?
Not directly, sorry. If you really want to, you can
- enable debug logging on the server
- restart the server
- start playback of a video on the client
- let it run for 30 seconds. Then inspect the
Plex Media Server.log and search for the time stamp of the playback start and lines containing MDE: these should contain a hint about the decision making process of streaming brain. If transcoding is used, there should also be a note about the available bandwidth, which then together with the requiredBandwidths= of the video can give you a clue which buffer size was assumed when making the decision.
Also, is there any way to manually trigger a Deep Analysis on files ?
Sorry, only via the API
https://support.plex.tv/articles/201242707-plex-media-scanner-via-command-line/
Great info, thanks a lot ! 