There are a lot of fantastic methods for integrating custom stations into Channels DVR, especially from FAST and similar providers like Pluto, Plex, Tubi, Samsung TV+, ESPN+, NFL+, and plenty more! The problem is, they require a fair bit of maintenance. For instance, there are whole threads and tools dedicated just to keeping track of which stations have been added and removed. And that doesn't even get into the redundancy of when each of these services have the same stations, but you have to decide which one you want to put in your Channel Collection before it inevitably disappears without you knowing it and not realizing you need to put a replacement in its spot. But what if we could make the whole process a little...easier?
Enter Playlist Manager for Channels (BETA), a custom add-on for Stream Link (+Files +Playlists) Manager for Channels!
From a high-level perspective, PLM works on the same premise as SLM. The idea is that there is some piece of content that can come from multiple sources that you have legal access to and it will "assign" which one to use based upon a priority that you set. With SLM, it takes a movie or an episode of a TV show and parses through all the streaming services you have set, sees if it is there, and assigns the appropriate Stream Link. Similarly, with PLM, it takes a "parent" station that you define and parses through all the playlists that you have set, sees if there is a matching "child" station, and assigns the appropriate info to m3u and EPG files that can be integrated into Channels DVR or any other similar tool. Still, this is just the beginning of its capabilities!
NOTE: This is a BETA release, which means there may be bugs, issues, and enhancements to deal with. Feedback is greatly appreciated to address these, and each will be dealt with accordingly. Nevertheless, please be forewarned that some fixes may require a manual intervention on your part to keep using this tool after an update.
Installation
-
Install Stream Link (+Files +Playlists) Manager for Channels or upgrade to version
2024.10.29.1540
or later. -
Go to
Settings
and scroll down toAdvanced / Experimental
.
- Check the box for
Use Playlist Manager
and click save. When you do so, a lot of things will become available both in the front-end and the back-end. Most notably, you will now seePlaylists (BETA)
in the navigation pane.
Initialization
- Navigating to the
Playlists (BETA)
area, you will see something like this:
- In the navigation pane, select
Manage Playlists
. Scrolling towards the bottom, you should see theEnter Playlists
section, appearing somewhat like this:
- Here you can add links to your m3u(s) and corresponding Electronic Program Guide(s) [EPG(s)], giving each one a unique name. Be sure the correct "Stream Format" is selected for dealing with different types of interpretation engines.
- You can always modify these after the fact, too, including renaming or removing them with little to no repercussions. However, if you remove all Playlists, it is considered a complete reset of the tool. Additionally, instead of removing, you can just make the playlist "inactive" by unchecking the appropriate box. Otherwise, as shown in the example image, you can add ones with only a m3u and no EPG, especially those that already have Gracenote IDs for guide data. You can even pull the m3u(s) from built-in Channels DVR lists like the ones for HDHR and TVE. Since some stations are both in either of those and on FAST providers, this gives a way to match them together, if desired.
- As another option, you can upload your own playlists and guide files.
- When you upload a file, it is given a link that you can use in the
Enter Playlists
area above.
- As you add each source, they are given a priority. You adjust that value in the
Prioritize Playlists
section. In the end, PLM will parse through each of these sources in priority order (excluding inactive playlists) to find the matches for individual stations, and this sequence will determine which one to use. For instance, CBS News is available on many providers, but based upon the order shown below, in this example it will take the one from Channels (TVE) over the ones on Plex, Pluto, etc...
- Back on the
Main Page
, there is a button calledUpdate Station List
. Pressing this will then read through each of the m3u playlists and gather all the stations for your assignment.
- In a later step, we will discuss automating this to get updates on a daily basis. In the meantime, you should now have a complete list of available stations to work with.
Regular Activity
As shown at the top, PLM will give you the status for each of the stations it finds in the provided m3u(s). "Unassigned" stations are ones that need to be given a "Parent". The Parents themselves are a grouping of the stations that came from the m3u sources.
- Navigating to
Unassigned Stations
and clicking theExpand / Collapse
button will show you all the stations (in alphabetical order) that are looking to have a Parent assignment. The only way a station becomes available is if it has been assigned to a Parent. There is no penalty for not assigning a station aside from not being able to see what's new.
- To the far right, there is a button called
Make Parent
. Clicking this will create a new Parent that has the same name as that station and assigns that station as a "Child" to that "Parent". For instance, if we clickMake Parent
for 00s Replay, we will end up with a new Parent like this in theParent Stations
area:
- You also have the option to create and edit parents directly. This can be especially useful when the names provided by the m3u are not clear or specific enough and you want to easily see what they are.
- There are also several optional fields to override what may be provided by the child stations. For instance, you may have a Gracenote ID for guide data that was not provided and can plug that in here.
- You can even override the default priority order of the Playlists if you have a use case to make a specific source for one particular station be the first choice.
- As you add Parents through either method or en masse as described below, they become available for direct assignment. For instance, if we take the first 21 Jump Street and click
Make Parent
, the second one will now have that new Parent as an option for selection.
- After doing so, click the
Set Parent
button to save this selection. The same activity can also be done with the "Ignore" option. This is like the "Hidden" choice in Channels to make a station not available in the final product.
- You can also make multiple selections at a time and then click the floating
Save All
button to set each of them. This includes the "Make Parent" option so you can push multiple stations into new Parents all at once.
- Everything that is set for a station can always be changed and even undone in the
Modify Assigned Stations
section:
- As you make your assignments, the chart on top of the
Main Page
updates to let you know the status of your stations. "Assigned to Parent" means that a Parent has at least one child and will create a unique station. "Redundant" means that a Parent has additional children (i.e., repeating/same stations) and that they are available if the higher priority option goes away for any reason.
- At any time, you can also click the
Update m3u(s) and XML EPG(s)
. This is the process that will parse through all of these parent-child assignments and create the playlists and guide links that you will load into Channels DVR or other tools. It should be noted that when PLM processes a station, if a certain field does not have a value in the higher priority playlist, it will take that field from a lower priority one. For instance, if your preferred playlist does not have a "description", but a lower priority one does, it will get that "description" and make it available in the final output.
- As before, this process can be automated and is discussed later. At this point, though, you will now have fully active m3u and EPG files that you can integrate. The links will be visible at the top of the page:
- "Gracenote" m3u files do not have XML EPG data because the guide information comes from the loaded Gracenote ID. On the other hand, all the "Non-Gracenote" m3u(s) do require their own corresponding XML EPG. Either way, each is split between "HLS" and "MPEG-TS" options since those are interpreted by Channels DVR differently. Also, depending on circumstances described below, you may end up with multiple of these lists.
- At this point, you have everything you need and can continue using PLM as a regular function. However, there are several settings and automated routines to consider before proceeding.
Settings and Automation
- Back in the
Settings
area underAdvanced / Experimental
, at the spot where you turned on PLM, there are two additional inputs. One is the station number you would like to start at, with a default of10000
. Each new Parent that is added will increase this value by one.
-
The other choice is the
Max Stations per m3u
, with a default of750
. This is the number of stations that will be in an m3u file before it splits into a new file, 750 being the maximum Channels DVR allows at the time of this writing. This can be set to any positive integer. It should be noted the XML EPG data is split by the same stations in the end-result m3u(s). -
Further up under the
Scheduler
section are two more things for you to set. The first is the equivalent of theUpdate Station List
button. Turning this on will run a process once per day at the time you set to update the station list, thus giving you an automated way to handle changes and get new selections in theUnassigned Stations
section.
- When stations are updated, there are notices that are also made available in the
Notifications
pane in theHome
area. You will get info on "Added", "Removed", and "Modified" stations, the latter meaning there has been a change in at least one field of provided data.
- In the same vein, you can also turn on the process to update the m3u and EPG files at regular intervals.
- Unlike the updating the station list, this one allows you to make a selection to how frequently you want the action to happen based upon a starting time. For instance, if we leave the time at
02:01 PM
and selectEvery 6 hours
, it will run at02:01 PM
,08:01 PM
,02:01 AM
, and08:01 AM
.
- As with the previous automation, this one will also give you notifications. In all cases, there is additional detail available in the
Logs
area.
- With these in place and set, the process will take care of itself and you should be good to go!
To see a short demonstration, watch the video here:
Known Issues
-
Sometimes, while retrieving an m3u or EPG, PLM will give up after just a few seconds instead of waiting for it to load. It is inconsistent behavior and hard to track down as the same link can work and an hour later not work. It seems particularly prevalent with with Samsung TV+ and, to a lesser extend, DistroTV.
-
When there are a lot of stations (like a thousand),
Unassigned/Assigned Stations
can take a while to load and may appear like PLM is just spinning its wheels.