Mini-guida: come usare HQPlayer Embedded (hqplayerd) con LMS

Pagina 1 di 3 1 2 3 ultimo
Visualizzazione dei risultati da 1 a 10 su 40

Hybrid View

Messaggio precedente Messaggio precedente   Prossimo messaggio Prossimo messaggio
  1. #1
    tebibyte L'avatar di UnixMan
    Registrato
    Sep 2013
    Messaggi
    2,529
    configurazione

    Predefinito Mini-guida: come usare HQPlayer Embedded (hqplayerd) con LMS

    Ciao a tutti,

    come qualcuno saprà, già ormai diverso tempo fa ero riuscito a mettere insieme (da e per l'amico Riccardo, "RiRo") un setup per poter utilizzare HQPlayer Embedded (alias hqplayerd) con LMS.

    Quel primo setup era relativamente complesso ed impiegava tre diversi software che dovevano interagire tra loro (e con un servizio di sistema): LMS con plugin "UPnPBridge", MPRIS (libgmpris) ed hqplayerd. Ovviamente tutte le diverse componenti dovevano essere opportunamente configurate per poter interagire correttamente e funzionare come desiderato. Niente di trascendentale, ma qualche difficoltà c'era - specie per chi non avesse avuto troppa dimestichezza con il sistema. Inoltre richiedeva la presenza di una sessione utente aperta con un DE freedesktop-compliant (nel ns. caso KDE Plasma). Avrei preferito un sistema che potesse essere avviato automaticamente come "servizio", all'avvio del PC, senza bisogno della presenza di una interfaccia grafica né di una sessione utente aperta...

    Fortunatamente, più di recente, le ultime versioni di HQPlayer Embedded (4.x) hanno incluso direttamente al loro interno i servizi MPRIS (attraverso libgmpris) e questo ha consentito sia di semplificare sensibilmente il setup (eliminando il server MPRIS esterno e la relativa configurazione) sia di avviare tutto automaticamente al boot (senza bisogno di avere interfacce grafiche né sessioni utente aperte).

    Ma veniamo al dunque, cioè alle istruzioni per mettere in piedi il (nuovo) sistema.

    Per prima cosa avete bisogno di un sistema Linux basato su Ubuntu 16.04 LTS(*) in una qualsiasi delle sue varie incarnazioni (inclusa la "server", priva di interfaccia grafica) o sue derivate compatibili (come le Mint 18.x), oppure su Debian 9 ("Stretch").

    (*) potrebbero/dovrebbero andare bene anche Ubuntu 18.04 e derivate, ma non ho avuto occasione di verificarlo.

    Per comodità, per prima cosa installate "gdebi", un comodo tool che vi permette di installare files .deb risolvendo automaticamente anche le loro dipendenze e "wget", un client http/ftp che consente di scaricare files da riga di comando (possibile che l'uno e/o l'altro ci siano già, nel qual caso non dovete fare nulla):
    codice:
    sudo apt-get update
    sudo apt-get install gdebi
    sudo apt-get install wget
    Scaricate ed installate LMS, utilizzando il relativo pacchetto ".deb" (che potete trovare qui):
    codice:
    cd /var/tmp/
    
    wget http://downloads.slimdevices.com/LogitechMediaServer_v7.9.1/logitechmediaserver_7.9.1_amd64.deb
    
    sudo gdebi logitechmediaserver_7.9.1_amd64.deb
    procedete quindi con la relativa configurazione attraverso la sua interfaccia web. Qui non entro in dettagli: se avete dubbi consultate le guide relative, ad es. quella presente su questo forum (per la sola parte relativa ad LMS: Squeezelite, C3PO, ecc. non vi servono). Comunque, praticamente è banale: in sostanza l'unica cosa necessaria da fare è configurare il percorso (o i percorsi) dove si trovano i files della musica e far partire la relativa scansione per popolare il relativo database.

    Procedete quindi con libgmpris ed hqplayerd, come indicato nelle istruzioni ufficiali:
    codice:
    cd /var/tmp
    
    wget https://www.sonarnerd.net/src/xenial/libgmpris_2.2.1-4_amd64.deb
    
    sudo gdebi libgmpris_2.2.1-4_amd64.deb
    
    wget https://www.signalyst.eu/bins/hqplayerd/xenial/hqplayerd_4.4.0-16_amd64.deb
    
    sudo gdebi hqplayerd_4.4.0-16_amd64.deb
    N.B.: gli URL mostrati sono quelli validi al momento in cui scrivo, per un sistema Ubuntu 16.04 LTS (Xenial) e per le versioni attuali di libgmpris e hqplayerd. Prima di procedere, verificate che siano quelle giuste per il Vs. sistema e che non ci siano stati ulteriori aggiornamenti, ecc. e nel caso cambiateli di conseguenza.

    Attivate ed avviate il "servizio" di hqplayerd:
    codice:
    sudo systemctl enable hqplayerd
    sudo systemctl restart hqplayerd
    Configurate un nome utente ed una password per l'accesso alla sua interfaccia web:
    codice:
    sudo hqplayerd -s mionomeutente miapassword
    (ovviamente sostituite "mionomeutente" e "miapassword" con qualcosa di significativo)

    Puntando un browser sulla porta 8088 della macchina dove gira hqplayerd (ad es. http://localhost:8088/config se il browser è sulla stessa macchina dove gira hqplayerd) ora potete accedere alla sua interfaccia web e procedere con le varie configurazioni (dispositivo di uscita audio, modalità, filtri, ecc).

    Quasi fatto... ora avete LMS ed hqplayerd funzionanti, manca solo la "colla" per permettere ad LMS di comandare hqplayerd. La "colla" è un plugin di LMS che si chiama "UPnPBridge".

    Il plugin in questione è presente nel repository ufficiale di LMS, quindi lo troverete nella relativa lista (tra i plugin di terze parti). Purtroppo, la versione attualmente disponibile nel repository ufficiale non funziona con hqplayerd. È necessario utilizzare invece una vecchia versione, che occorre scaricare ed installare a mano. Va da sé che, prima di procedere, è fondamentale disabilitare gli aggiornamenti automatici dei plugin di LMS, altrimenti il plugin sarà aggiornato automaticamente all'ultima versione e non riuscirete a farlo funzionare con hqplayerd.

    Perciò, per prima cosa, andate nella sezione plugin di LMS e togliete la "spunta" all'opzione per l'aggiornamento automatico (è in fondo alla pagina) e quindi riavviate LMS:
    codice:
    sudo systemctl stop logitechmediaserver
    sudo systemctl restart logitechmediaserver
    La versione di UPnPBridge da usare è la 0.2.9.5, che potete trovare qui.

    Per scaricarla ed installarla procedete come segue:
    codice:
    cd /var/tmp
    
    wget -O UPnPBridge-0.2.9.5.zip  https://sourceforge.net/projects/lms-plugins-philippe44/files/UPnPBridge-0.2.9.5.zip/download
    
    sudo -s
    
    systemctl stop logitechmediaserver
    
    cd /var/lib/squeezeboxserver/cache/InstalledPlugins/Plugins
    
    mkdir UPnPBridge
    
    cd UPnPBridge
    
    unzip /var/tmp/UPnPBridge-0.2.9.5.zip
    
    chown -R squeezeboxserver:nogroup .
    
    chmod +x Bin/*x86*
    
    systemctl restart logitechmediaserver
    fatto. A questo punto non resta che configurarla. Con un browser andate sull'interfaccia web di LMS (ad es. http://localhost:9000/), aprite la pagina del setup, andate su "Avanzate" e dal menù a tendina selezionate "UPnPBridge". Configuratelo come segue:

    e salvate (click su applica e poi chiudi).

    Finito. A questo punto, nella pagina principale di LMS dovrebbe esservi apparso il nuovo player "HQPlayerd". Selezionatelo, scegliete un brano dalla libreria e... buon ascolto!
    Ultima modifica di UnixMan : 26-04-2019 a 21:52
    Ciao, Paolo.

    «Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee.»

  2. #2
    tebibyte L'avatar di UnixMan
    Registrato
    Sep 2013
    Messaggi
    2,529
    configurazione

    Predefinito Come attivare il CUDA offload con HQPlayer(d)

    Per poter impiegare il "CUDA offload", cioè il trasferimento di parte del carico di calcolo dalla CPU alla GPU, oltre ovviamente ad avere l'hardware adeguato è necessario installare il relativo supporto software: driver (proprietari) nVidia e relative librerie CUDA, entrambi aggiornati all'ultima versione (attualmente diriver 396 e CUDA 9.2).

    Driver, librerie e sistema di sviluppo sono presenti anche nei "repositories" ufficiali della distribuzione ma, purtroppo (almeno in Ubuntu 16.04) la versione fornita non è quella di cui avete bisogno (è una vers. precedente). È pertanto necessario aggiungere i repository esterni forniti dalla stessa nvidia, ed installare le versioni dei pacchetti fornite da lì.

    Per Ubuntu 16.04 (e derivate) il link è questo: "CUDA Toolkit 9.2 Download".

    L'installazione è semplicissima. Le istruzioni sono contenute nella pagina di download, ma per comodità le riporto anche qui (ho sostituito "gdebi" a dpkg, in modo da gestire automaticamente eventuali dipendenze e conflitti):
    codice:
    cd /var/tmp
    
    wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_9.2.148-1_amd64.deb
    
    sudo gdebi cuda-repo-ubuntu1604_9.2.148-1_amd64.deb
    
    sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
    
    sudo apt-get update
    
    sudo gdebi install cuda
    N.B.:
    1) al solito, gli URL ed i nomi dei files mostrati sono quelli validi al momento in cui scrivo. Prima di procedere verificate che non ci siano state variazioni. Se usate una distribuzione diversa (ad es. Debian), seguite i link relativi alla vostra distribuzioneche che trovate nella pagina di download. In entrambi i casi regolatevi di conseguenza, modificando opportunamente le righe di comando mostrate qui sopra;

    2) i nuovi driver non saranno attivi fino al prossimo riavvio del sistema.

    3) l'ultimo comando indicato (gdebi install cuda) installa il metapacchetto "cuda", che come dipendenze si tira dietro l'intero sistema di sviluppo. Questo probabilmente non è necessario (ma non comporta inconvenienti, salvo sprecare un po' di spazio sul disco). Se volete (ed avete la necessaria confidenza con il sistema) potete procedere installando i diversi metapacchetti relativi ai soli driver, librerie, ecc. che sono necessari.

    Ciò fatto, poiché la versione attuale di hqplayerd non offre la possibilità di attivare/configurare il CUDA offload attraverso l'interfaccia web, risulta necessario farlo modificando direttamente il file XML di configurazione(*). L'operazione non presenta difficoltà e può essere fatta automaticamente dando i seguenti comandi:
    codice:
    sudo systemctl stop hqplayerd
    
    sudo sed -i~  's/cuda="0"/cuda="2"/'   /etc/hqplayer/hqplayerd.xml
    (in alternativa potete editare il file a mano utilizzando l'editor di testo che preferite. Cercate nel testo la stringa cuda="0" e sostituite lo zero con il numero 1 oppure 2).

    Edit:
    (*) nelle ultime versioni di hqplayerd l'opzione è stata aggiunta all'interfaccia web, per cui potete procedere direttamente da lì anziché modificare a mano il file di configurazione.


    A questo punto, se non lo avevate già fatto dopo l'installazione dei driver nvidia, potete riavviare il sistema. In caso contrario è sufficiente riavviare soltanto hqplayerd:
    codice:
    sudo systemctl restart hqplayerd
    Buon ascolto...

    P.S.: Topic dedicato al sistema implementato da Riccardo (RiRo): "Hqplayer(d) con CUDA offload su Linux"
    Ultima modifica di UnixMan : 26-04-2019 a 22:08 Motivo: Aggiornamenti vari
    Ciao, Paolo.

    «Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee.»

  3. #3
    tebibyte L'avatar di UnixMan
    Registrato
    Sep 2013
    Messaggi
    2,529
    configurazione

    Predefinito Caveat emptor

    Alcune note a margine:

    1) il setup funziona con qualsiasi "sorgente" supportata da LMS, quindi non solo files "locali" ma anche servizi di streaming come Tidal, Qubuz, ecc. È sufficiente installare e configurare i relativi plugin su LMS.

    2) come al solito, l'interfaccia audio può essere connessa sia direttamente alla macchina dove gira hqplayerd che ad un sistema remoto ("NAA") dove gira il solito "Network Audio Deamon" (lo stesso utilizzabile anche con la versione Desktop di HQPlayer).

    3) in linea di principio LMS ed hqplayerd non devono girare necessariamente sulla stessa macchina: con alcune modifiche minori alla configurazione mostrata (basta cambiare gli IP...) dovrebbe essere possibile far girare hqplayerd ed LMS su due macchine diverse. In tal caso quella dove gira LMS potrebbe anche essere Windows o Mac, o addirittura un NAS che supporti tale possibilità, ecc. (N.B.: poiché questa opportunità non è stata testata, non garantisco che funzioni).

    4) ATTENZIONE: l'interfaccia audio configurata deve essere accesibile prima dell'avvio di hqplayerd; in caso contrario hqplayerd non attiva la sua interfaccia UPnP e quindi LMS non "vede" il "player" HQPlayerd. In altre parole, se volete che il sistema sia subito attivo e funzionante senza alcun intervento, accendete il DAC (e l'eventuale NAA cui è connesso) prima di avviare il sistema dove gira hqplayerd.

    5) al momento purtroppo ci sono alcune piccole limitazioni, che spero sia possibile risolvere in un prossimo futuro:
    - come si può evincere dalle impostazioni di UPnPBridge, non si può utilizzare la modalità "gapless";
    - non è possibile "muoversi" all'interno di una traccia: se si prova a farlo, HQPd va in stop.

    6) Lo stesso sistema (LMS+UPnPBridge+HQPlayerd) può essere implementato anche sulla base del "gentooplayer" sviluppato da Filippo ("antonellocaroli") anziché sulla base di Ubuntu o Debian. Per le istruzioni specifiche rimando al topic dedicato.
    Ultima modifica di UnixMan : 26-04-2019 a 22:13
    Ciao, Paolo.

    «Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee.»

  4. #4
    Moderatore L'avatar di bibo01
    Registrato
    Oct 2010
    Messaggi
    4,591
    configurazione

    Predefinito

    @UnixMan
    Miska chiede se hai idea di perché il nuovo UPnP plugin, al contrario del vecchio, non funziona?

  5. #5
    tebibyte L'avatar di UnixMan
    Registrato
    Sep 2013
    Messaggi
    2,529
    configurazione

    Predefinito

    Originariamente inviato da bibo01
    @UnixMan
    Miska chiede se hai idea di perché il nuovo UPnP plugin, al contrario del vecchio, non funziona?
    Molto vaga. Osservando i log di UPnPBridge e di HQPd sembra che ci sia qualche "incomprensione" tra i due: HQPd non riesce ad accedere all'URI dello stream dei dati che gli manda il plugin, forse lo interpreta male.

    Dato che il medesimo problema si verificava anche con il vecchio setup, a suo tempo avevo provato a contattare sia Miska che Philippe (l'autore del plugin). Quest'ultimo però aveva avuto delle difficoltà a far funzionare il vecchio setup, e chiese a Miska di contattarlo direttamente... ma credo che non lo fece, e la cosa finì lì. Ora che con il nuovo setup non dovrebbero più esserci difficoltà per replicare un sistema funzionante, si potrebbe ritentare. Se vuoi provo ad inviare un mail ad entrambi. Oppure (forse, meglio) puoi farlo tu (nel caso, metti anche me in CC).
    Ultima modifica di UnixMan : 17-09-2018 a 09:59
    Ciao, Paolo.

    «Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee.»

  6. #6
    Moderatore L'avatar di bibo01
    Registrato
    Oct 2010
    Messaggi
    4,591
    configurazione

    Predefinito

    Originariamente inviato da UnixMan
    Molto vaga. Osservando i log di UPnPBridge e di HQPd sembra che ci sia qualche "incomprensione" tra i due: HQPd non riesce ad accedere all'URI dello stream dei dati che gli manda il plugin, forse lo interpreta male.

    Dato che il medesimo problema si verificava anche con il vecchio setup, a suo tempo avevo provato a contattare sia Miska che Philippe (l'autore del plugin). Quest'ultimo però aveva avuto delle difficoltà a far funzionare il vecchio setup, e chiese a Miska di contattarlo direttamente... ma credo che non lo fece, e la cosa finì lì. Ora che con il nuovo setup non dovrebbero più esserci difficoltà per replicare un sistema funzionante, si potrebbe ritentare. Se vuoi provo ad inviare un mail ad entrambi. Oppure (forse, meglio) puoi farlo tu (nel caso, metti anche me in CC).
    La mail conviene che la mandi tu, che conosci anche l'autore del plugin - l'ho già fatto presente anche a Miska che quindi può aspettarsi la mail a riguardo. Tienimi al corrente.
    Ultima modifica di bibo01 : 17-09-2018 a 10:17

  7. #7
    Moderatore L'avatar di bibo01
    Registrato
    Oct 2010
    Messaggi
    4,591
    configurazione

    Predefinito

    Originariamente inviato da UnixMan
    Per poter impiegare il "CUDA offload", cioè il trasferimento di parte del carico di calcolo dalla CPU alla GPU, oltre ovviamente ad avere l'hardware adeguato è necessario installare il relativo supporto software: driver (proprietari) nVidia e relative librerie CUDA, entrambi aggiornati all'ultima versione (attualmente diriver 396 e CUDA 9.2).

    Driver, librerie e sistema di sviluppo sono presenti anche nei "repositories" ufficiali della distribuzione, ma non sono aggiornati all'ultima versione. È pertanto necessario aggiungere i repository esterni forniti dalla stessa nvidia, ed installare da lì.
    ...
    Miska ha suggerito questo:

    Regarding the "sudo gdebi install cuda" and the related comment, there's a "cuda-drivers" meta package for the driver. The full cuda meta package shouldn't be necessary - it pulls in lot of unnecessary stuff.

    Basically just "nvidia-396" package should be enough which is the smallest driver entity from the repo.
    Forse puoi aggiornare il testo di conseguenza.

  8. #8
    tebibyte L'avatar di UnixMan
    Registrato
    Sep 2013
    Messaggi
    2,529
    configurazione

    Predefinito

    Originariamente inviato da bibo01
    Miska ha suggerito questo:
    non credo basti solo il driver. Sicuramente tutto il sistema di sviluppo non serve, ma librerie e supporto run-time penso di sì. Prima di dare indicazioni bisognerebbe fare delle prove...
    Ciao, Paolo.

    «Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee.»

  9. #9
    Moderatore L'avatar di bibo01
    Registrato
    Oct 2010
    Messaggi
    4,591
    configurazione

    Predefinito

    Originariamente inviato da UnixMan
    non credo basti solo il driver. Sicuramente tutto il sistema di sviluppo non serve, ma librerie e supporto run-time penso di sì. Prima di dare indicazioni bisognerebbe fare delle prove...
    Ovviamente puoi fare delle prove, ma ricordo che Jussi è da un po' che ha dato quelle indicazioni che ha continuato a testare sul suo sistema... come sai è un adepto di Linux.

  10. #10
    Moderatore L'avatar di bibo01
    Registrato
    Oct 2010
    Messaggi
    4,591
    configurazione

    Predefinito

    Note di Miska riguardo il supporto CUDA:

    Nvidia has just released CUDA 10, with support for Ubuntu 18.04 LTS. I will be now moving over to Ubuntu 18.04 LTS in future releases. There shouldn't be anymore need to stick with the old 16.04 LTS version.

    Kernel 4.19 is supposed to be next LTS kernel since 4.14, so I will also move my kernel builds over to that one once it is released.

    Note that some of my Ubuntu Desktop system upgrades from 16.04 to 18.04 didn't go so nicely, while all Ubuntu Server upgrades have so far went without problems.

Pagina 1 di 3 1 2 3 ultimo

Informazioni Thread

Users Browsing this Thread

Ci sono attualmente 1 utenti che stanno visualizzando questa discussione. (0 utenti e 1 ospiti)

Regole d'invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
nexthardware.com - © 2002-2022