Problem:
My remote Plex users are trying to play a media file and Plex is automatically sending the 4K version of the file. Transcoding this file is very CPU intensive, we would prefer that the stream was killed and the user was forced to use a 1080p or 720p version.
Solution:
First you need to install and setup Tautulli with Plex. I have posted a guide on how to do this here. Then you need to download the kill_stream.py script from here.
Once you have Tautulli setup go to Settings
Go to Notification Agents
Add a new Script Notification Agent
Set the path where you copied your script to and select the script file that you downloaded
Set the triggers as below
Set the conditions as below:
Transcode Decision is transcode
Video Resolution is 4K (K is case sensitive)
Set arguments for: Playback Start, Playback Pause, Playback Resume and Transcode decision change as below. Use the below code for the argument:
--jbop stream --username {username} --sessionId {session_id} --killMessage 'Transcoding streams are not allowed for {stream_video_resolution}p streams.'
Switch to your Python install folder and run the below:
C:\Python27\Scripts\pip.exe install requests
Now if one of your users tries to play a 4K transcode they will see the below
This is genius and pretty elegant. I’m going to check this out ASAP. 🙂 #firstworldproblems
I started with this but noticed that I could change it to `Video Decision` == `transcode` because some of my players don’t have 5.1 or 7.1. And the audio transcoding is usually pretty light. Great stuff though!
I started with this but noticed that I could change it to `Video Decision` == `transcode` because some of my players don’t have 5.1 or 7.1. And the audio transcoding is usually pretty light. Great stuff though!
I’ve followed this to the tee and for some reason nothing happens when a 4K transcode starts. Not sure what else to do