USB, pcie, and m3u tuner support

I would like to request support for using usb tuners and pcie tuners through the server as I have nine tuners and have managed to get them in via proxying the streams from them through a web server that serves a discover and lineup file. From what I see can you add support for pulling the exact url from the lineup json on the server.

The DVR and apps both work with Telly. You can use that for m3u inputs, and also copy what it's doing if you have your own proxy for your usb/pcie tuners.

Here is my setup:
Abyss web server x2 running on the private ip port 5004 and 80,
a discover and lineup json file being served.
Channels Detects the webserver as hdhomerun, but uses the standard urls not the ones in lineup file, as I use an iptv server to get access to those tuners into channels.

We do not use the lineup URLs, so you need to either implement /auto/v on port 5004, or you run on a different port instead of 80 and then add into Channels as <ip>:<port>

It might be easier for you to just use Telly: Channels DVR + Xteve / Telly

For my setup,
it seems that some how the connections are not always kept alive as it gets video for nine seconds and then disconnects the stream, and it would be nice to have support to not use transcoding if the stream is already mpeg4 as my tv server has a transcoded mode, but those urls don't work that well, as it seems it does not wait for the stream to be ready.

The app uses different logic based on if the HDHR is running on port 80 or a different port. If its on port 80, it will assume it is a real HDHR and expect it to behave as such. This means very low timeouts, etc.

If the app connects on a different port, then it knows its not a real HDHR and increases timeouts and uses more lax rules.

If you use Telly it won't transcode, it will just remux using ffmpeg. The Channels app only works with mpegts streams so if your TV server is using HLS that won't work.

Hmm this is good info for me.
I’ve been trying to get xteve to feed to channels and i can get the source loaded, see the guide, but just get a black screen when it tries to play a channel. Would this be the ffmpeg issue you refer to? Is it at all possible to get xteve to work or will i have to venture into figuring out Telly? I run everything on unraid (channels and xteve both in dockers)
Any advice?

I've only tried Telly and I know it works. Telly is open-source, and we've sent them a bunch of fixes so it works better with Channels.

With your knowledge of Telly, should I be able to get it working on unraid?

Sure I don't see why not.

Telly works great with Cast4ME, recording the transcoded streams from the server works, but channels still transcodes the output even though it is mp4 ts when using ffmpeg within the iptv server. Any ideas to make the transcoder in channels check the video track and decide whether it needs transcoding in web player.

The server only transcodes when necessary. What do the logs show?

The web player starts transcoding it, it seems to assume it is mpeg 2 because ATSC is mpeg2 video.

What does the Log tab show?

HDHomeRun supports both mpeg2 and h264. US cable in many places is h264, and most of Europe uses h264 or hevc via the DVB-T2 HDHR which works with Channels.

The DVR tries to detect the video stream to decide whether or not to transcode.

It also depends on the hdhomerun telling it what kind of stream is being sent. For example Telly will set Content-Type header which will tell the DVR it is receiving a h264 stream: https://github.com/tellytv/telly/blob/9eb5e99c7f01614e28be49d4fc1e18a043d91821/routes.go#L219