Channels App Remote Plus

I pushed another update with UI improvements mainly to the mobile side. I will be working on search and sorting features next.

Finished up on more UI improvements, added search and sort options for Movies and Shows and fixed a few errors. Latest push should be the last big one unless I find more issues.

If anyone can provide me with the JSON response from channels-server-ip/dvr/clients/info with a fire tv device and a fire tablet device, I can finish up my filtering. Other than that, I think it is completed.

I added filtering for Fire Tablets. I think Channels DVR client API provides "Fire Tablets" as the platform string to identify Amazon Fire OS tablets. I added that to the filtering. If there are any issues with it, I can change it. Thanks.

I've been working with some dialogue enhancement filters for movies with ffmpeg. These are designed to improve clarity of speech and reduce some background noise. My idea is to allow users to select a movie from the Channels DVR server and select an enhancement level and then play that movie to a custom channel the user would create in the DVR admin. This channel would only play the movie selected with enhanced audio. Is this a feature that you would find useful or just a waste of time to add this to the remote plus?

While that sounds super cool, and I certainly wouldn't discourage you if it's an interesting project for you to work on, that others may also enjoy, personally speaking, it wouldn't appeal to me, because tvOS already has that sort of functionality built in, that works really well, and I wouldn't want to interfere with it: Enhance Dialog and add Voice Isolation

But perhaps this would be of interest to those using other platforms?

Personally speaking I'd rather see work on video enhancements that would appeal to lots of folks too. For example I've been tinkering with Multi4Channels and Multchannel View that also use ffmpeg and getting a real kick out of the possibilities. I was thinking that if Channels App Remote Plus could play into any of that, integrate with either or both, it would also be amazing! I'm imagining ultimately using one master dashboard to remote control it all, choosing which channels to play, on-the-fly, and in which position they should appear in the configurable grid, which audio track is playing, etc. along with all of the other direct control that Channels App Remote Plus provides.

Any enhancements you decide to add will be appreciated, happy to troubleshoot anything and give feedback on other ideas. I really appreciate Channels App Remote Plus as well was Channels App Remote Control and use them both, nearly every day now. Thank you!

I'm working on adding this project to Project One-Click, and I'm trying to figure out where you're coming up with these informal DVR names. Are these just made up, or can they be pulled from the API?

CHANNELS_DVR_SERVERS=Home DVR:192.168.86.64,Office DVR:192.168.1.100
1 Like

Container Environment Variable https://github.com/nuken/channels-app-remote-plus?tab=readme-ov-file#2-run-the-container

2. Run the Container

Set the CHANNELS_DVR_SERVERS environment variable with a comma-separated list of Name:IP pairs. No spaces around commas or colons.

Example:

docker run -d --restart unless-stopped
-p 5020:5000
-e "CHANNELS_DVR_SERVERS=Home DVR:192.168.86.64,Office DVR:192.168.1.100"
--name channels-remote
rcvaughn2/channels-remote-plus

Replace 5020 with any preferred host port, and update IPs per your local setup.

Not sure how that would work if all your servers are at the same IP address and just use different ports.

I was just contemplating that myself...

Also, you linked me to the repository, which I always use when developing One-Click deployments. Forgive me if I'm missing something, but my question is where are the informal DVR names coming from -- I don't recall seeing a DVR "name" anywhere in the CDVR WebUI. I'm guessing they're just made up on-the-fly, but I'm trying to confirm that...

@chDVRuser I take it the question mark means I'm either missing something obvious or you are -- so let me try another approach to this question:

Are you aware of informal DVR names like "Living Room DVR" or "Office DVR" being supported in Channels DVR?

Similar to the informal names used for clients?:

I'm not running Channels App Remote Plus.
I just looked at his docker run statement which states that you define the name:IP pairs in the environment variable CHANNELS_DVR_SERVERS

I know his code queries those servers to get a list of Channels clients.
That's all I know.
My guess is he's not using the dvr name for anything in his code, so not sure why it's there.

It is just a name you would put in to identify which server is which. I never thought about using different ports for servers. I assumed Channels would not work on a different port.

OK. As always, I'm just trying to make things work with existing OliveTin data, which contains either hostname:port or ip:port for each CDVR server. And yes, there are multiple users that run CDVR on ports other than 8089.

Is the informal name required, or can someone simply use a comma separated list of hostnames or IPs?

I was going to change it up to use ip:port and do away with the name. I will have the change made this evening and push the image. Thanks.

1 Like

Great thanks!

Just to clarify, we're talking ip:port or hostname:port correct? Users like me that use Tailscale with MagicDNS will typically use hostname (which makes it easier to identify the DVR too).

This allows for something like media-server8:8089 to resolve either via one's Tailnet or on the local LAN -- on a well configured network.

You probably don't need to do anything special for this support, just be sure you're not validating against an IP-only format.

1 Like

I'm pretty sure Python requests library attempt to resolve the hostname. If not, I'll add a function to resolve it.

The MagicDNS hostname works with the current app. I'll make sure it does with the updates before I push it.

Ok. It's updated for IP:port now. Anyone that previously ran the image will need to remove it and do a new install using the IP:port Docker run command. If you can access the Channels DVR Server with a hostname, it should work instead of the IP also.

Also, I fixed the TV Show sorting for Date Added, which was not working before.

Looks pretty good! Multiple DVRs populating in the interface, and I'm able to ping DVRs by hostname with both Tailscale and local resolution.

What's the expected behavior with listed clients? My list remains static even when I change DVRs. Shouldn't the list update to reflect the clients known to that DVR?

It should. I only run the one server so I had no real way for testing. I will work on a fix and push it for testing in a few. Thanks.

New bnhf/olivetin:latest (aka bnhf/olivatin:2025.07.10) pushed with Project One-Click support for this project. TAG and HOST_PORT are the only variables required, as your OliveTin defined DVRs will populate the list of DVRs:

screenshot-htpc6-2025_07_10-16_20_06

As with all Project One-Click supported installations, the project can be removed quickly and easily too:

It's exceedingly easy to install something, try it out, and keep it or remove it -- all in short order.

Update pushed. If possible, test the changes to make sure they work as expected. Thanks.

1 Like