Playlists


  • M3U Plus support
  • HDHomeRun integration
  • Merge M3U files
  • Channel ID support (CUID)
  • Filtering playlists
  • Automatic updates of playlists

XEPG (XMLTV)


  • Merge XMLTV files
  • Channel mapping
  • Edit channel positions
  • Change the channel logo
  • Add EPG categories
  • Automatic XMLTV update
  • HTTP export of an optimized M3U / XMLTV file

Requirements


Plex:

  • Plex Media Server (1.11.1.4730 or newer)
  • Plex Client with DVR support
  • Plex Pass

Emby:

  • Emby Server (3.5.3.0 or newer)
  • Emby Client with Live-TV support
  • Emby Premiere

Documentation - Command Line Interface

CLI - All arguments can also be combined

Change web server port:

xteve -port="8080"

Output:

[xTeVe] Download:         http://example.com/file.m3u
[xTeVe] M3U File:         /tmp/xteve/file.m3u
[xTeVe] Filter:       
[xTeVe] XMLTV File:
[xTeVe] Streams:          92
[xTeVe] Update schedule:  0000
[xTeVe] DVR IP:           10.12.1.5:8080
[xTeVe] Web Interface:    http://10.12.1.5:8080/web

Change the location of the configuration files:

xteve -config="/path/to/config/folder/"

Output:

[xTeVe] Version:          1.3.0
[xTeVe] System folder:    /path/to/config/folder/
[xTeVe] Temporary folder: /var/folders/cj/13qqs8rj2zzfclggsb6_13km0000gn/T/xteve/
...
[xTeVe] Web Interface:    http://10.12.1.5:34400/web


API

xTeVe API Version 1.1.0

The API interface must be activated in the xTeVe settings.
API URL: ht​tp://xteve.ip:port/api/
Method: POST

All API requests are made via a JSON string in the body.

Login (Only with active user authentication, the user must have the authorization [api]):

Request (with authentication):
Method: POST

{
  "cmd": "login",
  "username": "username",
  "password": "password"
}

Response:
{
  "status": true,
  "token": "tYKJs7WPP3gDOyM_Ggh3El4ZB5tEcGk78oAxrdjw",
}

token: This is in one time token, this is valid only once and only for 60 minutes. For each API request, the token must be specified and a new token is returned.

xTeVe Status:

Request (with authentication):
Method: POST
{
  "cmd": "status",
  "token": "tYKJs7WPP3gDOyM_Ggh3El4ZB5tEcGk78oAxrdjw"
}

Response:
{
  "epg.source": "XEPG",
  "status": true,
  "streams.active": 31,
  "streams.all": 67,
  "streams.xepg": 27,
  "token": "IRRJDevtK4s7ec4-3gLw7uswtCVqC9DWngH4Jxzv",
  "url.dvr": "10.0.0.5:34400",
  "url.m3u": "http://10.0.0.5:34400/m3u/xteve.m3u",
  "url.xepg": "http://10.0.0.5:34400/xmltv/xteve.xml",
  "version.api": "1.1.0",
  "version.xteve": "1.3.0"
}

token: This is a new one-time token

If user authentication is disabled, the token does not need to be specified.

Update all M3U playlists and apply the filter:

Request (without authentication):
Method: POST
{
  "cmd": "update.m3u"
}

Response:
{
  "status": true
}

Update all HDHomeRun playlists and apply the filter:

Request (without authentication):
Method: POST
{
  "cmd": "update.hdhr"
}

Response:
{
  "status": true
}

Update all XMLTV files:

Request (without authentication):
Method: POST
{
  "cmd": "update.xmltv"
}

Response:
{
  "status": true
}

Update XEPG (mapping, xteve.xml, xteve.m3u):

Request (without authentication):
Method: POST
{
  "cmd": "update.xepg"
}

Response:
{
  "status": true
}

Error Response:

{
  "err": "Invalid API command",
  "status": false
}

err: Description of the error

API Changelog

1.1.0

  • Update of the HDHomeRun playlist