Medialytics

A free analytics tool for Plex servers

This tool is not associated with Plex, and is intended only for private and non-commercial use

Credentials unset. Please edit scripts.js to set your server IP and token. Please consult the README for more information on how to locate these values.

Debug mode enabled, open developer tools (F12) for more info

Targeted Server:

{{ serverIp }}

Available Libraries

Statistics for {{ selectedLibrary }}

Total Size: {{ selectedLibraryStats.totalItems.toLocaleString() }} movies

Total Size: {{ selectedLibraryStats.totalItems.toLocaleString() }} shows / {{ selectedLibraryStats.seasonSum.toLocaleString() }} seasons / {{ selectedLibraryStats.episodeSum.toLocaleString() }} episodes

Watched: {{ selectedLibraryStats.watchedCount ? selectedLibraryStats.watchedCount.toLocaleString() : '0' }} / {{ selectedLibraryStats.totalItems || '0' }} ({{ watchedPercentage }}%)

Total Duration: {{ selectedLibraryStats.totalDuration }}

Longest {{ selectedLibraryStats.type }}: {{ selectedLibraryStats.longestTitle }} ({{ Math.floor(selectedLibraryStats.longestDuration / 60000) }} mins)

Longest {{ selectedLibraryStats.type }}: {{ selectedLibraryStats.longestTitle }} ({{ selectedLibraryStats.longestDuration.toLocaleString() }} episodes)

Oldest {{ selectedLibraryStats.type }}: {{ selectedLibraryStats.oldestTitle }}

{{ selectedLibraryStats.sortedGenresWatchedCounts }}

Unmatched Items ({{ selectedLibraryStats.unmatchedItems.length }}):

{{ selectedLibraryStats.unmatchedItems.join(', ') }}

Movie Attribute Analysis

Total Matches: {{ filteredMoviesTotal.toLocaleString() }} movies

Title Year Container Codec Resolution Bitrate File Size
{{ movie.title }} {{ movie.year || 'Unknown' }} {{ movie.container }} {{ movie.codec }} {{ movie.resolution }} {{ movie.bitrate ? (movie.bitrate + ' kbps') : 'Unknown' }} {{ formatMovieFileSize(movie.fileSize) }}
Page {{ currentPage }} of {{ totalPages }}

{{ selectedLibraryStats.type }}s by Resolution and File Size

Largest File: {{ selectedLibraryStats.largestFile }} - {{ formatFileSize(selectedLibraryStats.largestFileSize) }} ({{ selectedLibraryStats.largestFileResolution }})

Smallest File: {{ selectedLibraryStats.smallestFile }} - {{ formatFileSize(selectedLibraryStats.smallestFileSize) }} ({{ selectedLibraryStats.smallestFileResolution }})

(Click item or group to zoom in, click group header to zoom out)

{{ selectedLibraryStats.type }}s per Audience Rating VS Content Rating

Highest Rated: {{ selectedLibraryStats.ratingsHighest }}

Lowest Rated: {{ selectedLibraryStats.ratingsLowest }}

Watched

Unwatched

{{ selectedLibraryStats.type }} Additions Over Time  ?

Date Range: {{ selectedLibraryStats.firstAddedDate ? selectedLibraryStats.firstAddedDate.toLocaleDateString().replace(/\//g,'-') : '' }} to {{ new Date().toLocaleDateString().replace(/\//g,'-') }}

Total Items: {{ selectedLibraryStats.totalItems }}

Earliest Addition: {{ selectedLibraryStats.firstAdded }} ({{ selectedLibraryStats.firstAddedDate ? selectedLibraryStats.firstAddedDate.toLocaleDateString().replace(/\//g,'-') : 'Unknown' }})

Latest Addition: {{ selectedLibraryStats.lastAdded }} ({{ selectedLibraryStats.lastAddedDate ? selectedLibraryStats.lastAddedDate.toLocaleDateString().replace(/\//g,'-') : 'Unknown' }})

Collections in Library

Total Collections: {{ collectionsData.totalCollections }}

Total Items in Collections: {{ collectionsData.totalItemsInCollections }}

Largest Collection: {{ collectionsData.largestCollection }} ({{ collectionsData.largestCollectionCount }} items)

{{ selectedLibraryStats.type }}s per Genre (Top {{ selectedLibraryStats.genreLimit }})

Total Genres: {{ selectedLibraryStats.totalGenreCount }}

Top Genre: {{ selectedLibraryStats.topGenre }} ({{ selectedLibraryStats.topGenreCount }})

{{ selectedLibraryStats.type }}s per Country (Top {{ selectedLibraryStats.countryLimit }})

Total Countries: {{ selectedLibraryStats.totalCountryCount }}

Top Country: {{ selectedLibraryStats.topCountry }} ({{ selectedLibraryStats.topCountryCount }})

{{ selectedLibraryStats.type }}s per Decade

Total Decades: {{ selectedLibraryStats.totalDecadeCount }}

Top Decade: {{ selectedLibraryStats.topDecade }} ({{ selectedLibraryStats.topDecadeCount }})

{{ selectedLibraryStats.type }}s per Studio (Top {{ selectedLibraryStats.studioLimit }})

Total Studios: {{ selectedLibraryStats.totalStudioCount }}

Top Studio: {{ selectedLibraryStats.topStudio }} ({{ selectedLibraryStats.topStudioCount }})

{{ selectedLibraryStats.type }}s per Content Rating (Top {{ selectedLibraryStats.contentRatingLimit }})

Total Content Ratings: {{ selectedLibraryStats.totalContentRatingCount }}

Top Content Rating: {{ selectedLibraryStats.topContentRating }} ({{ selectedLibraryStats.topContentRatingCount }})

{{ selectedLibraryStats.type }}s per Actor (Top {{ selectedLibraryStats.studioLimit }})

Total Actors: {{ selectedLibraryStats.totalActorCount }}

Top Actor: {{ selectedLibraryStats.topActor }} ({{ selectedLibraryStats.topActorCount }})

{{ selectedLibraryStats.type }}s per Writer (Top {{ selectedLibraryStats.studioLimit }})

Total Writers: {{ selectedLibraryStats.totalWriterCount }}

Top Writer: {{ selectedLibraryStats.topWriter }} ({{ selectedLibraryStats.topWriterCount }})

Only available for movie libraries

{{ selectedLibraryStats.type }}s per Director (Top {{ selectedLibraryStats.studioLimit }})

Total Directors: {{ selectedLibraryStats.totalDirectorCount }}

Top Director: {{ selectedLibraryStats.topDirector }} ({{ selectedLibraryStats.topDirectorCount }})

Only available for movie libraries

{{ selectedLibraryStats.type }}s per Resolution (Top {{ selectedLibraryStats.resolutionLimit }})

Total Resolutions: {{ selectedLibraryStats.totalResolutionCount }}

Top Resolution: {{ selectedLibraryStats.topResolution }} ({{ selectedLibraryStats.topResolutionCount }})

Only available for movie libraries

{{ selectedLibraryStats.type }}s per Container (Top {{ selectedLibraryStats.containerLimit }})

Total Containers: {{ selectedLibraryStats.totalContainerCount }}

Top Container: {{ selectedLibraryStats.topContainer }} ({{ selectedLibraryStats.topContainerCount }})