Skip to content
PhysK edited this page Jan 22, 2020 · 2 revisions

_**Table of Contents**_
  1. Intro
  2. PTS YouTube
  3. Access Information
  4. Initial Configuration
  5. Helpful scripts
    1. Stop transcoding by rule
  6. Tautulli Remote App
  7. Summary

1. Intro

Tautulli is a great way to gather information on how your Plex Server is being utilized, what users are playing, and enabling certain notifications and access controls for your users. With Plex's new ability to graph user bandwidth and info, Tautulli may not require deployment unless specific capabilities enhance your server. Tautulli for legacy users was known as PlexPy in the past.

2. PTS YouTube

NOT RECORDED YET

3. Access Information

Protocol Address Notes
traefik** tautulli:8181 Only for Internal App-to-App Communication
https tautulli.domain.com Traefik must be Deployed; Remote Servers
http domain.com:8181 Poor Security Practice - Stop with PTS Port Guard
http ipv4:8181 Ideal Only for Local Servers

Additional Subdomains: plexpy.domain.com

4. Initial Configuration

Default User: plex Default Pass: guide Click Sign In


Next, the following image should load as seen below. Click Next


  1. Sign into Plex! Click Sign in with Plex
  2. When done, Click Next


  1. Select a Server
  2. Select a Port (leave this alone; unless required to change)
  3. Click Verify to ensure that Tautulli connects to the Plex Server
  4. When done, Click Next


  1. Click Next


  1. Click Next


  1. Click Next

That's it!

5. Helpful scripts

Prevent Transcoding (at all, or in specific cases)

You can use Tautulli to automatically prevent transcoding, either by resolution, by bit depth (i.e. stop HDR/10-bit files from being transcoded) or just at all. Why would you want this? If your server isn't powerful enough to do transcoding at all, but the users don't know enough to force direct play, then this will stop the stream and provide a pop-up message explaining the reason. Maybe your server can do transcoding, but not for 4K. Or maybe it can even do 4K, but Plex right now can't transcode HDR to HDR. So if you have a 4K or even 1080P video in HDR/10bit color and it has to transcode, it will only be in SDR. The tonemapping in Plex (and Emby/Jellyfin) - for now - is based on an FFMPTS version that doesn't support HDR->HDR transcode, so it looks all washed out.

  • Confirm in Portainer that the host directory "/opt/appdata/tautulli/scripts" is mounted to "/scripts" in the Docker container (that is the default setting, so it should be already.)
  • From the host (SSH) enter the following code (slightly modified from https://github.com/Cloudbox/Community/wiki/Tautulli-Custom-Scripts):
    • cd /opt/appdata/tautulli/scripts
    • sudo curl -O https://raw.githubusercontent.com/blacktwin/JBOPS/master/killstream/kill_stream.py
    • sudo chown root:root kill_stream.py #not really necessary if running as root
    • sudo chmod a+x kill_stream.py
      • Note that the file size is actually ~20K, not 9K as listed on the github page.

Follow the instructions below:

  • Configure Tautulli Notification Agent
    • Enter Tautulli settings and find the Notification Agents link on the left side menu.
    • Click Add a new notification agent and scroll down to Script in the selection dialog.
    • Configuration panel
      • Enter /scripts in the script folder and exit the text input field.
      • Select the script named ./kill_stream.py in the Script File drop-down.
      • Enter Terminate 4K transcodes or something of your own choice in the description field.
    • Triggers panel
      • Put a checkmark in Playback Start and Transcode Decision Change
    • Conditions panel
      • Condition {1}: Video Decision - is - transcode (you'll have to manually type in the transcode variable)
      • Add a new Condition (use the + symbol)
      • Condition {2}: Video Resolution - is - 4K (if you want it to prevent ANY transcoding of 4K video)
        • (Alternatively, if you only want to stop HDR/10 bit transcode, since even if your CPU/GPU can support 4K transcoding it will always be transcoded to SDR and look like garbage) : Video Bit Depth - is - 10
    • Arguments panel
      • Under Playback Start enter the following: --jbop stream --username {username} --sessionId {session_id} --killMessage 'Transcoding is not allowed from the 4K libraries.'
        • Note the "killMessage" part can be whatever text you want to pop-up when the transcode is stopped. For example, I changed mine to --jbop stream --username {username} --sessionId {session_id} --killMessage 'This is an HDR/10-bit color video. Transcoding will make the colors look washed out and bad. Please set your player to play at the original resolution.'
      • Under Transcode Decision Change enter the following: --jbop stream --username {username} --sessionId {session_id} --killMessage 'Transcoding is not allowed from the 4K libraries.'
    • Click the Save button to save the new notification agent. You can test the agent by attempting to play a 4K movie through the Plex web app and downgrade the quality to 2Mbit (or whatever will break the rule you set). It will be transcoding for about 5-10 seconds, after which you should get the stream kill message.

This is an example of the pop-up your users will see if Tautulli stops the transcode:

6. Tautulli Remote App

Important note: If you use Google Authentication for Tautulli access, the Tautulli Remote App will NOT work.

You must disable Google Authentication for Tautulli. Recommend setting a username and password in the Tautulli settings Web Interface tab under Authentication and also checking the Allow Plex Admin box. This will allow you login using your Plex authentication as the Tautulli administrator.

7. Summary

Tautulli is simple to use, but has many options. If you require more information, please visit the Tautulli Wiki

Useful Starter Links

  1. Introduction
  2. G-Suite Signup
  3. Recommended NewsHosts
  4. Change Log

Prior Planning 101

  1. Recommended Pre-Reading
  2. Server - Storage Planning
  3. Usenet or BitTorrent
  4. PTS Editions
  5. PTS Folder Structure
  6. PTS-Repos
  7. Common Issues

Deploy & Config

PTS-Team
  1. SSH Server Access
  2. Install PTS
  3. WatchTower
  4. Remote Path Mappings

Data Transport
  1. PTS Clone
    1. Google OAuth Keys
    2. PTS Move
    3. PTS Blitz
    4. 2nd HD Option

Key Components

  1. Traefik
  2. Port Guard
  3. PTS Shield
  4. PTS Press
  5. Google Cloud - GCE
    1. Automated setup
  6. Hetzner Cloud
  7. PTS Fork
  8. Extra PTS Commands

Blitz App Info

  1. Accessing PTS Apps
  2. App Port Scheme

Tools & Services

Core Apps [Expand]
  1. Emby
  2. Jackett
  3. Jellyfin
  4. LazyLibrarian
  5. Lidarr
  6. Netdata
  7. NZBGet
  8. Ombi
  9. Plex
  10. Portainer
  11. qBittorrent
  12. Radarr
  13. Radarr4k
  14. RadarrHDR
  15. RuTorrent
  16. SABnzbd
  17. Sonarr
  18. Sonarr4k
  19. SonarrHDR
  20. Tautulli
  21. JDownloader2
Community Apps [Expand]
  1. AirSonic
  2. Bazarr
  3. Bitwarden
  4. BookSonic
  5. cAdvisor
  6. Cloud Commander
  7. Deluge
  8. DelugeVPN
  9. Dozzle
  10. Duplicati
  11. Filebrowser
  12. FlexGet
  13. Gazee
  14. Headphones
  15. Heimdall
  16. HomeAssistant
  17. jd2-openvpn
  18. Kitana
  19. Logarr
  20. MakeMKV
  21. MariaDB
  22. McMyadmin
  23. MEDUSA
  24. Mellow
  25. Miniflux
  26. Monitorr
  27. Muximux
  28. Mylar
  29. NextCloud
  30. NowShowing
  31. NZBHydra2
  32. Organizr
  33. plpp
  34. pyLoad
  35. qBittorrent
  36. QBittorrent VPN
  37. radarrsyncarr
  38. Resilio
  39. rflood-openvpn
  40. rutorrent-openvpn
  41. Shoko Anime Server
  42. SpeedTest
  43. SyncLounge
  44. Teamspeak3
  45. The Lounge
  46. Transmission
  47. Trakt.or
  48. Ubooquity
  49. Varken
  50. vnc-xfce
  51. vnstat
  52. ZeroTier

Misc Info & Articles

  1. Change Server Time
  2. Fail2Ban
  3. Custom Containers
  4. Deploying Varken, Influx, Telegraf, Grafana
  5. cloneclean commands
  6. Understanding htop
Scripts
  1. Scripting Area
    1. Auto Upload for Sonarr and Lidarr
    2. Auto Delete Log
    3. Plex Plugin DB Backup
    4. Plex fast BACKUP
    5. Delete All Unmonitored from Radarr
Clone this wiki locally