Analogtv-plugin
(→Links) |
(→Links) |
||
Zeile 127: | Zeile 127: | ||
| [2] | | [2] | ||
| http://sourceforge.net/projects/vdr-analogtv | | http://sourceforge.net/projects/vdr-analogtv | ||
− | | Projektseite | + | | Projektseite auf Sourceforge |
|- | |- | ||
| [3] | | [3] |
Version vom 10. Juli 2005, 20:43 Uhr
Inhaltsverzeichnis |
Beschreibung
Autor: Andreas Kool
Mit diesem Plugin ist es möglich, analoges TV mit VDR zu benutzen. Die Ausgabe erfolgt über das DVB-Ausgabegerät, d.h. das Plugin verhält sich dem VDR gegenüber wie eine Budget-DVB-Karte.
Unterstützt werden analoge TV-Karten (mit und ohne Hardware-MPEG-encoder) und Video-Grabber Karten, es kann also vom analogen TV-Tuner, Videorekorder o.ä. angeschaut und aufgezeichnet werden.
Bilder
Hardwareanforderungen
- Man benötigt eine Analog-TV-Karte. Diese Karte muss entweder vom bttv Treiber, dem ivtv Treiber oder dem pvrusb2 Treiber unterstützt werden.
- Weiterhin ist ein Realtime MPEG-Encoder nötig, entweder in Hardware, s.h. Hauppauge PVR250/350/PVR USB2, oder als Software (s.u.).
Softwareanforderungen
- Wenn kein Hardware-MPEG-Encoder mit linux-Treiberunterstützung auf der TV-Karte drauf ist, ist ein Software-Encoder nötig. Idealerweise mp1e oder ffmpeg.
- Bei PVR 250/350 neuesten Treiber von chris kennedy. Dieser muss nicht mehr gepatched werden. Beim Laden sicherstellen, dass ivtv vor den dvb Treibern geladen wird oder aber die channels.conf entsprechend angepaßt wird. Letzter Stand auf Mailing Liste.
- libdvb
- Video4Linux V2 (v4l2)
- ALSA (nur für Softencoder, nicht für PVR Karten)
Installation
libdvbmpeg/transform.c - static void pes_in_ts(p2p *p) + void pes_in_ts(p2p *p) (dafür gibt es ansonsten im analogtv-Plugin unter /patches auch den Patch libdvb-0.5.4.patch, der auch für die aktuelle Version 0.5.5 funktioniert) dvb-mpegtools/Makefile - install -m 755 dvb_show_image $(PREFIX)/bin/ + install -m 755 show_dvb_image $(PREFIX)/bin/ (dieser Schritt ist nur bei der Version 0.5.4 erforderlich, bei libdvb 0.5.5 ist der Fehler im Makefile gefixt!) cd $SOURCEDIR tar xvzf libdvb-<VERSION>.tar.gz cd libdvb-<VERSION> make make install ldconfig
Der Rest der Installation folgt der README und README.de des Plugins. Hinweis: Für ivtv > 0.1.9 muss VPID=301, APID=300 in der channels.conf verwendet werden.
Ein Grundgerüst für eine analoge channels.conf findet sich hier.
Probleme
- Stottern nach Kanalwechsel im Transfermode zu einer DVB-Karte
Abhilfe mit vdr-1.3.23-stuttering.patch (Bedingung: VDR>=1.3.23!), siehe cvs des analogTV.
- Compilerfehler cpu_accel.c:63: error: can't find a register in class `BREG' while reloading `asm'
Es hilft folgender Patch für die cpuid Funktion, damit diese sich mit -fPIC kompilieren läßt:
diff -ru analogtv-0.9.37.orig/cpu_accel.c analogtv-0.9.37/cpu_accel.c --- analogtv-0.9.37.orig/cpu_accel.c 2005-05-13 23:49:38.000000000 +0200 +++ analogtv-0.9.37/cpu_accel.c 2005-05-13 23:57:49.000000000 +0200 @@ -50,30 +50,44 @@ int AMD; uint32_t caps; +#if !defined(PIC) && !defined(__PIC__) #define cpuid(op,eax,ebx,ecx,edx) \ - asm ("cpuid" \ + __asm__ ("cpuid" \ : "=a" (eax), \ "=b" (ebx), \ "=c" (ecx), \ "=d" (edx) \ : "a" (op) \ : "cc") +#else /* PIC version : save ebx */ +#define cpuid(op,eax,ebx,ecx,edx) \ + __asm__ ("push %%ebx\n\t" \ + "cpuid\n\t" \ + "movl %%ebx,%1\n\t" \ + "pop %%ebx" \ + : "=a" (eax), \ + "=r" (ebx), \ + "=c" (ecx), \ + "=d" (edx) \ + : "a" (op) \ + : "cc") +#endif - asm ("pushfl\n\t" - "pushfl\n\t" - "popl %0\n\t" - "movl %0,%1\n\t" - "xorl $0x200000,%0\n\t" - "pushl %0\n\t" - "popfl\n\t" - "pushfl\n\t" - "popl %0\n\t" - "popfl" - : "=a" (eax), - "=b" (ebx) - : - : "cc"); + __asm__ ("pushf\n\t" + "pushf\n\t" + "pop %0\n\t" + "movl %0,%1\n\t" + "xorl $0x200000,%0\n\t" + "push %0\n\t" + "popf\n\t" + "pushf\n\t" + "pop %0\n\t" + "popf" + : "=r" (eax), + "=r" (ebx) + : + : "cc"); if (eax == ebx) /* no cpuid */ return 0;
CVS
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/vdr-analogtv login cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/vdr-analogtv co analogtv
Links
[1] | http://www.akool.homepage.t-online.de/index.html | Homepage des Plugins |
[2] | http://sourceforge.net/projects/vdr-analogtv | Projektseite auf Sourceforge |
[3] | http://ivtv.no-ip.info/ | neue IVTV Treiber |
[4] | http://www.metzlerbros.org/dvb/index.html | Libdvb |
[5] | Kanalliste Pal | Zuordnung Kanal-Frequenz |
[6] | http://ivtv.writeme.ch | IVTV Wiki |
[7] | channels.conf analog | Grundgerüst analoge channels.conf |