Home
compilare vdr 1.7.15 da sorgenti su ubuntu 10.04
- Dettagli
- Categoria: vdr
- Pubblicato Domenica, 24 Gennaio 2010 00:11
- Scritto da Davide
- Visite: 19
Per avere un bel set top box con vdr 1.7.x dovremo seguire tutta una serie di passaggi, che per comodita' nostra ho deciso di suddividere in step progressivi.
step 1 : installazione del sistema operativo (non credo si a il caso di replicare qui' informazioni disponibili su migliaia di fonti in giro per internet)
step 2: facoltativo - far si che il nostro sistema scriva il meno possibile sulla compact - flash
step 3: compilazione di libx264 e ffmpeg
step 4: compilazione di libxine e xine-ui
step 5: compilazione di vdr base (qui' sotto riportato)
step 6: compilazione dei vari plugin
seguiremo in parte i suggerimenti dati nel thread VDR HTDV DTT (VDPAU) anche se non usero' la parte vdpau, non avendo io una scheda video vdpau , ed i miei appunti precedenti.
nel thread, viene suggerito di compilare una prima volta le librerie xine-lib-1.2 , poi di disinstallarle, patcharle vdpau e reinstallarle, per chi ne avesse necessita', consiglio di saltare il primo passaggio, a mio avviso del tutto inutile, e passare direttamente alla patch.
inoltre, se siete come me' , sempre alla ricerca di test e soluzioni varie, come suggeritomi da lukkino, vale la pena fare due cartelle, una vdr-1.7.14 ove metteremo la versione 1.7.14 produttiva, ed una test, ove metteremo una versione di test, e poi realizzare il collegamento simbolico tra la dir vdr e la dir produttiva.
cio' ci aiutera' nel poter sperimentare tutti i plugin e le soluzioni che vogliamo, senza danneggiare la versione produttiva, e quando uscira' una nuova versione di vdr, bastera', creare un' altra cartella, compilare il tutto, e poi cambiare il link simbolico.
passiamo finalmente alla compilazione di vdr vero e prorprio
sudo wget ftp://tvdr.de/vdr/Developer/vdr-1.7.15.tar.bz2
sudo tar -xvf vdr-1.7.15.tar.bz2
cp Make.config.template Make.config
modificate il file Make.config secondo le vostre esigenze (video dir, conf plugins...) l
make
make plugins
checkinstall --install=no
applicare la patch
--- dvbdevice.c.orig 2010-05-01 10:47:13.000000000 +0100
+++ dvbdevice.c 2010-06-08 21:17:08.000000000 +0100
@@ -710,6 +710,7 @@
if (frontendInfo.caps & FE_CAN_QAM_64) { numProvidedSystems++; p += sprintf(p, ",%s", MapToUserString(QAM_64, ModulationValues)); }
if (frontendInfo.caps & FE_CAN_QAM_128) { numProvidedSystems++; p += sprintf(p, ",%s", MapToUserString(QAM_128, ModulationValues)); }
if (frontendInfo.caps & FE_CAN_QAM_256) { numProvidedSystems++; p += sprintf(p, ",%s", MapToUserString(QAM_256, ModulationValues)); }
+ if (frontendInfo.caps & FE_CAN_QAM_AUTO) { numProvidedSystems++; p += sprintf(p, ",%s", MapToUserString(QAM_AUTO, ModulationValues)); }
if (frontendInfo.caps & FE_CAN_8VSB) { numProvidedSystems++; p += sprintf(p, ",%s", MapToUserString(VSB_8, ModulationValues)); }
if (frontendInfo.caps & FE_CAN_16VSB) { numProvidedSystems++; p += sprintf(p, ",%s", MapToUserString(VSB_16, ModulationValues)); }
if (frontendInfo.caps & FE_CAN_TURBO_FEC){numProvidedSystems++; p += sprintf(p, ",%s", "TURBO_FEC"); }
@@ -914,11 +915,11 @@
cDvbTransponderParameters dtp(Channel->Parameters());
if (dtp.System() == SYS_DVBS2 && frontendType == SYS_DVBS ||
dtp.Modulation() == QPSK && !(frontendInfo.caps & FE_CAN_QPSK) ||
- dtp.Modulation() == QAM_16 && !(frontendInfo.caps & FE_CAN_QAM_16) ||
- dtp.Modulation() == QAM_32 && !(frontendInfo.caps & FE_CAN_QAM_32) ||
- dtp.Modulation() == QAM_64 && !(frontendInfo.caps & FE_CAN_QAM_64) ||
- dtp.Modulation() == QAM_128 && !(frontendInfo.caps & FE_CAN_QAM_128) ||
- dtp.Modulation() == QAM_256 && !(frontendInfo.caps & FE_CAN_QAM_256) ||
+ dtp.Modulation() == QAM_16 && !(frontendInfo.caps & (FE_CAN_QAM_16 | FE_CAN_QAM_AUTO)) ||
+ dtp.Modulation() == QAM_32 && !(frontendInfo.caps & (FE_CAN_QAM_32 | FE_CAN_QAM_AUTO)) ||
+ dtp.Modulation() == QAM_64 && !(frontendInfo.caps & (FE_CAN_QAM_64 | FE_CAN_QAM_AUTO)) ||
+ dtp.Modulation() == QAM_128 && !(frontendInfo.caps & (FE_CAN_QAM_128 | FE_CAN_QAM_AUTO)) ||
+ dtp.Modulation() == QAM_256 && !(frontendInfo.caps & (FE_CAN_QAM_256 | FE_CAN_QAM_AUTO)) ||
dtp.Modulation() == QAM_AUTO && !(frontendInfo.caps & FE_CAN_QAM_AUTO) ||
dtp.Modulation() == VSB_8 && !(frontendInfo.caps & FE_CAN_8VSB) ||
dtp.Modulation() == VSB_16 && !(frontendInfo.caps & FE_CAN_16VSB) ||
come rendere avviabile vdr
dopo aver copiato il file runvdr.sh in /var/bin
creare il file /etc/init.d/vdr
contenente
#!/bin/sh
### BEGIN INIT INFO
# Provides: VDR
# Required-Start: $network
# Required-Stop: $network
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Description: Start, Stop or Restart VDR
### END INIT INFO
# Shell functions sourced from /etc/rc.status:
set -e
# Reset status of this service
# rc_reset
#
case "$1" in
start)
echo -n "Starting VDR "
/var/bin/runvdr.sh >> /var/log/vdr.log &
# Remember status and be verbose
;;
stop)
echo -n "Shutting down VDR "
killall runvdr.sh
killall vdr
# Remember status and be verbose
;;
restart)
echo -n "Restart VDR "
$0 stop
$0 start
# Remember status and be quiet
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac
# rc_exit
exit 0
rendere eseguibile
quindi dare il comando
update-rc.d -f cccam start 60 2 3 4 5 .
incluso il punto finale
per avviare xine, in automatico all' avvio di gnome, sistema, preferenze, applicazione d' avvio ed aggiungere
/usr/bin/xine -V xv -f -r anamorphic --post vdr_video --post vdr_audio --post upmix_mono --post vdr --verbose=2 "vdr:/tmp/vdr-xine/stream#demux:mpeg_pes"
