Home

compilare vdr 1.7.15 da sorgenti su ubuntu 10.04

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"

 




Powered by Joomla!®. Designed by: joomla 1.7 templates hosting Valid XHTML and CSS.