Howto zur Installation vom Analog-Plugin auschliesslich auf Basis einer Hauppauge PVR250/350
Anmerkung: Ich bin kein Linux Experte! Falls was irgendwie einfacher geht, lasst es mich wissen.Ich beschäftige mich mit Linux erst seit August 2003.
Ich gehe von einer Suse Linux Version 8.2 aus, da bei dieser Video4linux schon dabei ist.
Weiterhin sehe ich als Pfade folgendes als gegeben. Diese Pfade haben sich bei mir als brauchbar erwiesen und
sind entstanden aus der Verwendung des VDR-installscripts ftp://ftp.cadsoft.de/vdr/tools
Ebenso setze ich ein funktionierendes installiertes VDR-System voraus.
BITTE VOR VERWENDUNG DIESES HOWTOs UNBEDINGT EIN BACKUP ERSTELLEN !!
/usr/local/src > hier ist praktisch die root der gesamten VDR Dateien.
/usr/local/src/VDRtmp > hier sind alle .conf Dateien (Channelconf, Setup.conf ......)
/usr/local/src/VDR > hier ist das VDR Verzeichniss
/usr/local/src/ivtv > hier ist das IVTV- Verzeichniss
Verwendete Programmversionen:
VDR in der Version 1.2.5 mit Autopid Patch
Analog-Plugin in der Version 0.9.23 http://akool.bei.t-online.de/v…logtv/download/index.html
Ivtv treiber und tools in der aktuellsten Version http://ivtv.sourceforge.net/CVS-LATEST.tar.gz
die LIBDVB in der Version 0.5.0 http://www.metzlerbros.org/dvb/libdvb-0.5.0.tar.gz
Video for Linux *Zwei* (V4L2) wird dringend empfohlen (http://www.bytesex.org/snapshot)
Ich bin mir nicht sicher ob in dieser Konstellation mit einer PVR ein installiertes Alsa Soundsystem nötig ist.
Auf meinem System befindet sich Alsa in der Version 0.9.2
Dann fangen wir mal an:
1. kopiere das plugin nach /usr/local/src/VDR/PLUGINS/src
cd /usr/local/src/VDR/PLUGINS/src
tar xjf vdr-analogtv-x.x.x.tar.bz2
ln -sf analogtv-x.x.x analogtv
2.Nun sollte die LIBDVB installiert werden:
kopiere die Datei libdvb-0.5.0.tar nach /usr/local/src
cd /usr/local/src
tar xf libdvb-0.5.0.tar
patch < /usr/local/src/VDR/PLUGINS/src/analogtv/patches/libdvb-0.5.0.patch
hier kommt dann 2 mal eine Fehlermeldung dass die zu patchende Datei nicht gefunden wird .
Aber man hat hier die Möglichkeit die absoluten Pfade zur gesuchten Datei einzugeben .
Hier bitte folgendes eintippen:
/usr/local/src/libdvb-0.5.0/Makefile
bei der Frage nach der 2.Datei:
/usr/local/src/libdvb-0.5.0/libdvbmpeg/transform.c
installieren:
cd /usr/local/src/libdvb-0.5.0
make install
3. Jetzt muss VDR gepatcht werden:
cd /usr/local/src/VDR/PLUGINS/src/analogtv/patches
nur wenn VDR Version 1.2.2 oder kleiner benutzt wird:
patch -p1 < PLUGINS/src/analogtv/patches/vdr.patch
wenn der autopid-Patch benutzt wird:
patch -p0 < PLUGINS/src/analogtv/patches/vdr-1.2.4-autopid.patch
oder wenn der autopid-Patch nicht benutzt wird:
patch -p0 < PLUGINS/src/analogtv/patches/vdr-1.2.4.patch
schließlich kompilieren:
cd /usr/local/src/VDR
make
make plugins
und installieren.
Jetzt sollte VDR mit "-Panalogtv" gestartet werden können.
3. Nun sollte der PVR Treiber installiert werden:
kopiere die Datei CVS-LATEST.tar.gz nach /usr/local/src
gzip ?d CVS-LATEST.tar.gz
tar xf CVS-LATEST.tar
cd /usr/local/src/ivtv
patch < /usr/local/src/VDR/PLUGINS/src/analogtv/patches/ivtv.diff
cd ivtv/ivtv/driver
cp ../utils/videodev2.h .
make
4. Die PVR Firmware muß installiert werden:
Im Lieferumfang der PVR ist eine CD-Rom enthalten.
Diese in das CD-Rom einlegen und mounten.
Achtung: es wird davon ausgegangen dass der Pfad zum CD-Rom lautet:/mnt/cdrom
cd /usr/local/src/ivtv/utils
./ivtvfwextract
INFO: Hiermit wird die erforderliche Firmware aus dem Windows Treiber extrahiert und
wird in /lib/modules/ivtv-fw-dec.bin und ivtv-fw-enc.bin gespeichert.
5. Treiber laden und testen:
Wichtig: Der ivtv-Treiber sollte als _erster_ V4L-Treiber geladen werden!
Ich verwende ein eigenes script das die Treiber lädt. Dieses wird bei mir aus
der runVDR das im VDR-Verzeichniss liegt aufgerufen. Somit ist der ivtv-Treiber der
erste der bei mir geladen wird.
Meine runVDR sieht so aus:
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
SPLASH='off'
MYPATH="/usr/local/src"
VDRLOG="/var/log/messages"
CONFIG="/usr/local/src/VDRtmp/setup.conf"
DVBDIR="$MYPATH/DVB/driver"
DVBREM="$DVBDIR/../apps/av7110_loadkeys"
LIBPLG="/usr/local/src/VDR/PLUGINS/lib"
VDRPRG="$MYPATH/VDR/vdr --config=/usr/local/src/VDRtmp \
--lib=$LIBPLG \
--epgfile=/usr/local/src/VDRtmp/epg.data \
--shutdown=/usr/local/src/VDRtmp/scripts/vdrshutdown \
--terminal=/dev/tty8 $* \
--watchdog=60"
. $MYPATH/VDR/runvdr.conf
VDRUSR="vdr"
# Load driver if it hasn't been loaded already:
if test $(lsmod | grep -cw '^dvb') -eq 0; then
cd /usr/local/src/ivtv/utils
./runivtv # HIER WIRD DAS SCRIPT AUFGERUFEN UM DEN IVTV TREIBER ZU LADEN
echo "Load DVB driver"; cd $DVBDIR; make insmod
if test -e $MYPATH/DVB/apps/test/splash.mpg -a $SPLASH = on; then
/usr/local/src/DVB/apps/test/test_stillimage $MYPATH/DVB/apps/test/splash.mpg 2
fi
fi
while (true)
do
if test -e $LIBPLG/libvdr-remote*; then
$DVBREM/av7110_loadkeys $DVBREM/hauppauge.rc5 >/proc/av7110_ir
fi
if test -e $VDRLOG; then
CHAN=$(tail -300 $VDRLOG | grep 'switching to channel' | tail -n1 | awk -F 'channel' '{ print $2 }' | bc)
if test -n "${CHAN##*[^0-9,' ',-]*}" -a -e $CONFIG; then
perl -pi -e "s/^CurrentChannel = .*$/CurrentChannel = $CHAN/" $CONFIG
sleep 1
fi
fi
su -c "$VDRCMD" $VDRUSR
if test $? -eq 0; then exit; fi
. $MYPATH/VDR/runvdr.conf
date
echo "restarting VDR"
killall -q -TERM $VDRPRG >/dev/null 2>&1
sleep 3
cd $DVBDIR; make rmmod; make insmod
date
done
Das Tool test_ioctl muss auch noch Compiliert werden :
cd /usr/local/src/ivtv/utils
make
cp test_ioctl /usr/local/bin
Das Script zum Treiber laden liegt bei mir in /usr/local/src/ivtv/utils/runivtv
Hier ist das script:
cd /usr/local/src/ivtv/driver
modprobe i2c-core
modprobe i2c-algo-bit
modprobe tuner type=5 pal=1
insmod msp3400.o once=1 simple=1 debug=2
modprobe videodev
insmod saa7115.o
insmod ivtv.o mpg_buffers=100 video_nr=0
../utils/test_ioctl -f width=704,height=576
Die Treiber können natürlich auf verschiede Weise geladen werden.
Bei mir hat sich diese Methode bewährt.
So und nun zum Test der Installation :
Bitte ein Signal am Videoeingang und Audioeingang anlegen.
Im Verzeichniss /usr/local/src/ivtv/utils ist ein tool (testioctl) mit der die
PVR eingestllt werden kann.
Auf PAL video standard stellen
/usr/local/src/ivtv/utils
./test_ioctl -u 0xff
Videoeingang wählen:
./test_ioctl -p 5
Auf volle PAL AUflösung einstellen:
./test_ioctl -f width=720,height=576
Jetzt zeichnen wir ein Testvideo auf:
cat /dev/video0 > /tmp/testvideo.mpg
Zum stoppen der Aufnahme einfach Ctrl/C drücken.
Die Testaufnahme kann nun mit einem Player deiner Wahl begutachtet werden.
5. Eintrag in die channels.conf:
Die Datei channels.conf enthält bei mir folgende Einträge.
Diese müssen mit einem Editor noch eingtragen werden .
PAL S-Video:1:B6C0D89:C:0:160:80:0:32001:65003:0:0:0
PAL Video:1:B6C0D0:C:0:160:80:0:32001:65004:0:0:0
Mit dem Tuner habe ich mich noch nicht beschäftigt, da mich nur die Videoeingänge
interessieren. Aber beim Analogtv-Plugin sind einige Beispiele der benötigten Einträge in
die channels.conf im Paket enthalten.
6. Im OSD-Setup des analogTV-Plugins sollten folgende Einstellungen
vorgenommen werden:
Encoder: PVR PES
Video Bitrate: 40
Audio Bitrate: 192
Bildgröße: 480x576
Encoder läuft immer: Ja
Es sind natürlich andere Parameter wie z.b.:
Video Bitrate: 55
Audio Bitrate: 224
Bildgröße: 720x576
möglich, was immer auch gewünscht wird.