With Channels DVR Server, you can add your own custom channels from any kind of streaming source.
Create custom channels from your IP Cameras, online webcams, or any other streaming sources that provide MPEG-TS or HLS streams. Import channels from your SAT>IP equipment, TVHeadend, or other software that publish M3U playlists and provide streams.
Utilizing M3U playlists, you can feed Channels your own special streaming channels. You can do this with a URL to an M3U list, or by pasting the raw playlist text directly into Channels DVR Server.
Protip: Join our Community to learn, share, and discuss custom channels.
Full Customization for Channels
We’ve added support for custom tags that let your channels look even better inside the app. By using these tags, you can give your custom channel the right title and guide art to really shine inside Channels.
M3U playlists are limited to 500 channels. We do not support illegal IPTV sources. Custom Channels are for streams you have legal access to.
EPG data is updated every 24 hours by Channels DVR Server along with the rest of your guide data.
Supported Streaming Formats
Channels supports these video formats and streaming protocols.
- MPEG-TS: http, https, rtsp, and satip
- HLS: http and https
Channels accepts the normal M3U format, but there are a few extra tags you can use to ensure things look great in the app.
Supported Metadata Tags
This is the list of standard tags that are supported.
REQUIREDunique ID for the channel
- channel-number: display number for the channel
- tvg-logo: channel logo url (4x3 aspect ratio)
- tvg-name: channel callsign
Note: Be sure not to use a channel number that exists in another source’s lineup. Channels will merge them together and use the prioritized channel.
We’ve created these new tags that allow you to provide more information to create a better experience in Channels. These are all optional.
Use this tag to set the station identifier and it will automatically get guide data.
- tvc-guide-stationid: Gracenote station id
Guide Data Fallback Tags
If your custom channel has no guide data, you can use these tags to create default guide data to look better in Channels.
- tvc-guide-title: guide item title
- tvc-guide-description: guide item description
- tvc-guide-art: guide item art url (4x3 aspect ratio)
Codec Information Tags
These tags help speed up transcoding.
- tvc-stream-vcodec: stream video codec (h264, mpeg2)
- tvc-stream-acodec: stream audio codec (ac3, aac)
Example M3U Playlist
#EXTINF:-1 channel-id="JPCAM" channel-number="750" tvg-logo="https://github.com/fancybits/custom-channels-examples/raw/main/webcams/beach-logo.png" tvg-name="JPCAM" tvc-guide-title="Jennette's Pier" tvc-guide-description="Live beach cam at Jennette's Pier" tvc-guide-art="https://github.com/fancybits/custom-channels-examples/raw/main/webcams/beach-guide.png",JPCAM
#EXTINF:-1 channel-id="PCAM" channel-number="751" tvg-logo="https://github.com/fancybits/custom-channels-examples/raw/main/webcams/platypus-logo.png" tvg-name="PCAM" tvc-guide-title="Platypus Cam" tvc-guide-description="Live platypus cam from the San Diego Zoo." tvc-guide-art="https://github.com/fancybits/custom-channels-examples/raw/main/webcams/platypus-guide.png",PCAM
#EXTINF:-1 channel-id="TCAM" channel-number="752" tvg-logo="https://github.com/fancybits/custom-channels-examples/raw/main/webcams/traffic-logo.png" tvg-name="TCAM" tvc-guide-title="Live shot of traffic on the Bay Bridge." tvc-guide-description="Live shot of Times Square in New York City." tvc-guide-art="https://github.com/fancybits/custom-channels-examples/raw/main/webcams/traffic-guide.png",TCAM
Protip: View more examples on our custom channels examples GitHub repo.
Adding Your Custom Channels
Add your custom channels like you would any other Source.
Add via Text
You can add an M3U playlist by directly copying its text into the field. You can edit the content at any time.
Add via URL
You can add an M3U playlist by its URL. Enter the URL and Channels will import it. This lets you import an M3U playlist from another source or something hosted elsewhere.
Many SAT>IP devices expose an M3U url using the
satip:X_SATIPM3U tag in their XML device description. These URLs vary, but generally look like one of the following:
If your device does not export M3U, you can generate your own M3U using HTTP or RTSP urls. For example, the ASTRA satellite M3Us can be found on satip.info:
VBox TV Gateway
The VBox TV Gateway offers an M3U at the following URL:
For details, see their documentation.
TVHeadend offers an M3U at the following URL:
NextPVR offers an M3U at the following URL:
The AVM FRITZ!Box offers an M3U at the following URLs:
Here’s some tips and tricks for making guide data for your custom channels work better with Channels.
Channels needs to know that a guide item is a movie or not. This isn’t just important for guide presentation. Channels won’t categorize your recording as a movie unless it knows that it is a movie.
In your XMLTV, make sure your movie airing has a category set to
The On Now and Guide sections in Channels allow you to filter your channels based on the currently playing content. This is based on specific genre names. Apply the correct genre names to your guide items to support filtering in Channels.
The following maps what genre names you should use for each filter category.
Guide Item Art
Channels uses placard style art (4:3 aspect) for TV shows and poster style art (2:3 aspect) for movies. Channels expects these sizes and your guide item art may look wrong unless you provide images with the correct aspect.
Group TV Shows
Channels requires a unique identifier in order to group your guide items together as a single TV show. This is most important when it comes to recording these airings. Without a unique ID to identify recordings of airings, Channels can not group them together as a single TV show in your library.
series-id tag to your guide airing to uniquely identify the show.
Uniquely Identify Airings
Channels requires guide airings to have unique identifiers in order to be recorded. Without an identifier, each airing looks the same according to Channels. Without being able to uniquely identify individual airings of a show, Channels will think each airing is the same and will only record it once.
Channels needs a combination of a unique series identifier and a unique episode identifier.
<series-id system="your-source">5beca802adcd16cf34ee6af4</series-id> <episode-num system="your-source">4ea4682101915b834a6afec5</episode-num>
Additionally, you can use this format,
episode-num to set the season and episode number of a guide airing. This will both serve as a unique identifier and also seed Season and Episode number data to Channels.