Live TV fails with "Error — Unable to find title for item of type 5"

Windows x86 fix here. Step by step instructions to generate your own Windows x86 fix here.

TranscodeSession: timed out waiting to find duration for live session

It looked like the -probesize in the call to ‘Plex Transcoder’ was being sent as 4x the default of ffmpeg. Probesize pre-loads the stream/file a certain amount to get information about the stream, size, codec, tracks, etc before processing it. I created a python shim to bump that value down to keep PMS from timing out. Strangely, there were other arguments being passed that ‘Plex Transcoder’ didn’t like, so I removed those too. YMMV

You’ll have to rename ‘Plex Transcoder’ to ‘plex_transcoder’ and create ‘Plex Transcoder’ with this python code, executable.

#!/usr/bin/python
import sys
from sys import argv
import subprocess

# Tell this shim where the 'real' Plex Transcoder is
#cmd = '/Applications/Plex Media Server.app/Contents/MacOS/plex_transcoder' # for mac
cmd = '/usr/lib/plexmediaserver/plex_transcoder' # for linux/ubuntu

# Get all arguments passed to what it thinks is the original 'Plex Transcoder'

cmdargs = sys.argv

# Remove the first argument (the script/program name itself)

cmdargs.pop(0)

# Initialize the argument counter

cmdindex=0

# Loop through all arguments and modify them as needed
# - remove arguments that when passed to the original 'Plex Transcoder' error it out.

for cmdarg in cmdargs:
  
  # lower the '-probesize' so that it keeps us under the timeout limit of PMS
  if cmdarg == "-probesize":
    cmdargs[cmdindex+1]="9000000" # was 20000000

  # remove offending arguments
  if cmdarg == "-x264opts:0" or cmdarg == "-crf:0" or cmdarg == "-preset:0":
    cmdargs[cmdindex]=""

  # escape single quotes in arguments
  cmdargs[cmdindex]=str(cmdarg).replace("'", "\\'")
  
  # bump up the counter for the next loop
  cmdindex += 1

target = [cmd] + cmdargs
subprocess.call(target)

2 Likes