Use Channels-DVR as a tuner for Emby

I tried this but it becomes laborious if there's a number of sources on the DVR server.
It doesn't parse well if you also have the Pluto/Stirr added in.
What I ended up doing is leveraging guide data available via Emby Premier subscription and matching those up....

Also, making a custom M3U for all this goes a looooonngggg way.

That's how I use channels.... through emby & it works well. No issues with guide data. Cant complaine.

1 Like

Has anyone found a way to filter guide data based on favorites only? I've tried the filter url that I use for the channels and it doesn't seem to function the same way. http://x.x.x.x:8089/devices/ANY/guide/xmltv?filter=favorites

I was having odd stutter piping Channels M3U to Emby for unknown reasons. Using the M3U URL and query parameters in this thread, Emby would just stutter playing live TV on Roku TV, or my 4K Fire TV with wired network adapter.

My Build is a i9 11900K with 128GB Ram writing to Samsung 980 M2 Drive (Tried to a RAM drive also) on a Wired GB Network.

I used the Channels web guide to play a video in browser and inspected the stream in the network inspector in Chrome. I had no issues in Chrome, I assume due to transcoding at the Channels side. I took the URL from the network inspector which was this:

http://192.168.1.14:8089/devices/ANY/channels/6002/hls/stream.m3u8?abr=false&acodec=copy&bitrate=6000&deinterlacer=blend&indexed=true&resolution=720&ssize=1&vcodec=h264

and then modified it to use in Emby like this:

/devices/ANY/channels.m3u?abr=false&acodec=copy&bitrate=8000&deinterlacer=blend&indexed=true&resolution=720&ssize=1&vcodec=h264

My CPU is at 1-3% utilization overall with Channels and FFMPEG sitting at .1% respectively, and my GPU, a NVIDIA Quadro P4000 is at 0% watching live tv on 3 screens in my home. 1 Roku, 1 Fire TV 4K and 1 Fire Stick 4K

I no longer have any stutters/hiccups and everything just works. I am still tweaking and may play with bitrates a bit but the picture quality from TV Everywhere content looks perfect to me.

I use the same setup on an I7 and have absolutely no stuttering in emby .... without any transcoding... that Includes HDhomerun OTA ... HDHR Prime ... TVE and Pluto. Also running Docker for Pluto on same machine. Emby prefers the input from Channels DVR as below....

http://10.0.0.2:8089/devices/ANY/channels.m3u?format=ts
OS

ASUSTeK COMPUTER INC. VC66
Windows Microsoft Windows 10 Pro
*10.0.19044 Build 19044 (kernel: 10.0.19044 Build 19044)*

CPU

8 cores / Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz

*load averages: 0.34 0.27 0.12*

RAM

31.88 GB
*57.0% free*

NET

3 interfaces
*10.0.0.2, 100.78.129.20, 172.30.160.1*

@Edwin_Perez Do you have similar issues with recordings when using this method with TVE streams as described here...

No problems at all.

I found a nifty way to do a couple things with regards to Channels & an external player such as Plex, Jellyfin, Emby, etc.

I wanted a way to separate channel playlist & epg by source. I have multiple TVE sources and the xml output puts all TVE channels in it, regardless of source. I had a lot of duplicate channels that I kind of wanted to keep, but can't seem to get the stack duplicates to work with any external players like it would with the Channels app. So, I decided that eliminating duplicates was fine and went on to this. Perhaps some will find it useful. BTW, I'm running everything on Unraid (6.10rc8).

I set up collections in Channels DVR. One collection per source of my TV channels. (Youtube, Hulu, Philo, etc). I discovered that you could truly limit the xml output if you use these two things:

I fired up a few different xTeVe dockers, each on different ports (34400, 34401, 34402) because it is extremely finicky with how it handles this input. It would constantly try to duplicate things and turn it into a mess if I tried to use just one docker and put a few m3u and xmltv lists in it. So, I used the above URL's as the m3u and xmltv lists for each TVE source, mapped the channels and used different channel number groups for each. So, 1xxx numbered channels in xTeVe docker 1 are for Youtube, 2xxx for Hulu, etc.

Then, Plex will autodetect each xTeVe instance as a tuner and you can use the appropriate xTeVe output URL's for that. It will auto detect all the channels, get the correct numbers and organize them the way that I wanted. They are sorted by channel number (ascending, my preference) and now I can tell my users that 1xxx channels are for YouTube, etc.

I wish that there was a simpler way to do this, but everything I tried ended with massive frustration for what I was trying to achieve. Is there any chance that we could get Channels to completely separate m3u and xmltv outputs based on source, rather than adding in unnecessary data into them? Kind of like what is done with the favorites filter? I tried the collection=xxx on a hunch and got it to work, but it smartly assumes with those collections that I want to remove duplicate channels, when I actually don't. That way, I can try out IPTV services, see what I like (more stable or higher quality version of a particular channel) and be able to add/remove them more easily.

Hope this helps someone that has similar goals.

2 Likes

I have not had the same luck with using "collection" in the URL filtering. Seems like it just gets ignored.

After setting up the ESPN+ with Custom Channels feature, I'm very interested in setting it up as a tuner for Emby. I tried different configs but I cannot seem to setup the address for a collection but neither the m3u or the guide xml seem to recognize it.

I have ESPN+ configured as described in the post, but I guess I don't know enough about the parameters needed in the address to get it working. Does anyone have suggestions? Thanks.

I do a similar thing with Jellyfin, but instead of pointing the Jellyfin server at EPLUSTV, I point it to Channels DVR (the M3U-ESPN device). It works pretty well this way.

Is that only the collection that you point to? If so, that is what I'm trying to do but I'm sure how to change the address to point it that way. I named the source espn+ and the collection espn, so I've tried http://x.x.x.x:8089/devices/ANY/channels.m3u?format=ts&collection=espn, http://x.x.x.x:8089/devices/ESPN+/channels.m3u?format=ts&collection=espn, substituting 8000 for the port in both addresses. Nothing just pulls in the collection, when it does change, it pulls in all my channels. Can you tell me what I'm doing wrong?

Try this:
http://x.x.x.x:8000/devices/M3U-ESPN+/channels.m3u?format=ts
and/or
http://x.x.x.x:8000/devices/M3U-ESPN+/channels.m3u?format=ts&collection=espn

I have never setup a collection and imported that into Emby, But this is how export from CDVR for use in emby. You have to use the exact name used in CDVR.

Thanks, but neither one worked. I get this error message from Emby, "There was an error saving the TV provider. Please ensure it is accessible and try again." I can watch those Espn channels, so they are accessible.

Can you describe the process you are using to add it to Emby? PM if you like.

1 Like

In the Live TV section--> Add TV Source-->Choose M3U Type-->Enter address in File or URL box-->Click Save. That's when error message shows.

If you put the URL into a browser, what happens?

1 Like

404 not found

There is the problem. What is on port 8000? Did you setup CDVR on that port?

I haven't setup ESPN+ in channels so I am not familiar with doing that. Is it done via custom channels? TVE? Docker?