Channels M3U Export: Documentation

@tmm1

Can you provide a list of parameters that are available when downloading the M3U playlist? I have read through various threads trying to document all the variables but wanted to have a complete list if possible. So far this is what I have...

M3U: Playlist can be downloaded at "/devices/ANY/channels.m3u".

Example: http://ip:8089/devices/ANY/channels.m3u?session=xxxx&bitrate=2000&filter=hd

In this example are the following parameters:

ANY: Leave as is for all sources or replace with the device or TVE name. For a single source this can be found by opening the channel lineup of that source and copying the text in parentheses...

Session: Enter the session cookie found when visiting my.channelsdvr.net to make the M3U work outside of your local network.

Bitrate: Define the bitrate/quality (in Kb) you want the M3U playlist to provide. To default to "remux" use codec=copy instead. If the bitrate is not set it will default to setting found in the webui. The above example would result in transcoded 2Mb streams

Filter: The M3U playlist will only include channels with a specified filter. In the example above it would be HD only

Format: Define the M3U streaming format. By default it will be HLS. Use format=ts to change to MPEG-TS.

So far this is all that I have found. It seems best to use MPEG-TS when streaming locally (LAN) whereas HLS is required along with the session cookie when streaming remotely. If there are any other variables available or if I have made any mistakes in the documentation please let me know.

10 Likes

@tmm1 are session cookies no longer used?

Nothing has changed wrt sessions

Can you help me out in accessing the session cookie? Something must have changed with chrome because it no longer shows up in the cookies menu when using the webui.

2 Likes

I'm missing the session cookies as well now.

Can someone explain the necessity for having Channels' authentication/session cookies exposed via an API (or similar mechanism, as seems to be this request)? Is this for using Channels' exported playlists outside the LAN and Channels' native apps? As in, sharing your local Channels content outside your network with other users?

And if I am incorrect, what is the use case?

1 Like

Personally, my local cable company is doing away with all cable RF (I assume to free up bandwidth for cable internet). I also have cable at another location and wanted to experiment with sending my local OTA to a remote DVR and combine the channels. That requires sending it as HLS to the remote DVR server.

1 Like

Access to the Channels created m3u files via m3u4u for modification and use.

And I did find the token, it is only added/used for true remote access. My router does hairpin NAT so I was accessing the admin page locally even though I was using the my.channels URL. Flipped on a VPN connection and then accessed the URL and the cookie was there again.

2 Likes

Thanks, that solved my issue.

is there any doc anywhere that defines the m3u/xml export options?

4 Likes

Official docs for exporting to M3U have been added:

1 Like

@maddox best thing yall have done all month! love it!

2 Likes

When I try this it points to the 8089 port and does not show the actual
#EXTM3U
#EXTINF:-1 .....etc
playlist which could then be used on a different machine without pointing back to the original system
what am I missing?
http://localhost:8089/devices/M3U-xxxx/channels.m3u?format=ts&codec=copy

Not clear to me in your post, but are your source (CDVR) and client (whatever app you are trying to use) on the same machine? if not, then you need to use the actual ip address and not localhost.

EDIT....you do mention different machine, but not sure of your configuration. As an example, I use CDVR to access the M3U for Threadfin on the same machine, so can use localhost. But when trying to use something that pulls from Threadfin on another machine, I have to use the actual IP address.

What I mean is it looks like I have to be on the same home wifi network to use this,
which I have used in TiViMate and it works great.
You can' just give that address to a friend.

Others will know better than I on that. I know that you can share over Tailscale. When trying to access over open internet I think there is an authorization step required that prevents it from just being made available to anyone.

You could look into threadfin, that I believe allows you to share without any authentication requirements. But then of course if someone finds your m3u, you could find your ISP wondering why you have so much traffic.

Channels DVR is meant to be used within your family and not shared with friends. There must be some verbiage somewhere in the terms of service to this effect.

I think he meant to type "can't"

(the apostophe is there, just not the t)

2 Likes

Ah, good catch. My eyes/brain missed the apostrophe. :grimacing: