/m3u-channels-manager

Manage m3u TV channels list and EPG

Primary LanguageJavaScript

Manage M3U TV Channels list and XMLTV EPG

This module is for Italian M3U channels list only

Questo modulo divide una lista di canali televisi m3u suddividendola per group-title.

  • Fornisce un url univoco per singolo canale
  • Fornisce un url univoco per ogni gruppo di canali
  • Consente di cercare un canale all'interno della lista
  • Permette di costruire url dinamici suddivisi per 1 o più gruppi di canali
  • Recupera le informazioni EPG per ogni canale
  • Salva il file EPG in cache
  • Permette la scrittura del file XMLTV su file .sock (utile per TvHeadEnd Server)
  • Fornisce il time-shift dinamico dei programmi elencati nel file XMLTV (es. Rai1, Rai1 +1 ...)

Installazione

Prima di tutto installate node (consigliata vers 10.x)

mkdir tv-channels
cd tv-channels
npm install tv-channels-manager-ita
tv-channels-manager-ita [args...]

File di Configurazione

Nella stessa cartella in cui viene eseguito il comando, verrà creato un file di configurazione. Modificatelo in base alle vostre esigenze

{
  "Log": "./manager.log",  // log file
  "LocalIp": "192.168.0.2", // indirizzo ip interno del dispositivo
  "M3U": {
    "Url": "http://path/to/list.m3u",  // url della lista m3u
    "ExcludeGroups": ["-unknown-"] // lista dei gruppi da escludere dalla lista
  },
  "Port": 3000,   // Porta su cui far partire il server locale HTTP
  "Path": "./cache", // cartella usata per i file di cache
  "EPG": {
    "bulk": 3   // numero di request parallele per recuperare i dati dell'EPG
    "Sock": '' // file .sock su cui scrivere il file XMLTV
  }
}

Command line

Ogni comando ha 2 output secondo il formato richiesto: json , m3u oppure xml

$0 [--m3u|--epg] --format json|m3u|xml

Modulo M3U

Attivazione del module M3U

Attivazione del modulo M3U

$0 --m3u
Aggiornamento della lista in cache

Aggiornamento della lista canali in cache

$0 --m3u --refresh
Gruppi

Mostrare tutti i gruppi disponibili

$0 --m3u --list-groups
Lista canali

Mostra tutti i canali della lista

$0 --m3u --list
Lista canali per gruppi

Mostra tutti i canali filtrati per gruppi (indicare l'ID del gruppo)

$0 --m3u --groups DIGITALE --groups SATELLITE
Lista canali per singolo gruppo

Mostra tutti i canali di un singolo gruppo

$0 --m3u --group DIGITALE
Stream-Url per canale

Mostra il link di streaming del canale (indicare l'ID del canale desiderato)

$0 --m3u --stream-url Rai__1__Full__HD

Modulo EPG

Ogni comando necessita di un format di output. Default json.

$0 --epg [comando...] --format [xml|json]
Attivazione del module EPG

Attivazione del modulo EPG

$0 --epg
Aggiornamento del file XMLTV in cache

Aggiornamento del file XMLTV in cache

$0 --epg --update

Questo comando supporta le seguenti options:

  • today YYYYMMDD (default: data odierna)
  • days 2
  • shift 1 2 24
  • yest
  • full (indica se scaricare i dettagli di ogni programma. Default: false)

Tutti questi flag possono essere combinati tra loro

# recupera l'EPG del giorno 10 maggio 2019
$0 --epg --update --today 20190510 --format xml

# recupera le informazioni di "domani" e "dopo domani" con il flag `days` (max: 3)
$0 --epg --update --days 2 --format xml

# recupera le informazioni di "oggi" e "ieri"
$0 --epg --update --yest --format xml

# costruisce l'EPG shiftando gli orari in base alle ore specificate. Usato ad esempio per i canali "Rai 1", "Rai 1 +1", "Rai 1 +2" e "Rai 1 +24"
$0 --epg --update --shift 1 --shift 2 --shift 24 --format xml
# Recupera le inforazioni EPG dei giorni 9-10-11-12 maggio costruendo un XMLTV che comprende gli orari +1 e +24
$0 --epg --update --today 20190510 --days 2 --shift 1 --shift 24 --yest --format xml
Mostra il file XMLTV in cache

Mostra il file XMLTV in cache

$0 --epg --show

HTTP server

Carica il modulo HTTP

$0 --serve

È necessario abilitare almeno uno dei moduli precedentemente elencati

$0 --serve --epg --m3u

Known Issues

  • Manca il palinsesto di alcuni programmi Rai: Rai Premium, Rai movie, Rai 4, Rai 5