Issues with New Live TV Design

Server Version#: 1.25.6.5577
Player Version#: Roku (Plex Preview)
Tuner Make/Model: xTeVe, as a HDHomeRun
Guide/Lineup name: xml provided by me
Using XMLTV?: yes
Channel number/Name: Any and All

I wanted to raise some issues I have with the new design/layout of the Live TV section (All of this was gathered from a Roku as they are the device I use, as do most of my other users):

  • For the “Live TV” option to be displayed AT ALL, the Live TV AND Plex Live TV options must be selected (this is confusing and counter-intuitive to end-users, also requires resetting home customizations for any users not already setup this way)
  • I generate a new guide daily with sports games, and every day the users must go to live tv → up → right to the ellipsis → manage guide sources → unselect yesterday (or all order guides) and unselect “plex tv channels” to view the correct guide

Both of these things require way too much manual intervention. This is too hard to explain to users.

Suggestions:

  • If there is no guide information (from the older epg/xml files, they should not even be displayed).
  • I should not be required to turn on Plex Live TV to view my own Live TV channels.
  • Number of channels available should be listed under the “manage guide sources” section so that users can tell what guides actually have channels active.

There is no reason to keep selecting guide sources under “Manage Guide Sources” You are either 1) removing the DVR and re-creating it which you should not have to do regardless of what you’re trying to accomplish or 2) doing something else wrong that I can not imagine. You know the guide refreshes itself for each tuner… and you can update it through xTeVe without re-creating the tuner in Plex…

I have to create a new .xml file every day, as the links to sports games change their feeds daily based on teams playing. When i make changes to my playlist, then re-sync with plex, only channels that are the same both before and after stay on the guide. Plex cannot handle a change in the number of channels or streams without removing and recreating the TV xml file from scratch.

Example:

Tonight there are 7 hockey games, i have them mapped to channels 50-56 and there are 9 NBA games mapped to 70-78.

Tomorrow there could be 10 hockey games, or 5 either way I would have to recreate the guide as the same teams are not playing, and especially not on the same channels. The same is true fro NBA games. This is true for any sports that are not playing tonight (NFL, UFC only on saturday).

xTeVe controls the XMLTV file not Plex. You load your main XMLTV file into xTeVe then map the channels inside xTeVe then add the XMLTV file that xTeVe provides for you into Plex while creating the DVR for the first time.

You can add and remove channels inside xTeVe and then re-sync in Plex without deleting the tuner.

Yes it can. Again, You’re doing it wrong. Under the DVR page inside Plex you click “XX enabled” and re-map your channels.

I’m tired of trying to argue with you on this. I have done this every day for months now, as there is no better solution. Below are photos and a walkthrough of why this issue occurs every day.

Screenshot of xTeVe before changing todays channels (as you can see, yestedays sports channels no longer exist in my feed, channels 50’s and 70’s, as the feeds have been removed by the provider):

Plex guide before refreshing the guide for today’s content (as you can see, old channels from 50’s and 70’s still exist, even though they DO NOT in xteve, and also total channels is 304 out of 303):

After moving my channels around in xTeVe to have todays events/games (as you can see, 294 total channels exist, and there are new channels in the 10’s, 50’s and 70’s):

After running a refresh of the guide in Plex i see the following (The listed number of channels is correct, 294, but the number and order of channels ENABLED has not changed. The list of channels is still the exact same, no new channels are added no old channels are actually removed):

Proof that using VLC to connect directly to the .m3u has the correct channel lineup without issue:

After removing and re-adding the plex DVR feature, and adding the xml guide from my xTeVe client, everything works as exected. (This is what I do every day, and what generates a new item under manage guide sources. As you can see, we add the xml location, we see confirmation of the new channels in the guide, and the guide correctly shows 294 out of 294 and the channels in the 10s, 50s, and 70s exist as expected):

You click “303 enabled” and map your additional channels then press ok to update the channel list.

You underlined (294)… well right next to that where it says 303 enabled you can click that and re-map your channels without deleting and re-creating the DVR.

I have the same setup and mine updates on it’s own but what do I know.

Also, if the channel is already mapped but the name of the channel changes inside your main m3u file you can enable “Update Channel Name:” inside xTeVe provided the m3u entry has a unique channel ID that does not change and then when Plex refreshes the guide it will automatically pull the new name and display it in the guide when using a dummy entry.

Here is the script I wrote to assign unique channel ID’s to the m3u file before loading it into xTeVe. Edit it to match your needs…

#!/bin/bash
#
# Script to assign a unique channel ID
#
# Set $DESTINATION to the download directory
# Set $FILE to the destination filename
# Set $URL to your playlist location
# Leave $INTEGER unchanged
#
# Set $DEBUG=1 to enable debugging / 0 to turn off
#
# Notes: sed -n 's/.*\(tvg-name=".*"\).*$/\1/p' | sed 's/tvg-logo.*//g'
#

DEBUG=0
INTEGER=1
DESTINATION=/storage/plex/xteve/playlists
FILE=${DESTINATION}/events.m3u
URL='http://your.playlist.location.com/playlist.m3u'

if [ "$DEBUG" = 1 ]; then
    if wget $URL -O $FILE; then
        echo "wget success"
    else
        echo "wget failed, exit status: $?"

        exit 0
    fi
else
    if wget $URL -O $FILE >/dev/null 2>&1; then
        :
    else
        exit 0
    fi
fi

if [ -f "$FILE" ]; then
    for INTEGER in {2000..3999}
    do
        if [ "$DEBUG" = 1 ]; then
            echo "Looping SED"
        fi

        sed -i "s/tvg-chno=\"$INTEGER\"/& CUID=\"$INTEGER\"/" $FILE
#        sed -i "s/,NHL USA 0$INTEGER:/ CUID=\"nhl0$INTEGER\"&/" $FILE
#        sed -i "s/,NHL USA $INTEGER:/ CUID=\"nhl$INTEGER\"&/" $FILE
    done

    exit 0
else
    if [ "$DEBUG" = 1 ]; then
        echo $FILE "does not exist, exiting..."
    fi

    exit 0
fi

Thanks for that, since the new UI changes in the DVR settings I never realized that actually did anything!

For your script, can you walk me through what it does? It seems to reach out and download your m3u from an external source, validates it received something, then in the loop, it adds the channels in order from start to finish in the 2000-3999 range? Can this be done per guide subclass (filter).

Also how does this impact your xteve process, do you ever manually update the m3u links in xteve, does xteve just realize the channels are changed and copy the mapping?

You point the script to the URL of your playlist from your provider. You point xTeVe to the playlist the script modifies. In this example you would import /storage/plex/xteve/playlists/events.m3u into xTeVe.

Change 2000…3999 to 1…100

Delete sed -i “s/tvg-chno=”$INTEGER"/& CUID="$INTEGER"/" $FILE

Uncomment the next two lines below that. Change NHL USA to just NHL as per what your sources look like eg: NHL 01…

You can add other custom strings to search by making more sed entries in the script for like NBA channels or whatever.

What this will do is look for channels with the name NHL 01, NHL 02, NHL03 and so on and insert text before the matching string. So for example if it matches NHL 02 the script will insert a string CUID=“nhl02”. This gives the channel an identifier that never changes.

So now when your provider changes NHL 01: Blues Vs Islanders to something like NHL 01: Canadiens Vs Sharks xTeVe will still consider the channel the same as before because it has a unique identifier that doesn’t change eg: CUID=“nhl01”

You must re-run this script every single time your provider updates it’s playlist before refreshing xTeVe. If you fail to run the script before refreshing xTeVe you’ll lose the unique identifiers and it will cause unintended problems.

You must set the unique identifiers for every playlist entry before importing the m3u into xTeVe for the first time. Once you do this and import you’ll be able to click the channel in xTeVe and there will be an option “Update channel name” that you can checkmark. Setting this will change the title of the channel from how the provider updates it as I mentioned above each time you update the playlist.

Now when Plex goes to refresh the guide it will automatically update the channel name for NHL 01 to display it’s new value. You only need to use a dummy entry for the guide in xTeVe.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.