In Channels DVR, users have the ability to add "Stream Links" and "Stream Files" as local content. These Stream Links/Files appear as normal Movies, TV Shows, and Videos next to recorded and other content. While Stream Files act like regular local media and directly play in the Channels app or admin web page, Stream Links do not. Instead, clicking on one of these launches the appropriate app or web page and plays the content there. In order to do either, the process consists of creating .strmlnk
or .strm
files, putting them in the appropriate location, and running updates in the Channels DVR admin interface to get the content to appear. As can be imagined, the activity around creation and maintenance is incredibly manual and cumbersome.
Enter Stream Link Manager for Channels!
Stream Link Manager for Channels is a background service that sets up a web-based graphical user interface (GUI) for interaction. In the GUI, users can search for any Movie or TV Show and bookmark it. If it cannot be found, manual additions are allowed. Assuming a program is found, for "Stream Links", the software will parse through a user-derived list of Streaming Services (i.e., Disney+, Hulu, Netflix, Hoopla, Kanopy, etc...) in priority order—including setting a preferred service for a particular Movie or Episode as an overarching setting—in order to determine the appropriate link. There is also the ability to input user-derived links, especially when dealing with "Stream Files". After this, the necessary folders and files will be created, along with completing all other administrative tasks. Should a bookmark move from one Streaming Service to another or the user does a manual adjustment, Stream Link Manager for Channels will automatically update everywhere that is required. But this is just the beginning of its capabilities! To learn more, watch the video here:
NOTE: Some of the visuals seen in the videos and in the screen shots above and below may be out of date as updates to format and functionality have been applied to the program.
Image (edited) courtesy of SpaceX, CC0, via Wikimedia Commons.
There are several methods to install Stream Link Manager for Channels and only one should be followed. While Docker is the preferred route for those who have it as it is the most controlled path, if you are not comfortable with Docker or are having issues, you can do a straight self-deployment in Windows or Linux, or use Python in any OS type. For those unfamiliar with Docker, you can easily install Docker Desktop as a stand-alone application. If you are installing Docker in Windows, please set up Windows Subsystem for Linux (WSL) first by following these directions. Channels DVR users who have deployed OliveTin for Channels and/or Project One-Click can use those, as well, to simplify the process. Just follow one of these paths throughout the entire installation, doing the step-by-step actions exactly as described.
You can also follow along in the video here:
- 00:00:00 Introduction
- 00:02:14 Docker Info
- 00:03:19 Portainer Info
- 00:04:53 Installation
- 00:10:16 Installation Verification
- 00:12:36 First Time Launch
- 00:15:02 Settings - Channels URL
- 00:16:43 Settings - Channels Folder
- 00:18:35 Settings - Search Defaults and Streaming Services
- 00:20:50 Manage Streaming Services
- 00:27:07 Settings - Prune
- 00:28:34 Settings - More for Later
- 00:28:51 Streaming Services, Files, Notifications, and Logs
- 00:35:40 Add Program - Search
- 00:43:27 Add Program - Manual
- 00:48:22 Modify Programs
- 00:53:07 Run Process - Overview and Generate Stream Links
- 00:55:35 Stream Link Files
- 00:59:14 Run Process - Import Updates from Channels and Modify Episodes
- 01:02:11 Delete Episodes and Run Process - Get New Episodes
- 01:04:47 Update Media in Channels
- 01:06:08 Settings - Scheduler
- 01:08:56 Final Thoughts
As a general note, it does not matter "where" Stream Link Manager for Channels is installed; it could even be placed in the Channels DVR directory. The only requirements are that it must be on a machine and in a location that has directory access to the Channels DVR directory and be able to see the Channels DVR Administrative webpage.
If you are not using OliveTin/Project One-Click, it is recommended to install via Stack using Portainer (Docker Desktop | Docker Standalone). Otherwise, you can use the single command line method as shown below.
services:
slm:
image: ghcr.io/babsonnexus/stream-link-manager-for-channels:${TAG:-latest}
container_name: slm
ports:
- "${SLM_PORT:-5000}:5000"
volumes:
- slm_files:/app/program_files
- ${CHANNELS_FOLDER}:/app/channels_folder
environment:
- TZ=${TIMEZONE:-UTC}
restart: unless-stopped
volumes:
slm_files:
Environment variables are included, some required, some optional.
-
TAG | OPTIONAL | Which version of the program you want. The default is "latest" if you do not add.
-
SLM_PORT | OPTIONAL | The port you want to access the program from in the web browser. The default is "5000" if you do not add.
-
CHANNELS_FOLDER | REQUIRED | The path to your Channels DVR parent directory (see details in Startup below), i.e.,
/usr/lib/channels-dvr
. You could optionally put in any parent path, so long as the Channels DVR path is accessible somewhere inside. Note that spaces are fine and you do not have to enclose the path in quotes. In Windows, your slashes should go the opposite of the normal way, i.e.,C:/Files/Media/Channels DVR
. In MacOS, be sure to include your/Volumes
first, i.e.,/Volumes/external-hdd/Channels DVR
. Be careful not to put extra characters as your system may then create that directory anyway. In other words, there will be no error as the directory exists, but it is not set to where you want it to be. -
TIMEZONE | OPTIONAL | The timezone you want to use. To know what to input, go here, find your timezone, make sure it is a "Canonical" Type, and use the "TZ identifier". The default is "UTC" if you do not add. Please keep this in mind when using the scheduler function.
Follow the directions above for SLM_PORT in place of [YOUR_PORT_HERE]
(except now it is REQUIRED), CHANNELS_FOLDER in place of [PATH_TO_CHANNELS_FOLDER]
, and TIMEZONE in place of [TIMEZONE]
. Do not leave the [
and ]
when putting in your values.
docker run -d --restart=unless-stopped --name slm -p [YOUR_PORT_HERE]:5000 -v slm_files:/app/program_files -v "[PATH_TO_CHANNELS_FOLDER]":/app/channels_folder -e TZ="[TIMEZONE]" ghcr.io/babsonnexus/stream-link-manager-for-channels:latest
docker run -d --restart=unless-stopped --name slm --network=host -e SLM_PORT=[YOUR_PORT_HERE] -v slm_files:/app/program_files -v "[PATH_TO_CHANNELS_FOLDER]":/app/channels_folder -e TZ="[TIMEZONE]" ghcr.io/babsonnexus/stream-link-manager-for-channels:latest
docker run -d --restart=unless-stopped --name slm -p 7900:5000 -v slm_files:/app/program_files -v "C:/Files/Media/Channels DVR":/app/channels_folder -e TZ="America/New_York" ghcr.io/babsonnexus/stream-link-manager-for-channels:latest
docker run -d --restart=unless-stopped --name slm --network=host -e SLM_PORT=7900 -v slm_files:/app/program_files -v "/somewhere/channels_dvr":/app/channels_folder -e TZ="America/New_York" ghcr.io/babsonnexus/stream-link-manager-for-channels:latest
- Download the slm.bat file and place it in the final destination folder.
- Open a
Command Prompt
, navigate to that directory, and enter the following command:
slm.bat install
If using PowerShell, type in:
.\slm.bat install
- You will be given one last chance to decide if you want to do the installation. Note that an installation will remove any previous instance of Stream Link Manager for Channels at that location. This is unlike the "upgrade" below which will maintain all your files and settings.
- The process will then run normally until complete. You should see something similar to this when done:
- In your folder, you should now have this:
- OPTIONAL: By default, Stream Link Manager for Channels runs on port 5000. You can change this to another port by typing in this command:
slm.bat port
If using PowerShell, type in:
.\slm.bat port
Note that this will also open the port in the Windows firewall as a safety measure. Even if you want the default port of 5000, this is recommended to be run if you want to access the program on another machine.
- You will be prompted to enter a port number of your choice:
During the process, you may receive a popup asking for permission to run. Accept and continue.
- Once complete, you can see this port as an environment variable (where it can be removed, if necessary).
Additionally, in the Windows Firewall rules:
- Follow the directions on the screen of closing the current
Command Prompt
and opening a new one. In the newCommand Prompt
, you can confirm that that the port variable is being read correctly by typing:
echo %SLM_PORT%
If using PowerShell, type in:
$env:SLM_PORT
- You should see something similar to this:
- With all this in place, you are now safe to start the program!
- Download the slm.sh file and place it in the final destination folder.
You can also do so by opening a terminal, navigating to that directory, and entering the following command:
wget -q -O "slm.sh" 'https://raw.githubusercontent.com/babsonnexus/stream-link-manager-for-channels/main/executables/slm.sh'
- Either way, once there, change the security level on the
slm.sh
file:
chmod +x "slm.sh"
- Execute the installation with this command:
./slm.sh install
- You will be given one last chance to decide if you want to do the installation. Note that an installation will remove any previous instance of Stream Link Manager for Channels at that location. This is unlike the "upgrade" below which will maintain all your files and settings.
- The process will then run normally until complete. You should see something similar to this when done:
... a whole lot of lines related to installing requirements and building the executable...
- In your folder, you should now have this:
- OPTIONAL: By default, Stream Link Manager for Channels runs on port 5000. You can change this to another port by typing in this command:
./slm.sh port
Note that this will also open the port in the firewall as a safety measure. Even if you want the default port of 5000, this is recommended to be run if you want to access the program on another machine.
- You will be prompted to enter a port number of your choice:
- Once complete, do the requested command to make the port available in the current session:
source ~/.bashrc
- You can then see this port as an environment variable (where it can be removed, if necessary):
printenv SLM_PORT
- With all this in place, you are now safe to start the program!
Using Python directly is not recommended, however it is available as an option. As this is highly technical, only limited support is provided. It is expected that you are fairly familiar with Python and have pip installed.
-
Download the slm_python.zip file and place it in the final destination folder.
-
Navigate to that directory and extract the contents. Make sure you have not created another subdirectory. When complete, remove the
slm_python.zip
. It should now look something like this:
- Open a command prompt and navigate to the folder that you created. Type in the following command:
pip install -r requirements.txt
- OPTIONAL: It is possible to generate an executable from the Python file directly. The only caveat is that in order to make one that works for that system type (say MacOS) your actions have to be run on that type of system. That means if you want to create an executable for an unsupported system type, you can do so with the following command:
pyinstaller --noconfirm --onedir --console --add-data "requirements.txt;." --add-data "static;static/" --add-data "templates;templates/" "slm.py"
Or...
pyinstaller --noconfirm --onedir --console --add-data "requirements.txt:." --add-data "static:static/" --add-data "templates:templates/" "slm.py"
Or...
pyinstaller --noconfirm --onedir --console --add-data="requirements.txt:." --add-data="static:static/" --add-data="templates:templates/" "slm.py"
- You will end up with some additional folders and files:
- You are free to remove
build
andslm.spec
. dist
contains the entire executable program. You can leave it in its current location, rename it, and/or move it somewhere else.- With that, you no longer need the original content that was unzipped and you can delete it if you want.
- OPTIONAL: You can change the port for Stream Link Manager for Channels by creating a permanent Environment Variable called
SLM_PORT
(case sensitive) and giving it a value of the port you want to use. If you don't, the program will run on port 5000. You may also need to open the port up to bypass firewalls or other such settings.
As with any program, there may be a need to update the code for stability, bug fixes, or general upgades. When a new version becomes available, you can easily upgrade using the directions below. To know when a new version is released, set up a watch on this Github repo.
This way, you'll get an email whenever a new version is released, plus you can see exactly what has changed.
During an upgrade, the program_files
directory is protected.
This is the most important directory as it contains all the settings, bookmarks, logs, backups, and other crucial information. As a best-practice, you may want to make a manual backup of this folder in case anything goes wrong during an upgrade. With this directory, even a fresh install can be restored with your details.
- Repull the Image and rebuild the Container. The
program_files
will be protected, so there should be no concerns about losing your settings and critical files.
If you are using Portainer
, you can use the Recreate
button:
When the option comes up, make sure "Re-pull image" is selected.
It then rebuilds the Image and the Container with all the original command lines. Remember to delete the old, unused Image afterwards.
- In
Command Prompt
, navigate to your Stream Link Manager for Channels directory and type in the following command:
slm.bat upgrade
If using PowerShell, type in:
.\slm.bat upgrade
- You may get a pop-up asking for permissions. Agree and continue until the process completes and you see something like this:
- The most important thing is that
slm.exe
was terminated or not running, allowing the upgrade to take place. After the upgrade, you will need to restart the program manually or with a reboot. See Startup below.
- In a terminal, navigate to your Stream Link Manager for Channels directory and type in the following command:
./slm.sh upgrade
- As the process runs, you should see something like this:
... a whole lot of lines related to installing requirements and building the executable...
- The most important thing is that the
/slm
application was terminated or not running, allowing the upgrade to take place. After the upgrade, you will need to restart the program manually or with a reboot. See Startup below.
-
Make sure Stream Link Manager for Channels is closed and is not running in the background.
-
Copy the
program_files
directory under_internal
to a safe location. -
Completely delete all the files and subfolders.
-
Follow the directions for installation and replace the entire file content that were deleted in the prior step. If you have built an executable, you will have to redo those steps, as well.
-
Move the
program_files
directory you saved earlier back under the_internal
directory. -
Restart the program and everything should work the same as before.
Since Stream Link Manager for Channels is designed to run as a service that you access through a webpage, it should be set up to launch at system startup. There may also be reasons to start manually, like after initial installation or an upgrade.
- There is nothing additional to do as Docker will automatically start up.
- In
Command Prompt
, navigate to your Stream Link Manager for Channels directory and type in the following command:
slm.bat startup
If using PowerShell, type in:
.\slm.bat startup
- You may get a pop-up asking for permissions. Agree and continue until the process completes and you see something like this:
- If you open
Task Scheduler
, you should now see a task called "Stream Link Manager for Channels":
- The next time you reboot, Stream Link Manager for Channels will automatically start. Similarly, you can manually start it by either...
- Running the process directly in
Task Scheduler
- Double clicking on the
slm.bat
file - In
Command Prompt
, typing inslm.bat
- No matter the method, it may look like nothing has happened, but if you start
Task Manager
you will see aslm.exe
running in the background:
- In a terminal, navigate to your Stream Link Manager for Channels directory and type in the following command:
./slm.sh startup
- As the process completes, you will see something like this:
- To check if the task is scheduled to run at startup, enter:
ls /etc/init.d # For Debian/Ubuntu/Mint
ls /etc/systemd/system # For RedHat/CentOS/Fedora/Arch/Manjaro/OpenSUSE
ls /usr/local/etc/rc.d # For Synology
You should see a file named slm_startup.sh
:
- The next time you reboot, Stream Link Manager for Channels will automatically start. Similarly, you can manually start it by entering:
./slm.sh
- It may look like nothing has happened, but if you type in this command:
ps aux
You should see ./slm
running in the background. If you want to only look for that process, type:
ps aux | grep [s]lm
In either case, you should see something similar to this:
You have the option for how you want to handle this. Since Stream Link Manager for Channels is designed to be a background service, just running the program like this...
python slm.py
... or with the executable you generated will result in a window sitting there like this:
If that does not bother you, you should be fine. However, it is recommended to build an automation script that will start the process in the background and make it start upon login/bootup. For instance, if you wanted to do this in MacOS, you would:
- Make a new file called
slm.app
in the directory you created earlier, open it in Script Editor, and enter the following AppleScript code:
do shell script "nohup /usr/local/bin/python3 /[YOUR_SLM_DIRECTORY]/slm.py &> /dev/null &"
Replace [YOUR_SLM_DIRECTORY]
with the path you created earlier and save the file.
- Set the
slm.app
to run at startup:
- Open
System Preferences
>Users & Groups
. - Select your user account and go to the
Login Items
tab. - Click the
+
button and add theslm.app
you created.
- The first time you start Stream Link Manager for Channels, it may take a couple of minutes before it is available. This is due to it running many activities during initial setup that are not repeated. In later startups, it should be just a few seconds depending upon system performance and internet speeds. If you watch the logs or are in an interactive window, you may see something like this:
While the Initialization process attempts to find all the necessary values—even noting when it has to use a substitute value—do not worry if any of the searches faulter. There are various levels of safety checks and automatic timeouts that will move the process along. More so, you can always make adjustments in the Settings
later. To be clear, any "error" or the like shown are not failures and are expected behavior. Everything directly related to Stream Link Manager for Channels is managed from the Settings
area as discussed below.
Also worth highlighting: if you are using Docker, you may still see it says it starts on port 5000. There are no concerns about this as it is being mapped correctly so long as you gave a port value.
- With the startup complete, you can navigate to the webpage:
https://localhost:[YOUR_PORT_HERE]
i.e.,
Default...
https://localhost:5000
Example Mapped...
https://localhost:7900
If you are on a different machine than where Stream Link Manager for Channels is installed, you will need to use the name or IP Address of that machine in place of localhost
and make sure the port is open (as discussed in the installation directions) to be accessed.
- Once at the location, you should see the homepage:
- After this, the program is ready to use!
With the program running, there are a number of activities you should do before getting underway. Also, as a personal preference, if you click on the palette button...
... you can change to "Dark Mode":
Aside from the visuals, everything will function exactly the same.
- Navigate to the
Settings
area. You should see something like this:
- Before doing anything, you must set your country correctly (if it was not found or set incorrectly during initialization). This determines which streaming services are available to you:
Note for instance the difference between a US and GB list:
Click Save
after you have selected your country, preferred language, and default number of programs to come up when you search. Please be advised that only certain country/language combinations are valid. A non-exhaustive list is available here.
- With that done, you can select your streaming services and prioritize them. You can select multiple at a time for any of the actions.
Remember to click Save
when complete.
Be sure to keep this up-to-date as you subscribe, unsubscribe, and change preferences. This list is what determines which Stream Links you will get.
- Stream Link Manager for Channels uses JustWatch as the source for the final generated Stream Links. While a process is undertaken to "clean" the links of any tracking information, some may still be imperfect or have ways to work better with a "mapping". You have the ability to activate and/or create/delete those mappings:
Out-of-the-box, several are included that are all functional as well as informative:
-
Changing
hulu.com/watch
todisneyplus.com/play
allows Hulu content to play within in the Disney+ app. This is off by default, but can be activated by clicking the checkbox and saving. It should be noted that not all Hulu content is available within Disney+. To work around this,Stream Link Overrides
may be used as discussed below. -
All Netflix Movies and Shows come from JustWatch with a link that contains
netflix.com/title
, which goes to the landing page of that content. However, if you changetitle
towatch
, it will play automatically. However, that only works for Movies, hence why that is in the dropdown selectionFor Object Type
. This is on be default. -
While JustWatch does provide Amazon links directly for Movies and Shows, the links that are given do not work in all situations, notably on Apple TV and the web. To get around this, the links can be converted with the string
watch.amazon.com/detail?gti=
being replaced withwww.amazon.com/gp/video/detail/
. This is on by default. -
At the time of this program's launch,
Vudu
had changed its name toFandango at Home
and created a newly named app, but did not fix the app to acceptVudu
links that it was still using. Since deep linking directly is not possible, this mapping says to replace any link that containsvudu.com
in its entirety with a link that will just launch their app generically. This is off by default.
It is not required to set these immediately; they can be added, deleted, or modified at any time.
- Next, make sure the Channels URL is correct.
During Initialization, an attempt was made at determining the correct link. However, that may not have succeeded or the selection may not be the case for you. Modify if necessary and click the Test
button to confirm that Stream Link Manager for Channels can attach to Channels DVR.
You also have the option to let Stream Link Manager for Channels attempt to determine the link again by clicking the Scan
button:
In Docker, you may not be able to see local DNS. If that is the case, you can use this:
http://host.docker.internal:8089
- Similarly, in order for the program to work correctly, it needs to be pointed to your Channels DVR folder. During initialization, an attempt was made to find the folder. If it could not be discovered, the directory you installed the program in was used.
You can navigate up the directory structure or manually type in a path to get where you want.
When you get to where you want, use the Select
button to set that directory.
If you are using Docker, you should literally have a directory named "channels_folder" right underneath /app
.
This is the folder you set during installation and should be what you are using. It will look something like this:
Do note that you must use the parent Channels DVR directory, not the Imports
or anything similar. If you do not set this correctly or do not have access from the machine you installed Stream Link Manager for Channels on, then you will not be able to generate Stream Links that Channels DVR can see, nor be able to get updates from Channels DVR when programs are watched and deleted.
- Under
Advanced / Experimental
, you will find some tools to manage the program and your results.
Run 'Prune' function in Channels
is on by default, which means that the program will initiate a delete in Channels DVR for any missing personal media, not just Stream Links. You may decide that you do not want this to run automatically.
- Finally, there is the
Scheduler
.
In the End-to-End Process
, several steps are taken. These can all be seen and initiated manually in the Run Processes
area.
These tasks are:
- Do a backup
- Update the Streaming Services for any new or removed providers
- Check for new episodes of bookmarked shows
- Import from Channels DVR any Movies and Episodes that have been watched and deleted, marking them as "watched" in Stream Link Manager for Channels
- Find and assign valid Stream Links to bookmarked Movies and Episodes
- In Channels DVR, initiate several steps to make new programs appear, have deleted ones be removed, and update specific files to use revised links
While these can all be done manually, it is recommended to set a schedule to run automatically at some point during the day.
Note that this can take a significant amount of time, depending upon the number of Movies and Episodes that you have bookmarked. Also, the clock shown should match your system and locale settings. After a process is complete, you can see pertinent notifications in the Home
area (newest on top), such as if there are changes to Streaming Services or new episodes were added.
If you are looking for additional detail as to what transpired, the Logs
area contains more information.
Unlike the notifications and live process trackers, the log is in order of action.
- With this all in place, you can now navigate to
Add Programs
.
Here, you can search for a program you want to bookmark.
The default order is by best-match / popularity, but you can also choose to have the results re-display in alphabetical order and/or filter only for Movies or Shows.
Another option for searching is to see what has been New & Updated
on the Streaming Services you selected in the Settings
above. This will give you a list of Movies and Shows that have been added or updated on those services.
The list is limited to a single day and 100 entries, displayed alphabetically. Clicking Today
will give you that list for this day. On the other hand, you can select any date and click New & Updated
to get the Movies and Shows from that day.
No matter the search method, clicking on a Movie will get you something like this:
Notice that the Search
and other line buttons are no longer available. You must finish this process by selecting Done
or Generate Stream Links
. If you do not generate Stream Links at the time of creation, they will be created (if valid) during the next run of the process as detailed above. Although it is not necessary, if you review the logs, you can generally see a successfully generated Stream Link appear as so:
10 Buildings That Changed America (2013) assigned Stream Link: https://www.kanopy.com/product/10-buildings-changed-america
On the other hand, if a Stream Link could not be generated, a reason will be given:
12 Angry Men (1957) assigned Stream Link: None due to 'Watched' status
Amélie (2001) assigned Stream Link: None due to not found on your selected streaming services
In order for a Stream Link to be generated, the Movie or Episode must first have an Unwatched
status, and then be available on one of the Streaming Services that were selected during Settings
. The Watched / Unwatched
status applies even if you put in a link of your own to override whatever may or may not be generated. This completely optional feature is not required, so leave it blank if you do not want to put anything there.
Once an add has been complete, you can search again. If we select a Show this time, it will have slightly different options:
Per episode, season, or for the entire show (or a Movie if bookmarking that), you can uncheck to mark it as Watched
. It is important to note that in Stream Link Manager for Channels, the term Watched
does not mean that you have ever seen the Episode or Movie. Marking something as Watched
means that you are finished with it and do not want to generate a Stream Link/File for it. It is the equivalent of deleting an Episode or Movie from within Channels DVR. As discussed above, during the Import Updates from Channels
process, this program checks to see if a generated Stream Link/File file has been deleted. If it has been, it will be marked as Watched
and will no longer generate a Stream Link/File in the future. This is why it is equally important for users to not modify or delete the files that are generated by this program. Doing so could make Movies and Shows become erroneously marked as Watched
. Only this program should modify anything in the created slm
directories.
Aside from these considerations, per episode, you have the same Stream Link Override
option as a Movie, as well as the ability to put a prefix on the generated file. For instance, by default, a file name will be S01E01.strmlnk
. However, as an example, you may want to designate that this is a subtitled episode and that dubbed episodes might become available in the future. For this, a prefix of (SUB)
will result in a file name of (SUB) S01E01.strmlnk
. More so, there is a selection called Special Action
that can also be propagated down to the individual episodes from the entire show or per season perspective:
In most cases, users will leave this as None
, but there are situations when it will necessary to take advantage of these functions. For instance, if your Movie or Show is available on multiple Streaming Services but you prefer it to be on one with a lower priority, you can make that assignment. Another situation might be that you have a link to the media directly and, thus, would want to create a "Stream File" instead of "Stream Link". In this case, you would select Make STRM
.
Sometimes when searching, you might not be able to find the Movie or Show you are looking for. While uncommon (see Troubleshooting / FAQ
), it may happen, especially for rare or foreign content. In these cases, you can always create a manual bookmark.
While Movies are relatively the same as with a search, Shows provide a different setup when clicking Add Manual
:
Note that you will only be allowed to continue once you've correctly put in the number of seasons and episodes per season.
Here you will see the episodes created as designed by the user. It should be highlighted that manual entries require a Stream Link Override
to be entered, otherwise they will not generate a Stream Link file.
- Even if a Movie or Show is added through search or manual selection, that does not mean they are set in stone. You can use the
Modify Programs
area to make any update as desired.
For instance, here is a Show that was created using search, but the search will only link to the subtitled episodes. In order to get dubbed episodes, a number of inputs are needed:
While you can delete an episode, if it is a searched bookmark and not a manual one, the episode will just get re-added as "unwatched". Aside from deleting episodes, there is also the ability to add additional episodes:
This is also a good area just to check on the status of Movies and Shows.
Note that the Current Stream Link
field will always be greyed out and unable to be modified. If it is blank, this is an indication that no Stream Link was generated. If you want to change the Stream Link, give it one when none was generated, or input something for a Stream File, that is what the Stream Link Override
field is for. After regenerating Stream Links/Files through any method discussed thus far or below, you should see something like this:
The Current Stream Link
field having the skipped_for_override
or strm_must_use_override
value lets you know a Stream Link/File file was creating using the Stream Link Override
value that was input.
Movies are fairly similar to Shows in the options, including updating the Title
and Release Year
itself if the data is incorrect or not how you want it.
- In order to streamline some questions you may have about your bookmarked Movies and Shows, certain reports and queries have been made available in the same named area:
To navigate the data, there are several functions such as number of results per page...
... number of entries being show out of how many...
... page navigation between those entries...
... and the ability to filter both by a general search...
... and on individual columns:
- Aside from these functions, there is not much else a user needs to do. There is the
Files
area for viewing the backend data that fuels all of the above, as well as exporting those files for backup and migration purposes.
You can also completely replace those files, though it is not recommended to do so unless you are specifically directed.
Lastly, there is the About
area to see the latest version information, credits, and other information.
First, make sure you have selected the correct country code and saved. If that is already done, please make a request for the missing service by filling out this form. Note that JustWatch is responsible for the availability of Streaming Services and Stream Link Manager for Channels is just a downstream consumer.
What is the difference between Streaming Services with similar names (i.e., Apple TV vs. Apple TV Plus or Amazon Video vs. Amazon Prime Video)? Should I select both, or is it redundant?
JustWatch is responsible for the list of Streaming Services and their definitions, as such there is no specific guidance from the perspective of this program. However, it is most likely a question of content. For instance, "Apple TV" is Apple's generic name for all streaming content available for purchase and/or rent, just as "Amazon Video" is for Amazon. Each have exclusive content available for paying subscribers, hence "Apple TV Plus" and "Amazon Prime Video". Notably, in these highlighted examples, if you make your settings to have either the basic tier or the subscription tier as the top priority, the Stream Links that are generated will be exactly the same, therefore they will launch the same apps on your device. Due to this, if you have access to the subscription tier, then it may be redundant to have both. Nevertheless, that might not be the case for these or other services with multiple tiers and/or separate apps.
For example, say your Streaming Services were this:
Then, if you add About Schmidt
, it will end up with an Amazon link:
But if you do this:
You will end up with Apple links:
Yet, if you do this:
You end up with no Stream Link:
It is all a function of what services you have selected and the data on JustWatch. As such, it is up to you to manage your services and find the best combination that works for your particular use case.
While new Streaming Services are brought online and shut down on a regular basis, they also sometimes just change names. Any name change will result in the "old name" being removed and the "new name" being added. If this happens to you, all you need to do is return to the Setttings
area, add the "new name", and prioritize it. The next time you generate your Stream Links, any missing Movies and Shows that were removed will be recreated. Remember, there is a difference between "bookmarking" a Movie or Show and having Stream Links for it.
JustWatch is the provider for all of the information. If there are any issues, please let them know by filling out this form or emailing them at feedback@justwatch.com. It is unlikely that they will make an update in a timely manner as they are also dependent upon upstream data, so please take advantage of the manual and override capabilities built into the program, or using mapping if possible.
Stream Link Manager for Channels is completely dependent upon Movie and Show data from the JustWatch website, which in turn is a consumer of other upstream data. There may be a gap in any of those steps along the way, especially for non-domestic content and independent studios. Sometimes, though, you may even be able to see the content on JustWatch but are unable to find it in this program. There appears to be a small gap of time (usually one or two days) for some content to be completely discoverable by the tools that this program uses.
I'm able to bookmark a Movie or Show and I know it's on a streaming service I've selected, but a Stream Link still won't generate
Go to the JustWatch website and search for it on there. A Movie or Show might be available, but still be missing links to the appropriate streaming service. If it is brand new, it might also take a day or two until they update their data, which is what Stream Link Manager for Channels uses. Should the links be missing on JustWatch, submit a request by filling out this form or sending an e-mail to feedback@justwatch.com. If you can confirm JustWatch has a working link on there and it still won't show up in this program, please submit an issue request with as much detail as possible. There may be an edge case for how that particular Movie or Show is stored on JustWatch that this software has not accounted for.
Generating the Stream Link(s) is not enough; you need to update personal media from within Channels so that it appears inside that interface. There are several ways to deal with this. First and foremost, within this software, under Run Processes
, is a button that will do all the necessary steps:
However, it is worth noting that there is a setting in Channels for how often it scans for personal media:
As such, you could just wait for that to run if you have it set for a particular interval.
A Stream Link generated and the Movie or Show is available in Channels, but when I click to launch it, I get an error. It works in the web, though. | The Stream Link works on one platform like iPad OS but does not work in another like tvOS.
There are two main potential situations. The most likely one is that the Streaming Service's app itself is written incorrectly and cannot accept "deep links". Without this, nothing can be done. You can request the app developers to update their program. In a similar vein, they may have programmed it to accept "deep links", but only in a certain way. If there is a systematic method to do a replacement in the generated link, then it could be added to Stream Link Manager for Channels in the Stream Link Mappings
setting. For instance, JustWatch provides a link for Amazon content like watch.amazon.com/detail?gti=
and, by default, this program replaces it with www.amazon.com/gp/video/detail/
. If this is the case, please add a new mapping. Further, do let the community know about your mapping and, if it is useful for many people, it will be added to the default list that comes with a new installation.
There is also the possibility that the link cleaning and replacement process that this program is doing is overzealous. Please also put in a request for those situations and examples of working Stream Links.
Why do some things play the correct movie/episode automatically and why do others go to a generic landing page for that movie/show?
There are two components that relate to this. First is the quality of the links provided by JustWatch. For instance, with Disney+, JustWatch only has links to generic landing pages and does not have individual episode information like it has for Hulu. There is nothing that can be done aside from requesting that JustWatch updates their data.
The second situation is that even though JustWatch provides links to more generic areas, there may be systematic ways to correct them. As an example, JustWatch provides a link to a movie on Netflix that looks like this: http://www.netflix.com/title/81078554
. However, if you replace title
with watch
, it will play automatically. This being a “systematic way” to do a replace, it was included in the Stream Link Mappings
settings as highlighted above. If you have more examples that could be accomplished this way, please let the community know. If they are deemed benefitial for other users, they will be added to the default list that comes with a new installation.
I set the scheduler for a certain time and it is running hours earlier/later. | The time showing in the logs is wrong.
Follow the directions related to "TIMEZONE" in the installation steps above.
This block is just an indicator to let you know nothing is stuck and that things are still running in the background. For actions that last less than a couple of seconds, not enough time will pass to begin to fill it in. For anything longer, you will see information fill up to the top, but it will all clear out when the process finishes running. However, there are some issues with certain browsers like Safari where it seems incapable of displaying what is happening. Rest assured that although the background process is running as expected, you can always verify in the logs if desired.
Please ask at the Channels DVR Community Message Board.
Image (edited) courtesy of SpaceX, CC0, via Wikimedia Commons.
This project and its upkeep is the work of one person. While it is provided free of charge with no expectations of payment, tips are greatly appreciated!