Display aspect ratio in all Plex clients

Hello,
I always project movies under their original aspect ratio. When using a projector it is necessary to know the orginal aspect ratio of the movie in order to set the projector aspect ratio accordingly. AFAIK the only way to read aspect ratio value is to display it using the View details link in the Plex Web interface. I found no other means to get it, which is really cumbersome is an HTPC environment (Plex media player remote controlled whith any app).
It would be very usefull to have this information always displayed with movie resumé and other movie information.
Thank you

+1

I have to manually set my projector screen aspect ratio and it would be good to know up-front what aspect ratio applies to a particular movie!

Plex will playback the video at it’s designated aspect ratio and scaled to the screen’s resolution, so unless you are manually changing the resolution of your projector too, you shouldn’t need to change the aspect ratio. Or am I missing something here?

I think you are indeed missing something. When using projector, if you want to maximize the size of the image on the screen while keeping the original aspect ratio you have to know what is the aspect ratio of the movie in order to adjust the zoom. It is even more important for 4/3 movies. So this information should be displayed alongside movie title for instance. I made a python script that is launched under Windows: input is the movie title and it returns various information including aspect ratio. And I would love to be able to trigger a script when Plex Play button is hit in order to adjust automatically various audio / video parameters based on movie technical parameters. As of now you have to be an expert to play any movie using an HTPC.

Plex offers a Plex Pass feature called WebHooks which can be used to trigger something like that. https://support.plex.tv/hc/en-us/articles/115002267687-Webhooks

@“MovieFan.Plex” the webhook feature seems quite interesting thank you for pointing that. However AFAIU aspect ratio of the played movie is not part of the JSON payload. Am I correct?

I’m not sure. I’ll have to check.

Thanks @“MovieFan.Plex” I’ll wait then

I checked and it looks like the media info is not included in the json response, mostly to minimize the size of the results. You should be able to extract the id for the item then pull the full xml from PMS. Using Plex Web call up the xml for any item. Look at the URL. metadata/xxxx You’ll see that in the URL. The xxxx is the ID you want from the json. I know it’s a work around but should do what you want.

Thanks @“MovieFan.Plex” Indeed with the ID of the movie being played I can lookup anything I need. Too bad though it is not in the JSON stream, that would greatly improve the response time. I still think this info should be displayed in the interface as well. Could you raise these concerns to your fellow developers? Since then, I discovered that when using Z shortcut the aspect ratio is displayed on the screen.

@“MovieFan.Plex” @“number8.1” I’m also very interested in getting the aspect ratio information for automation purposes (masking of my cinema screen). I don’t really understand how you solved this by this workaround. Could you be so kind to describe it a little bit further so I better understand the steps?
Thank you so much.

@adrian.alonso: I would be glad to help. Basically I made a Python script that I run in console mode.
This is quite a basic script that can certainly be improved. You’ll find some info on the github. I have two Plex servers, hence ‘a’ and ‘b’ selection

#https://github.com/mjs7231/python-plexapi
from plexapi.myplex import MyPlexAccount
import requests.packages.urllib3
import os

requests.packages.urllib3.disable_warnings()
account = MyPlexAccount.signin('yourAccountName','password')
serveur = raw_input('Quel serveur? Paris [a], Saint Pierre ** :')
if serveur == 'a':
    plex = account.resource('name of plex server').connect()  # returns a PlexServer instance
    
elif serveur == 'b':
    plex = account.resource('name of plex server').connect()  # returns a PlexServer instance
else:
    print ('STOP')
    exit()

titre = 'start'
while titre <> '':
    titre = raw_input('Titre du film : ')
    try:
        video = plex.search(titre)[0]
        print('%s (%s) (%s) [%s]' % (video.title, video.year, video.media[0].aspectRatio, video.media[0].parts[0].file))
#        print('%s (%s) (%s) ' % (video.title, video.year, video.media[0].aspectRatio))
    except:
        if titre == '':
            print ('Exiting')
            exit
        else:
            print ('Titre de film inconnu')