Usage ‐ SLM ‐ Bookmarked Programs ‐ Special Actions ‐ SLM Streams - babsonnexus/stream-link-manager-for-channels GitHub Wiki
WARNING: Currently, this is only working in Android/Google TV Channels DVR Clients and other third-party tools like VLC. There is a bug in the Channels DVR Apple TV client that must be resolved by the Devs there.
Click the video to watch at https://www.youtube.com/watch?v=6_pZkAb6Pfs
Among some video hosting sites, SLM has the ability to turn their programs into content that can be consumed natively by different applications, notably the Channels DVR client internal player.
Example of a YouTube video in the Channels DVR client for Android TV
Example of a Twitch Video in the Channels DVR client for Android TV
This is known as an "SLM Stream" and in Special Action
, you can select Make SLM Stream
in order to take advantage of this feature.
All that is necessary is to put a link to the program in the Stream Link/File Override
field and make this selection.
This works with a variety providers including YouTube, Twitch, Daily Motion, and more! A theoretical list of possible services is available here, however your mileage may vary. Streaming Library Manager provides no guarantee that any specific one will work. At this time, this solution is only available for providers who have freely and openly available content that is accessible through a webpage, not PVOD (i.e., Netflix, Disney+, Hulu, Max, Paramount+, Amazon Prime, etc...). More so, the content cannot have DRM protections enabled. That said, there may be specialized ways to get a specific service working with additional settings, so if you have a use case and believe a method can be found to make it work, please submit an Issue request. Some examples (and certainly not limited to) are:
- YouTube:
https://www.youtube.com/watch?v=Ke6XX8FHOHM
- Twitch:
https://www.twitch.tv/videos/2403823983
- Daily Motion:
https://www.dailymotion.com/video/x6rjc8u
You can also test these ahead of time by using PLM Streaming Stations and selecting the Live Streams (HLS)
option.
In order for SLM Streams to function correctly, it's important to understand how it works. What this does is create a Stream File (STRM) and point that file back at SLM. This is unlike Streaming Stations which calls the activity on the server, thus allowing it to be directed to locations like localhost
. When dealing with a Stream File, though, the client looks to consume it directly. That means that the address it is pointed to must be one that the client itself can understand. In other words, if you had the link pointed to localhost
, the client would try to resolve to itself. As such, in Manage Providers
, you must set a valid SLM Stream Address
.
When you first installed/upgraded an attempt was made to determine your host machine's IP address and port used, but may not have found it correctly. For instance, if you see something like http://172.24.0.2:5000
, that is most likely looking within a Docker container and needs to be modified. It is up to you to set this to the right value that will work with the client. The clients cannot read local machine names or internal Docker addresses, but have no issue going to specific IP addresses. One way to test this is to try to access Streaming Library Manager using the host server's IP address from another device on network (i.e., another computer, a tablet, your phone). Should you be successful, that is what the client will need as well. With that, though, this would only work when streaming at home. If you want to stream while away from home, you would need to have some type of Tailscale, VPN, or open to the internet situation where your copy of Streaming Library Manager was exposed to an address you could access while not on your home network. Again, this is totally up to you to manage and get an acceptable value.
NOTE 1: Like all Stream Files, these only work on the Channels Clients and not in the web interface. However, you can use the 'VLC links' option, and it will work in there. If you are receiving error messages in VLC, please see this solution. You will need to add the line for the http protocol.
NOTE 2: If you are looking to get all metadata information from the videos like their descriptions, or do something like sync YouTube playlists/subscriptions, a different solution will be made available in the future.