Releases: babsonnexus/stream-link-manager-for-channels
v2025.01.28.1009
Summary
- NEW: [PLM] Stream Link Stations Support
- NEW: [PLM] Automatically create a Custom Channel (Playlist) in Channels DVR
- General formatting, performance, and code updates
NEW: [PLM] Stream Link Stations Support
Like HLS and MPEG-TS, you can now create STRMLNK based stations. For those unfamiliar, these 'Stream Link Stations' will launch an app on a client device and play a stream from there. More info can be found at https://community.getchannels.com/t/experimental-stream-links-from-the-guide-via-custom-channels/36062.
In Streaming Stations
, you can create a new station type that is a 'Stream Link'.
An example for the URL
would be 'nbctve://live/usa'.
Like the HLS and MPEG-TS, a new type of m3u playlist will be generated for STRMLNK:
This m3u can then be used as-is in any program that accepts a STRMLNK type (namely, Channels DVR), or it can be added in as a regular source in Playlist Manager and worked with that way:
Now, once again, when your playlists and guide data are updated, there will be separate ones for Stream Link Stations, the same as there are for HLS and MPEG-TS.
NEW: [PLM] Automatically create a Custom Channel (Playlist) in Channels DVR
In Playlist Manager, if you have the integration to Channels DVR turned on, you can get a 'Custom Channel' set up with a click of a button.
This can be accomplished both with Streaming Stations 'Generated' playlists...
... and with Playlist Manager final result playlists and guide data:
Clicking on either of these buttons will result in completely filled in 'Custom Channels' being added to Channels DVR.
For Gracenote or ones without guide data, they may look something like this:
If the playlist is associated with guide data, that will be set, too, and be made to refresh hourly:
Being that these are normal 'Custom Stations', you are free to update them from there. Accidentally clicking the button again will not result in two sources, but the same source being reset to default. Also, the new 'Stream Link Stations' (STRMLNK) from above also work exactly the same.
For Non-Channels DVR users, they will just see disabled buttons:
For now, this is a Channels DVR only function, but the code is built to allow the same function for other tools in the future.
General formatting, performance, and code updates
- MODIFIED: [PLM] Streaming Stations 'Guide Placeholders' now contain information to not have any placeholders at all in info box.
- MODIFIED: [PLM] 'Uploaded and Generated Playlists, Guides, and Related Files' area now contains labels to help describe the files.
- MODIFIED: [GEN] Backend update to more easily deal with pre-releases.
- MODIFIED: [GEN] Made references more generic and variable-based for easier future updates and functions.
- NEW: [MTM] Function to send commands and json data to Channels DVR. This will allow for more action controls in the future.
- MODIFIED: [GEN] Minor formatting and backend code updates, as well as future proofing.
v2025.01.21.1307
NEW: [MTM/PLM] Report/Query for 'Stations by Channels Collection'
There is a new report available to see all of your stations in Channels DVR with their assigned Channel Collection(s).
Note that in order to run this report both the 'Channels DVR Integration' and 'Playlist Manager' need to be active. However, you do not need have a PLM playlist used in Channels DVR; this works for all stations in Channels DVR. When you do execute it, you will see something like this:
This will show the detail of assignment for each station, and even those without one...
This can be especially useful if you want to make sure newly added stations end up with an assignment.
General Troubleshooting and Updates
-
FIXED: [MTM/GEN] Bug introduced in prior version so DataTables could no longer render. This impacted the 'Files', 'Reports & Queries'. 'Gracenote Search', 'CSV Explorer', and other similar functions.
-
FIXED: [PLM] For Streaming Stations, if using a shortened URL for 'YouTube Live' (i.e.,
https://youtu.be/x10vL6_47Dw
), the resulting m3u8 would not recognize the video id and fall back to the default name. It will now recognize links like these and give the proper, unique name. -
FIXED: [PLM] If using shorted URLs for XML Guide Data that was compressed with a '.gz' format, the 'Update m3u(s) & XML EPG(s)' would cause a crash and not load that guide data. This is now resolved and will not cause any issues.
-
NEW: [MTM] Generic engine for Channels DVR JSON queries. This will allow more rapid deployment of both 'documented' and 'undocumented' API features.
-
FIXED: [GEN] Minor code updates and fixes
v2025.01.16.1518
NEW: [PLM] Streaming Stations
Not all potential stations are available in m3u form. For instance, there are live streams on some websites or in video providers like YouTube. In order to integrate these is the Streaming Stations add-on for Playlist Manager.
Out of the box, you do not even need to have PLM turned on to take advantage of these features. With just a base installation of Streaming Library Manager, you can input the following:
-
YouTube Live: Enter the link
http://[SLM_SERVER]:[SLM_PORT]/playlists/streams/youtubelive?url=[YOUTUBE_URL]
, filling in the fields between brackets and removing the brackets. For instance, to get an individual stream, you would use something likehttp://localhost:5000/playlists/streams/youtubelive?url=https://www.youtube.com/watch?v=R7vrbiDi0Tc
. Additionally, you can get the most recently posted active live stream of a channel by using its@
username and/live
, i.e.,http://localhost:5000/playlists/streams/youtubelive?url=https://www.youtube.com/@KittenAcademy/live'
. -
More to come...
Now, you can take these links and put them into your own m3u files. Some users who have been utilizing similar methods that are no longer available can easily switch the links they have been using to ones hosted locally and provided by Streaming Library Manager without doing anything else. The stream is only active when you call it to watch and automatically closes out when you do. As such, there are no concerns about the stream having a timeout or expiring at some point, nor do you need to kill or keep track of activities. That said, there are even more capabilities inherent in this program!
In Settings
under Extensions, Advanced, and Experimental
, if you already have Use Playlist Manager
initiated, you will find a new selection for Use PLM Streaming Stations
.
If you do not see this, you need to check Use Playlist Manager
and save that first. Once this is done and you have activated Use PLM Streaming Stations
, you will find a new option in the navigation menu called Streaming Stations
.
Clicking this will reveal the Streaming Stations
management area:
In the first row, you can select a Source
, put a URL
, and click the Test
button, which will do the same function as going to the direct links above.
Doing so will give you the option to open the streaming m3u8 in the tool of your choice, thus confirming the availability and correctness of the original URL
.
With this confirmation, you can then Add
these details as stations of your own. You could even use the Custom
selections if you know an m3u8.
Information on the purposes and allowed inputs of all the fields is available as a pop-up box by hovering over the header:
Every time you Add
, Delete
, or Save
changes, a set of m3u files is created or updated. These can be seen in Playlist Manager's Manage Playlists
area under Uploaded and Generated Playlists, Guides, and Related Files
.
There will be separate ones for HLS
and MPEG-TS
stations. Additionally, back in the Settings
, you can set the number of stations allowed per file (along with a starting station number), with the default being 750 for the same reasons as discussed above. Note that these all contain plmss
in the name and cannot be manually deleted. At this point, you could then take these links and integrate them directly into your final watching tool (i.e., Channels DVR). In other words, there would be no need for you to manually maintain your own m3u file.
However, you could also take it to the next logical step by adding it as a source Playlist right above this value. Therefore, you could take advantage of all of PLM's regular functions, including incorporating guide data. In the end, no matter which method you prefer, there is a simple way to integrate your web-based streaming stations that otherwise cannot be!
MODIFIED: [GEN] Dropdown Boxes with Filters
Dropdown boxes all over Streaming Library Manager now have filter boxes to make finding items easier:
... and plenty more ...
The only exception is SLM Special Action
for shows as it interferes with the function that pushes down results from a higher level to the lower level:
General Updates
- MODIFIED: [GEN] Windows and Linux installation files now are rebranded for 'Streaming Library Manager'
- MODIFIED: [GEN] Requirements now includes 'yt_dlp'
- MODIFIED: [GEN] Various updates to documentation
- MODIFIED: [GEN] Various code updates for performance, organization, and logging
v2025.01.04.1653
[MTM/SLM] Stream Links: New & Recent Releases
- FIXED: Bug where a movie or episode was removed from JustWatch, causing an error and a crash in the process.
- MODIFIED: Movies or episodes that are no longer on JustWatch are given an 'original release date' of '9999-12-31'
- MODIFIED: Movies or episodes that do not have an 'original release date' are given one of '1900-01-01'. This speeds up the entire process in subsequent runs so that MTM/SLM does not continue trying to find a value for this field.
NEW: [MTM] Report/Query for 'Not on JustWatch'
A new report/query called 'Not on JustWatch' has been added:
This report requires the usage of the Automation 'Stream Links: New & Recent Releases'.
Here you can see movies and episodes that cannot be found on JustWatch anymore:
It is recommended to manually delete these items. Sometimes, JustWatch has extra episodes or makes a new entry for a movie, creating this orphan situation. Still, you may want to keep these around for any reason. As such, the action decision is up to the end user.
MODIFIED: [MTM] Gracenote Search
Gracenote Search results now include the 'Call Sign' on the last column:
v2025.01.02.1443
NEW: [MTM/SLM] Stream Links: New & Recent Releases
Under 'Tools' and 'Automation' you will find this new function for Stream Link Manager:
As the description highlights, you can now run a process that will only get Stream Links for movies and episodes that have been released within a timeframe set by you. Because it is checking so few items, you could conceivably set this to run up to hourly:
Please note the warning, however, when it comes to the first time this is run:
This tool is intended for users who are looking to get Stream Links in an extremely timely manner. This way, you should be able to get new movies and episodes added to your final product (i.e., Channels DVR) practically as they are updated in JustWatch.
NEW: [MTM] Refresh Channels DVR m3u Playlists
In Channels DVR, when you set up an m3u Playlist as a source, you are given only two options for how often you would like to refresh the stations list:
For some users, this is not often enough. As such, under 'Tools' and 'Automation' you will find this new function:
With this, you can now update all your m3u Playlists in Channels DVR at any hourly interval you want:
Note that this is only for m3u Playlists. HDHR, TVE, and other similar items are not refreshed.
v2024.12.23.1553
MODIFIED: [MTM] 'Automation' replaces 'Settings | Scheduler' and 'Run Processes'
The 'Automation' area in MTM has had a facelift and now contains all of the tasks that were in 'Settings | Scheduler'.
Additionally, its functionality has been combined with what was in 'Run Processes', so now you can schedule and execute from the same place. As such, 'Run Processes' has been completely deprecated.
Of note, MTM will scroll to the section of whatever you selected, give you notifications, and other functions. Most importantly, though, you can now manage all scheduled tasks together to make sure the times are safe for each other.
MODIFIED: [GEN] 'Advanced / Experimental' is now 'Extensions, Advanced, and Experimental'
Along with 'Scheduler' no longer being in the 'Settings' area, the bottom section has also been renamed to reflect its overall functionality.
MODIFIED: [PLM] Can now upload m3u8 files
The upload process has been modified to allow user to add 'm3u8' files.
No additional support or functionality has been added for m3u8. Any activities undertaken with these files are outside the scope of PLM and are not considered intended usage.
Also of note, there was a bug related to deleting files that was corrected. Now users should be able to delete 'gz' files that they were unable to before.
v2024.12.19.0902
Minor Updates
- MODIFIED: [GEN] 'Help & Support' now links to general Streaming Library Manager community page instead of the one for Stream Link/File Manager
- MODIFIED: [GEN] Backup process now has the ability to exclude certain files. Of note, it is set to ignore the 'temp.txt' file that is part of PLM in case the file is not deleted for any reason in order to avoid it taking up excess space.
v2024.12.18.1525
NEW: [MTM] Media Tools Manager
Media Tools Manager is the latest extension for Streaming Library Manager! It includes a set of activities that can be done to help work with certain datasets, controls, processes, and more. This is especially true with functions available within or because of Channels DVR. The initial set of options are available under 'Tools' in the sidebar:
As with any extension, user can disable it at any time in 'Settings':
It also works in tandem with the other extensions. For instance, if you disable the Channels DVR integration, the related MTM areas will also be hidden.
MODIFIED: [MTM] Reports & Queries moved to MTM, has minor redesign
'Reports & Queries' is now a part of Media Tools Manager. There have been a few behind the scenes updates, as well as a bit of a facelift in a few areas. Otherwise, it is about the same:
This formatting change also impacted the 'Files' area:
NEW: [MTM] Gracenote Search
Gracenote Search is a tool to find the correct Gracenote ID for a station, something very useful for getting guide data when using tools like PLM. This builds on top of prior work done by other Channels Community users, providing a cleaner and seamless experience.
Please see the repo for complete directions. Note that this tool requires an active Channels DVR subscription to work.
NEW: [MTM] CSV Explorer
CSV Explorer is a tool to effortlessly look through data provided by web csv files, most notably what is available from the Channels DVR API & Feed Explorer.
Much like Gracenote Search, it requires the user to provide a value of what they would like to explore. In this case, it is a link that is created by the Channels DVR API & Feed Explorer.
Please see the repo for complete directions. Note that this tool requires an active Channels DVR subscription to work.
NEW: [MTM] Automation
Automation allows users to schedule specialized tasks to run various steps to help manage their media or deal with specific issues/use cases.
Currently, the first automation available is:
All current and future automation options will be 'off' by default with a time of whenever they are added. It is up to the user to decide if they want to schedule, run only demand, or not use at all.
MODIFIED: [PLM] Temp File Removal Troubleshooting
Modified 'Reliable Remove' so that it does an additional check for the temp file before it attempts to remove it. Also added to the scheduler a process that will try to remove the temp file again 30 minutes after the last run, just in case. Will continue to monitor to see if this resolves the rare issues of the temp file continuing to get stuck.
v2024.12.12.1355
FIXED: [GEN] Expand/Collapse arrows in sidebar
Expand/Collapse arrows in the sidebar were returning a missing image:
Had to update a reference to Font Awesome
. Once done, they began working again:
NEW: [SLM] Missing posters replacement
Sometimes when searching, a program would be missing a poster and the user would see this:
Now, a placeholder image will be visible as so:
This also resolves another issue. Due to the more detailed logging from the prior release, a missing poster was causing a false error in the logs. These will no longer appear.
MODIFIED: [PLM] Reading source XML Files
Some source XML files may have had special characters in unexpected places. Made a modification to the read that might resolve an issue seen where these characters would load into Channels incorrectly. This requires further monitoring and feedback to confirm.
Other
-
NEW: [GEN] Added a 'MAX_CONTENT_LENGTH' of 25MB to see if it will resolve submission issues on MacOS causing 413 errors. This requires further monitoring and feedback to confirm.
-
MODIFIED: [GEN] Minor cleanup of unneeded or redundant code
v2024.12.09.1620
NEW: [GEN] Check for Upgrades
The program now automatically checks for new versions during startup and you will see a notification in the header area and in the 'Home' area:
Additionally, the program will also check for updates at regular intervals that you can control in the 'Settings' area:
By default, it is set to be 'On', run every 24 hours, and run at the time it was created. You can modify and control all of these settings, however a check will still be run when the program starts up no matter what.
Further, you can run a check at any time in the 'Run Processes' area:
Do note that you will not see anything there, but will see the other indicators as highlighted above.
MODIFIED: [GEN] Revamped 'About' area
The 'About' area now has a direct connection to the Github repo and shows the version history from there, including images and commentary.
Additionally, as shown, there is now a separation for the 'Pre-Release History' details, which starts collapsed.
Given these changes, there will be no need to manually edit the 'About' page again and it will always be up to date with the same info as this repo. This way, it can also be used to check what is new in the upgraded versions, too.
MODIFIED: [GEN] Error catching in logs
A more detailed method for capturing potential errors in the logs has been added. If you are able to trigger an error of some kind, you should see details similar to this:
Please provide everything from the error note onward for troubleshooting!
Other
- FIXED: [GEN] On some OS's in certain conditions, during the backup process, the removal of a directory could fail, causing a crash.
- MODIFIED: [GEN] Minor formatting updates