Hello, I have a question about option in scheduled tasks “Perform extensive media analysis during maintenance”. From what I understand this will help better with allocating bandwidth for streaming outside the LAN.
My question is, what exactly happens during this analysis? How intensive is it? Does Plex have to go through each video second by second to determine bitrate? How CPU intensive and time intensive is this task? For example how long should one expect a 2 hour movie to finish extensive analysis?
My other question is. Can this be run manually on a single item (to see how long it takes or to optimize a specific item)? Or is this only possible as a scheduled task and on whole library?
It appears that this is not the same as clicking the dots on an item and selecting “Analyze”
PMS will read the entire file as if it’s playing it.
It will look at the bitrate of audio and video as it reads it.
When it’s done, it computes a playback profile for which bandwidths are needed to play at various bitrates. (e.g. How much can fit in a 20 Mbps upload)
When you Analyze a video, which is “On-Demand”, that’s different.
That Analyze tells PMS how to play it. It doesn’t advance any further.
It will know the codecs involved and basic header info from the media file.
( it’s how PMS knows the file is 4K HDR 55 Mbps, w/ 7.1 audio, etc)
So can this extensive analysis be performed on demand on a single file?
Also when you say “as if its playing it” does that mean it uses the framerate of the file? Or it does it as fast as possible? i.e. 2hour movie wont take 2 hours?
Deep Analysis is only performed during Scheduled Maintenance because of the demands it makes on the computer and storage method.
If you have PMS on a computer but media on a NAS then Deep Analysis will read files (from start to finish) … all of which are potentially going to place a heavy load on the network .
In Linux terms, this is a comparable analogy.
find /nas/movies -type f -exec dd if={} of=/dev/null bs=1M \;
Deep Analysis will read the entire file from start to finish and generate a bitrate ‘profile’ of its needs for streaming.
The main components which are determining the speed of this process are:
the speed of reading data from the media storage in itself
the data transfer speed between the media storage and the Plex server (which are often in separate systems/devices)
the internal speed of the server. Both in how fast it can transport data from external interfaces to the CPU, as well as how fast the CPU can simulate a full playback of the analyzed media files
On a rather fast desktop computer with internally attached hard drives, this analysis is almost only determined by the reading speed of the hard drive in question.
There are other factors to consider as well, for instance how many audio tracks does the file have (because the analysis does compute the bandwidth for every single stream, not just for the file as a whole)
From the little I know, it’s pretty quick to do a “extensive media analysis.” Not nearly as fast as a regular “analysis” but no where near as long as playing the file or recompressing. It really is about as fast as your hard drive can read the entire file. “Analysis” is only looking at metadata/header information so the entire file does not need to be read.
I just used FFBitrateViewer, which is similar to “extensive media analysis” on a 9 GB file across a 1000 MB network connection and it took a couple minutes due to the network limitations.