mythtv low-cpu mod
Non e' la prima volta che parlo di mythtv, il software free per la gestione di un HTC/DVR, su queste pagine.
Questa volta vi aggiorno su come ho fatto ad aggiungere un'altra funzionalita' a questa fantastica suite.
Non si parla in realta' di un'aggiunta vera e propria, ma della possibilita' di lanciare, dall'interfaccia di mythtv, un programma "normale" per vedere la tv (xine, kaffeine, vlc, xawtv, mplayer, tvtime... io uso quest'ultimo).
Per "normale", intendo un sw che non ci offra la possibilita' della cosiddetta LiveTV con timeshifting,
ma semplicemente quello di visualizzare il segnale tv.
Perche' usarlo se mythtv funziona cosi' bene?
Beh, il motivo e' piuttosto semplice: il timeshifting e' figo, utile, ma sicuramente _molto_ pesante per la macchina.
La visualizzazione normale della tv, invece, e' leggera e una passeggiata per le moderne cpu.
Se, ad esempio, la vostra mythbox sta rippando un dvd (feature compresa nel plugin mythtdvd, tutto in automatico), e quindi usando intensamente sia cpu che disco (entrambi elementi molto stressati per la LiveTV), vedersi la tv potrebbe non essere cosi' semplice.
Proprio per questo motivo, gli sviluppatori hanno dato la possibilita' di aggiungere "bottoni" nell'interfaccia di mythtv ed eseguire comandi arbitrari (provate una ricerca per EXECTV nella mailing list e troverete zilioni di post a riguardo).
La modifica e' molto semplice: bisogna editare il file xml del menu (prendete come esempio quello in /usr/share/mythtv/themes/classical/tvmenu.xml e poi andate a modificare quello relativo al vostro tema dei menu) ed aggiungere qualcosa del tipo:
<button>
<type>TV_PLAYBACK</type>
<text>Direct TV</text>
<action>EXECTV /home/mythtv/script_per_direct_tv </action>
</button>
Come vedete in <action> non ho inserito semplicemente il comando 'tvtime' ; il motivo e' che i due modi di vedere la tv (direct con tvtime e il timeshifting di mythtv) hanno la necessita' di prendere il segnale audio del tuner tv in maniera diversa: tvtime deve leggere direttamente dal mixer di riproduzione tv, mentre mythtv deve "ammutolire" il mixer di riproduzione e usare solo quello di registrazione (definito spesso "capture").
Ho scoperto che tvtime all'avvio si occupa di impostare il mixer come gli necessita ma purtroppo non e' abbastanza educato da farlo anche in uscita.
Questo il perche' in <action> ho inserito il path di uno script all'uopo creato e questo e' il suo contenuto.
Questa volta vi aggiorno su come ho fatto ad aggiungere un'altra funzionalita' a questa fantastica suite.
Non si parla in realta' di un'aggiunta vera e propria, ma della possibilita' di lanciare, dall'interfaccia di mythtv, un programma "normale" per vedere la tv (xine, kaffeine, vlc, xawtv, mplayer, tvtime... io uso quest'ultimo).
Per "normale", intendo un sw che non ci offra la possibilita' della cosiddetta LiveTV con timeshifting,
ma semplicemente quello di visualizzare il segnale tv.
Perche' usarlo se mythtv funziona cosi' bene?
Beh, il motivo e' piuttosto semplice: il timeshifting e' figo, utile, ma sicuramente _molto_ pesante per la macchina.
La visualizzazione normale della tv, invece, e' leggera e una passeggiata per le moderne cpu.
Se, ad esempio, la vostra mythbox sta rippando un dvd (feature compresa nel plugin mythtdvd, tutto in automatico), e quindi usando intensamente sia cpu che disco (entrambi elementi molto stressati per la LiveTV), vedersi la tv potrebbe non essere cosi' semplice.
Proprio per questo motivo, gli sviluppatori hanno dato la possibilita' di aggiungere "bottoni" nell'interfaccia di mythtv ed eseguire comandi arbitrari (provate una ricerca per EXECTV nella mailing list e troverete zilioni di post a riguardo).
La modifica e' molto semplice: bisogna editare il file xml del menu (prendete come esempio quello in /usr/share/mythtv/themes/classical/tvmenu.xml e poi andate a modificare quello relativo al vostro tema dei menu) ed aggiungere qualcosa del tipo:
<button>
<type>TV_PLAYBACK</type>
<text>Direct TV</text>
<action>EXECTV /home/mythtv/script_per_direct_tv </action>
</button>
Come vedete in <action> non ho inserito semplicemente il comando 'tvtime' ; il motivo e' che i due modi di vedere la tv (direct con tvtime e il timeshifting di mythtv) hanno la necessita' di prendere il segnale audio del tuner tv in maniera diversa: tvtime deve leggere direttamente dal mixer di riproduzione tv, mentre mythtv deve "ammutolire" il mixer di riproduzione e usare solo quello di registrazione (definito spesso "capture").
Ho scoperto che tvtime all'avvio si occupa di impostare il mixer come gli necessita ma purtroppo non e' abbastanza educato da farlo anche in uscita.
Questo il perche' in <action> ho inserito il path di uno script all'uopo creato e questo e' il suo contenuto.
# script per direct tv in mythtv, utilizzando tvtime
tvtime -m &&
amixer set Aux mute &&
v4lctl volume mute off
Se avete qualche dubbio, fatevi sentire! :D
