laMiaTV è un player IPTV che consente di leggere una lista canali in formato M3U, da cui è possibile avviare un determinato canale grazie al lettore video integrato del televisore. L'app è compatibile con le TV Samsung che hanno il sistema operativo Orsay o Tizen, sul sistema WebOS di LG e con altri sistemi supportati dal framework Apache Cordova.
laMiaTV ha bisogno dei seguenti software per funzionare, si prega di installarli:
- Node.js
- Git
- Browser Chrome
- Samsung Tizen SDK (solo per Tizen OS)
- LG WebOS SDK (solo per WebOS)
- Moduli npm (cordova, grunt), per installarli digitare dal prompt dei comandi:
$ npm install -g cordova
$ npm install -g grunt-cli
- Creare la cartella principale del progetto
$ mkdir SmartTV-Dev
- Entrare nella directory appena creata
$ cd SmartTV-Dev
- Effettuare git clone dei repository seguenti:
$ git clone https://github.com/apache/cordova-js.git
$ git clone https://github.com/Samsung/cordova-plugin-toast.git
$ git clone https://github.com/Samsung/cordova-sectv-orsay.git
$ git clone https://github.com/Samsung/cordova-sectv-tizen.git
$ git clone https://github.com/Samsung/cordova-tv-webos.git
$ git clone https://github.com/Samsung/grunt-cordova-sectv.git
- Aprire il file presente in cordova-js/Gruntfile.js in un editor, ed aggiungere la virgola e le seguenti righe al compile:
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
compile: {
...,
"sectv-orsay": {},
"sectv-tizen": {},
"tv-webos": {}
},
- Allo stesso modo, aggiungere al file presente in cordova-js/package.json le seguenti righe:
...,
"cordova-platforms": {
"cordova-sectv-orsay": "../cordova-sectv-orsay",
"cordova-sectv-tizen": "../cordova-sectv-tizen",
"cordova-tv-webos": "../cordova-tv-webos"
}
}
- Infine, sempre nello stesso file (cordova-js/package.json) modificare la versione di execa e fs-extra, così come riportato di seguito:
"dependencies": {
"execa": "^3.4.0",
"fs-extra": "^8.1.0",
...
},
- Entrare in ogni cartella di SmartTV-Dev ed eseguire il seguente comando per installare le dipendenze:
npm install
- Entrare in cordova-js ed eseguire il seguente comando per compilare:
$ grunt compile:sectv-orsay compile:sectv-tizen compile:tv-webos
- Allo stesso modo, entrare in cordova-plugin-toast ed eseguire il seguente comando per compilare:
$ grunt compile:sectv-orsay compile:sectv-tizen compile:tv-webos
- Entrare nella directory principale SmartTV-Dev e clonare questo progetto cordova, poi entrare nel progetto:
$ git clone https://github.com/Boncoddo/laMiaTV.git
$ cd laMiaTV
- (a) Eseguire la copia dei file per il sistema e compilare (per windows):
$ xcopy ..\grunt-cordova-sectv\sample\* .\ /y /s
$ npm install ../grunt-cordova-sectv
- (b) Eseguire la copia dei file per il sistema e compilare (per sistemi unix-like):
$ cp -rf ../grunt-cordova-sectv/sample/. ./
$ npm install ../grunt-cordova-sectv
- Per installare le dipendenze del progetto eseguire:
$ npm install
- Per poter simulare l'applicazione nel browser eseguire:
$ cordova platform add browser
- Plugin obbligatori per l'utilizzo del simulatore del browser (non per altre piattaforme):
$ cordova plugin add cordova-plugin-device
$ cordova plugin add cordova-plugin-network-information
$ cordova plugin add cordova-plugin-globalization
- Aggiungere plugin TOAST:
$ cordova plugin add ../cordova-plugin-toast
Per impostare una propria lista canali bisogna entrare nella cartella lista e modificare il file link.txt, avendo l'accortezza di sostituire il link fornito di default con il proprio, è anche possibile linkare una lista locale inserendo l'IP del server privato con relativo numero di porta.
# Inserisci il link alla lista .M3U
# Es. http://192.168.1.234:80/esempio.m3u
http://www.pandasat.info/iptv/kodi
La lista canali predefinita è fornita da PandaSat.
- Eseguire il comando per compilare dalla cartella del progetto:
$ cordova build browser
- Avviare l'applicazione con il comando:
$ cordova emulate browser
Se non funziona, provare con una porta diversa:
$ cordova emulate browser --port=8080
Nel caso si visualizzasse nel browser un messaggio di "Errore nel caricamento", controlla di aver disabilitato le restrizioni sulle origini multiple.
- Entrare nella cartella del progetto ed eseguire il comando per preparare la compilazione:
$ grunt sectv-prepare:sectv-orsay
-
Premere il tasto 'Y' ed il tasto Invio per confermare le scelte di default.
-
Eseguire il comando per compilare:
$ grunt sectv-build:sectv-orsay
-
Installare Apache: Clicca qui per entrare nel sito ufficiale e procedere al download
-
Copiare il file compilato con estensione .zip contenuto nella cartella del progetto platforms\sectv-orsay\build nella cartella htdocs\Widget di Apache. Nota: la cartalla Widget non esiste e va creata.
-
Creare un nuovo file in htdocs chiamato widgetlist.xml ed inserire il seguente contenuto:
<?xml version="1.0" encoding="UTF-8"?>
<rsp stat="ok">
<list>
<widget id="laMiaTV">
<title>laMiaTV</title>
<compression type="zip" size="xxxxx"/>
<description/>
<download>http://xxx.xxx.xxx.xxx/Widget/laMiaTV.zip</download>
</widget>
</list>
</rsp>
Dove in size bisogna inserire la dimensione in byte del pacchetto .zip compilato, dopodiché al posto di xxx.xxx.xxx.xxx inserire l'indirizzo IP privato del proprio PC.
-
Avviare il server Apache sul PC, per farlo è possibile servirsi di ApacheMonitor (bin\ApacheMonitor).
-
Installare l'app nel televisore:
- Guida per l'installazione su TV Samsung del 2011 (in inglese)
- Guida per l'installazione su TV Samsung del 2013 (in inglese)
- Guida per l'installazione su TV Samsung del 2014 (in inglese)
- Entrare nella cartella del progetto ed eseguire il comando per preparare la compilazione:
$ grunt sectv-prepare:sectv-tizen
-
Premere il tasto 'Y' ed il tasto Invio per confermare le scelte di default.
-
Per compilare bisogna prima impostare le variabili d'ambiente:
- Nel caso in cui è stato installato Tizen TV SDK 2.4 digitare il comando (per windows):
$ SET PATH=%PATH%;C:\tizen-sdk\tools\ide\bin
- Invece, nel caso in cui è stato installato Tizen Studio digitare il comando (per windows):
$ SET PATH=%PATH%;C:\tizen-studio\tools\ide\bin
Nota: per un sistema operativo diverso da windows fare riferimento a comandi equivalenti.
- Modifica Gruntfile.js e imposta profilePath e profileName:
'sectv-Tizen': {
profilePath: 'C\:\\tizen-studio-data\\profile\\profiles.xml',
profileName: '<tuoNomeProfilo>',
www: 'platforms/sectv-tizen/www',
dest: 'platforms/sectv-tizen/build'
}
-
Per impostare il tuo profilePath:
- Nel caso in cui è stato installato Tizen TV SDK 2.4: \.metadata\.plugins\org.tizen.common.sign\profiles.xml
- Nel caso in cui è stato installato Tizen Studio: C:\tizen-studio-data\profile\profiles.xml (come da esempio)
-
Per impostare il tuo profileName:
- Nel caso in cui è stato installato Tizen TV SDK 2.4: window > Preferences > Tizen SDK > Security Profiles
- Nel caso in cui è stato installato Tizen Studio: Tools > Certificate Manager > Certificate Profile
- Eseguire il comando per compilare:
$ grunt sectv-build:sectv-tizen
-
Entrare su platforms\sectv-tizen\www\build e importare il file .wgt su Tizen Studio.
-
Installare l'app nel televisore:
- Guida per l'installazione su TV Samsung con Tizen (in inglese)
- Entrare nella cartella del progetto ed eseguire il comando per preparare la compilazione:
$ grunt sectv-prepare:tv-webos
-
Premere il tasto 'Y' ed il tasto Invio per confermare le scelte di default.
-
Per compilare bisogna prima impostare le variabili d'ambiente (per windows):
$ SET PATH=%PATH%;C:\webOS_TV_SDK\CLI
Nota: per un sistema operativo diverso da windows fare riferimento a comandi equivalenti.
- Eseguire il comando per compilare:
$ grunt sectv-build:tv-webos
- Installare l'app nel televisore, tenendo presente che il file .ipk compilato si trova in platforms\tv-webos\build:
- Guida per l'installazione su TV LG con WebOS (in inglese)
Questo progetto è concesso in licenza in base ai termini della GNU General Public License v3.0.
Tenete presente che l'applicazione è stata testata su una TV Samsung Orsay del 2014, dunque non è detto che possa funzionare anche su altri ambienti.
L’uso dell'applicativo per la visione di programmi protetti da diritto d'autore non è consentito dalla legge, si declina qualsiasi responsabilità relativa all'utilizzo improprio del presente software.