QuoteDisplay More
Hello,
here is a first release of the pvrinput plugin for VDR. It uses a Hauppauge PVR card (supported by ivtv drivers) as an input device for VDR. I am using it with driver version 0.2.0rc3j and encoder firmware 2.04.211.
I have written this plugin because I was a bit unhappy about some things with analogtv. Motivated by a mail from Lars Altenhain on this list I tried an approach a bit different from the analogtv plugin. The reading of the PES data an the conversion to TS is done in a thread in the background without interrupting it on channel switch. The packets are then read out and delivered to VDR in the GetTSPacket function.
Additionally the plugin reads the teletext data from the vbi device (/dev/vbi0 is hardcoded at the moment) and converts it to TS packets that the osdteletext plugin is able to receive. Sometimes one or two lines are wrong but its working quite good here.
Compared to the analogtv plugin the following is better here with my configuration (Hauppauge PVR 250, Kernel 2.6, ivtv 0.2.0rc3j):
- Faster channel switching
- no video flickerung after channel switch
- just minimal stuttering in sound after channel switch
- and of course teletext support
Expect problems to get it running in your environment, especially regardings device configuration :).
You can find it here: http://home.arcor.de/andreas.r…es/vdr-pvrinput-0.0.1.tgz
Andreas
[ANNOUNCE] vdr-pvrinput-0.0.1
- powarman
- Closed
-
-
Hi, leider bekomm ich folgendes beim compilieren:
Code
Display Moreg++ -g -O2 -Wall -Woverloaded-virtual -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"pvrinput"' -I../../../include -I../../../../DVB/include plugin.c g++ -g -O2 -Wall -Woverloaded-virtual -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"pvrinput"' -I../../../include -I../../../../DVB/include common.c g++ -g -O2 -Wall -Woverloaded-virtual -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"pvrinput"' -I../../../include -I../../../../DVB/include device.c device.c: In method `void cPvrVbiReadThread::Action()': device.c:229: warning: large integer implicitly truncated to unsigned type device.c: In method `bool cPvrDevice::Tune(int)': device.c:435: `struct v4l2_frequency' has no member named `tuner' device.c:436: `struct v4l2_frequency' has no member named `type' device.c:436: `V4L2_TUNER_ANALOG_TV' undeclared (first use this function) device.c:436: (Each undeclared identifier is reported only once device.c:436: for each function it appears in.) device.c: In method `bool cPvrDevice::SetVideoNorm(int)': device.c:460: use of namespace `std' as expression device.c:460: parse error before `;' device.c:465: use of namespace `std' as expression device.c:465: `V4L2_STD_PAL' undeclared (first use this function) device.c:468: use of namespace `std' as expression device.c:468: `V4L2_STD_NTSC' undeclared (first use this function) device.c:471: use of namespace `std' as expression device.c:471: `V4L2_STD_SECAM' undeclared (first use this function) device.c:475: use of namespace `std' as expression make[1]: *** [device.o] Error 1
-
Yep, me too. Welche lib fehlt uns denn da ?
Gruss
blafasel -
In device.c, Zeile 12 ändern in
Quote#include <libdvb/transform.h>
dann compiliert es. Ob's funktioniert, hab ich noch nicht getestet.Markus
-
Hmm... Mir hilft das leider nicht:
Code
Display Moreg++ -g -O2 -Wall -Woverloaded-virtual -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"pvrinput"' -I../../../include -I../../../../DVB/include device.c device.c: In member function `bool cPvrDevice::Tune(int)': device.c:432: error: aggregate `v4l2_frequency vf' has incomplete type and cannot be defined device.c:436: error: `V4L2_TUNER_ANALOG_TV' undeclared (first use this function) device.c:436: error: (Each undeclared identifier is reported only once for each function it appears in.) device.c:439: error: `VIDIOC_S_FREQUENCY' undeclared (first use this function) device.c: In member function `bool cPvrDevice::SetInput(int)': device.c:450: error: `VIDIOC_S_INPUT' undeclared (first use this function) device.c: In member function `bool cPvrDevice::SetVideoNorm(int)': device.c:460: error: use of namespace `std' as expression device.c:460: error: Fehler beim Parsen before `;' token device.c:465: error: use of namespace `std' as expression device.c:465: error: `V4L2_STD_PAL' undeclared (first use this function) device.c:468: error: use of namespace `std' as expression device.c:468: error: `V4L2_STD_NTSC' undeclared (first use this function) device.c:471: error: use of namespace `std' as expression device.c:471: error: `V4L2_STD_SECAM' undeclared (first use this function) device.c:475: error: `VIDIOC_S_STD' undeclared (first use this function) device.c:475: error: use of namespace `std' as expression device.c: In member function `bool cPvrDevice::SetVideoSize(int, int)': device.c:485: error: aggregate `v4l2_format vfmt' has incomplete type and cannot be defined device.c:487: error: `VIDIOC_G_FMT' undeclared (first use this function) device.c:494: error: `VIDIOC_S_FMT' undeclared (first use this function) device.c: In member function `bool cPvrDevice::SetPicture(int, int, int, int)': device.c:556: error: aggregate `v4l2_control ctrl' has incomplete type and cannot be defined device.c:558: error: `V4L2_CID_BRIGHTNESS' undeclared (first use this function) device.c:560: error: `VIDIOC_S_CTRL' undeclared (first use this function) device.c:566: error: `V4L2_CID_CONTRAST' undeclared (first use this function) device.c:574: error: `V4L2_CID_SATURATION' undeclared (first use this function) device.c:582: error: `V4L2_CID_HUE' undeclared (first use this function) device.c: In member function `bool cPvrDevice::SetVolume(int)': device.c:594: error: aggregate `v4l2_control ctrl' has incomplete type and cannot be defined device.c:596: error: `V4L2_CID_AUDIO_VOLUME' undeclared (first use this function) device.c:604: error: `V4L2_CID_AUDIO_MUTE' undeclared (first use this function) make[1]: *** [device.o] Fehler 1
-
Hi,
hm sieht so aus, als wäre nur video4linux version 1 vorhanden, das plugin benötigt aber version 2.
Kann auch sein, dass nur die header dateien in /usr/include veraltet sind
Andreas
-
Hallo,
da sich hier bisher nur negative Meldungen sammeln hier mal eine positive !
Bei mir hat das Plugin keinerlei Probleme beim kompilieren gemacht.
Leider sitze ich 300 km weg vom VDR und konnte mir bisher nur das analoge Bild per XXV-Remote anschauen ....aber soweit sieht alles sehr sehr gut aus !!Kann es kaum erwarten zuhause das Umschalten und den Ton zu testen.
Die langen Umschaltzeiten und das Stottern bei analogtv nerven mich schon lange ....Werde morgen abend mal berichten wies "live" läuft.
Vielen Dank schonmal an powarman für das wichtige Plugin !!
steffx
P.S: Ist es mit dem Plugin auch möglich mehrere PVRs zu betreiben ??
-
Tach Andreas,
da du ja gestern im Chat aus welchen Gründen auch immer, vor mir geflohen bist, hier meine nochmalige Bitte, das ganze vielleicht mal auf Realisierbarkeit für Firewire zu checken.
Vielen Dank ! Es hat auch gerne bis zum Winter Zeit.
Greets Olaf
-
So, nun hab ichs auch am Fliegen.
Nur flugs den "richtigen" ivtv-Treiber geholt und installiert, die videodev2.h aus dem ivtv-Paket ins pvrinput Verzeichnis kopiert und included und schwupps es funzt ganz wunderbar !
Umschalten ist ca. Faktor 5-10 schneller als mit dem analogtv plugin und Videotext funktioniert auch blendend !
Thanks für dieses cooooole Plugin
Sind noch Erweiterungen geplant ? (Bitrate einstellen, Videoeingänge ?)
Gruss
blafasel -
Hallo,
ich benutze bei meiner PVR mangels Kabelanschluss nur den Videoeingang, ist die Unterstützung geplant?
MfG
Jürgen
-
Quote
Original von blafasel
die videodev2.h aus dem ivtv-Paket ins pvrinput Verzeichnis kopiert und includedich vermute mal, das ist ein workaround wegen video4linux2 ? Da das vermutlich nicht in der Readme oder Install drin steht.. kannst Du das mal etwas näher beschreiben? Wie hast Du das Makefile angepasst?
-
Quote
Original von Dr. Seltsam
ich vermute mal, das ist ein workaround wegen video4linux2 ? Da das vermutlich nicht in der Readme oder Install drin steht.. kannst Du das mal etwas näher beschreiben? Wie hast Du das Makefile angepasst?
Sehr gern:wget http://umn.dl.sourceforge.net/…/ivtv/ivtv-0.2.0-rc3j.tgz
tar xvzf ivtv-0.2.0-rc3j.tgz
cd ivtv-0.2.0-rc3j/driver
cp videodev2.h /usr/local/src/vdr/vdr-1.3/vdr-1.3.25/PLUGINS/src/pvrinput/
cd /usr/local/src/vdr/vdr-1.3/vdr-1.3.25/PLUGINS/src/pvrinput/
joe device.cIn Zeile 11:
durch
ersetzen.
die "transform.h" habe ich direkt aus dem libdvb-Verzeichnis included.
Danach gings bei mir.
Gruss
blafasel -
Hallo powarman,
so jetzt konnte ich das Ganze mal "live" testen - ich bin schlicht begeistert. Kann beim Umschalten kaum noch einen Unterschied zwischen analogen und digitalen Kanälen feststellen. Das Stottern ist nahezu verschwunden.
Die von Dir im Chat angesprochenen ""Firmware-Abstürze" hatte ich bisher noch nicht.
Zum Thema Finetuning fällt mir im Moment eigentlich nur eine Sache ein, die zwar nicht wirklich stört aber ich merks mal an:Schalte ich zwischen digitalen Kanälen um kommt sofort die Channel-Info ... dann das Bild.
Bei PVRinput kommt erstmal die "Umschaltgedenksekunde", dann das Bild und dann die Channelinfo ... das unterschiedliche Verhalten stört den "Zappingrhythmus" weil man nicht wirklich weiß ob der nächste Kanal nun gewählt ist oder nicht ... und man leicht über Kanäle hinwegschaltet ...Hoffe ich habe das klar genug beschrieben.
Wie gesagt - keine große Sache ... aber vielleicht ist das ja in der 0.0.2 leicht zu ändern.
steffx
-
Ich habe eben festgestellt, daß ich keinen Teletext angezeigt bekomme.
Bei meinen digitalen Kanälen schalte ich einfach am TV auf Teletext (ich benutze nicht das OSD-Plugin) und bekomme ganz normal den Teletext.Bei meinen pvrinput-Kanälen wird nix angezeit - hab ich was vergessen ?
steffx
-
-
Hi Eichbaum,
ich teile dein Schicksal und habe mir zur Linderung eine PVR150 gegönnt (das geht übrigens auch schon mit dem analogtv-Plugin). Ich nutze das ganze allerdings nur zum Aufnehmen. Zum Gucken kann ja auch der TV das analoge Signal empfangen.
Ich bin mit meiner analogtv-Plugin-Lösung eigentlich zufrieden. Habe ab und zu ein paar Knackser in den Aufnahmen, was ich hoffentlich durch einen schnellern Prozessor wegbekomme. Aber das pvrinput-Plugin werd ich sicher auch mal testen.
Gruß
Mag1c -
Als alter analogtv-Nutzer hatte ich nicht gedacht, dass es da mal Konkurrenz geben könnte, aber...
Hier läuft pvrinput ohne Probleme. Ich habe gleich mal den vdr-stuttering-patch reversed und siehe da: Auch jetzt keine Probleme und die Umschaltzeiten sind genial. Wenn jetzt noch die Videoeingänge tun und mehrere PVRs unterstützt werden - man wird doch noch träumen dürfen.Nun zu 3 Auffälligkeiten:
- Teletext geht auch nicht bei mir am TV. Wird da eventuell nur das Teletext-Plugin unterstützt?
- Beim Start des Plugins erhalte ich die MeldungDanach funktioniert es aber einwandfrei und sauschnell.
- Beim Starten einer Aufnahme gibt es einen kurzen Knackser im Bild. Ist das auch bei euch so?Gruss
Joe
-
Hi,
Teletext geht nur mit dem teletext plugin, am TV geht es nicht.
steffx:
das mit der Anzeige kommt daher, dass beim VDR das tuning in einem extra Thread abläuft, beim pvrinput findet das sozusagen im VDR-Task statt und der wird so lange blockiert, deshalb keine Info. Aber ich habe geplant, das analog wie der VDR bei DVB auch in einen extra Thread auszulagern, einer mehr spielt ja nun nicht die entscheidende Rolle :).Andreas
-
ich bin begeistert
kompiliert unter Suse 9.0 ohne irgendwelche Anpassungen am Makefile in null-komma-nix ohne Probleme.
Läuft auch problemlos mit dem pvr350-Plugin zusammen! Auch hier ist eine Geschwindigkeitssteigerung erkennbar.
Noch ein Hinweis: Die neuesten Anti-Stotter-Patches für analogtv (Erhöhung der Bufferreserve für analoge Kanäle) funktionieren natürlich nicht, da die CA-ID geändert wurde. Ich habe dafür den ursprünglichen Patch von panamajack genommen, der im Transfermode generell die Bufferreserve erhöht. Sieht ja so aus, als wenn das auch für DVB-T Sinn macht.
Jetzt warten wir alle demütig und gespannt auf die Implementierung der Videoeingänge
-
Hi,
Quote
Noch ein Hinweis: Die neuesten Anti-Stotter-Patches für analogtv (Erhöhung der Bufferreserve für analoge Kanäle) funktionieren natürlich nicht, da die CA-ID geändert wurde. Ich habe dafür den ursprünglichen Patch von panamajack genommen, der im Transfermode generell die Bufferreserve erhöht. Sieht ja so aus, als wenn das auch für DVB-T Sinn macht.Soweit ich das bisher beurteilen konnte wird der Anti-Stotter-Patch für das pvrinput plugin auch gar nicht mehr gebraucht. Ich habe den Patch zuammen mit dem analogtv Plugin in Rente geschickt und bisher lief es auch ohne den Patch hervorragend. DVB-T ist dann schon wieder eine andere Baustelle.
Lars
Participate now!
Don’t have an account yet? Register yourself now and be a part of our community!