Oh, das hatte ich übersehen. Bei meinem TV muss iWssData für "4:3" auf 0x0e stehen. Bei 0x08 schaltet mein Samsung-TV beim 4:3-Bild in den reudigen Panoramamodus mit völlig verzerrten Proportionen.
[ANNOUNCE] atmo-avards-patch
-
e9hack -
June 5, 2007 at 10:04 PM -
Closed
-
-
Eine Frage an die Patchnutzer:
Bei mir steht vdr nach dem Start seit dem Einsatz des Patches nahezu immer auf 99% CPU-Auslastung. Es kann eigentlich nur mit dem Patch zusammenhängen - vorher war alles normal (im einstelligen Prozentbereich).
Da ich kein Programierer bin - kann man da was optimieren ?
-
Quote
Original von brabax22
Eine Frage an die Patchnutzer:Bei mir steht vdr nach dem Start seit dem Einsatz des Patches nahezu immer auf 99% CPU-Auslastung.
Bei mir sind es ca. 17% (Athlon64 3500+), wobei sicherlich nicht alles vom avards bzw. atmo Plugin kommt.
Gruß
e9hack -
Ich habe mal den Patch an die neue Avards-0.1.2-Version angepasst.
-
Ich habe auch ein klein wenig weitergeschafft. Der angehängte Patch veranlaßt svrdp die GrabImage-Schnittstelle vom Atmo-Plugin zu benutzen. Damit funktioniert dann auch die Live-Image-Anzeige bei vdradmin, wenn das Atmo-Plugin geladen ist. Der Patch war für vdr 1.5.8. Er läßt sich aber auch auf 1.5.12 anwenden.
Gruß
e9hack -
Mit dem svrdp-Patch stimmt irgendetwas noch nicht. Wenn ich einen svdrpsend.pl GRAB-Befehl absetze, kommt die Fehlermeldung:
451 Grab image failedUnd im Log findet sich folgender Eintrag:
(inputffdvb.c:189) -
Quote
Original von udobroemme
Mit dem svrdp-Patch stimmt irgendetwas noch nicht. Wenn ich einen svdrpsend.pl GRAB-Befehl absetze, kommt die Fehlermeldung:
451 Grab image failedUnd im Log findet sich folgender Eintrag:
(inputffdvb.c:189)Es ist kein echtes 'Down-Scaling' implementiert. Der Grab-Befehl funktioniert daher nur, wenn die angeforderte Größe 1/1, 1/2 oder 1/4 der vollen Auflösung ist. Das sind die Default-Werte von vdradmin.
Gruß
e9hack -
Auch bei voller, halber oder viertel Auslösung bleibt das Problem...
-
Quote
Original von udobroemme
Auch bei voller, halber oder viertel Auslösung bleibt das Problem...Kannst Du in Zeile 189 mal folgene Ausgabe einbauen, damit man sieht, warum abgebrochen wird?
Codedsyslog("(%s:%d) cap=%dx%d, grab=%dx%d\n", __FILE__, __LINE__, cap.maxwidth, cap.maxheight, SizeX, SizeY);
Gruß
e9hack -
Mit der Zeile steht beim Aufruf von svdrpsend.pl GRAB test.jpeg 80 768 576 Folgendes im Syslog:
Dec 1 01:54:05 linux vdr: [6165] (inputffdvb.c:189) cap=768x576, grab=768x576
Dec 1 01:54:05 linux vdr: [6165] (inputffdvb.c:190) -
Quote
Original von udobroemme
Mit der Zeile steht beim Aufruf von svdrpsend.pl GRAB test.jpeg 80 768 576 Folgendes im Syslog:Dec 1 01:54:05 linux vdr: [6165] (inputffdvb.c:189) cap=768x576, grab=768x576
Dec 1 01:54:05 linux vdr: [6165] (inputffdvb.c:190)Bei den Werten von x und y darf man an der Stelle eigentlich nicht ankommen:
Code
Display Moreunsigned char* cInputFFDVB::GrabImage(int &Size, bool Jpeg, int Quality, int SizeX, int SizeY) { if (SizeX == 0 || SizeY == 0) { SizeX = cap.maxwidth; SizeY = cap.maxheight; } if ((SizeX != cap.maxwidth && SizeY == cap.maxheight) || (SizeX != cap.maxwidth / 2 && SizeY == cap.maxheight / 2) || (SizeX != cap.maxwidth / 4 && SizeY == cap.maxheight / 4)) { dsyslog("(%s:%d) cap=%dx%d, grab=%dx%d\n", __FILE__, __LINE__, cap.maxwidth, cap.maxheight, SizeX, SizeY); CHECKPOINT; return NULL; }
Möglicherweise habe ich im Sommer auch mehr geändert und hier nur den halben Patch veröffentlicht.
Gruß
e9hack -
Bei mir sieht der Code so aus:
Codeunsigned char* cInputFFDVB::GrabImage(int &Size, bool Jpeg, int Qualitaet, int SizeX, int SizeY) { if (Jpeg || (SizeX && SizeX != cap.maxwidth) || (SizeY && SizeY != cap.maxheight)) { dsyslog("(%s:%d) cap=%dx%d, grab=%dx%d\n", __FILE__, __LINE__, cap.maxwidth, cap.maxheight, SizeX, SizeY); CHECKPOINT; return NULL; }
-
Quote
Original von udobroemme
Bei mir sieht der Code so aus:Codeunsigned char* cInputFFDVB::GrabImage(int &Size, bool Jpeg, int Qualitaet, int SizeX, int SizeY) { if (Jpeg || (SizeX && SizeX != cap.maxwidth) || (SizeY && SizeY != cap.maxheight)) { dsyslog("(%s:%d) cap=%dx%d, grab=%dx%d\n", __FILE__, __LINE__, cap.maxwidth, cap.maxheight, SizeX, SizeY); CHECKPOINT; return NULL; }
Ok, dann muß ich nachbessern...
Gruß
e9hack -
Quote
Original von e9hack
Ok, dann muß ich nachbessern...
Mit den beiden Patches funktionierts bei mir. Die zusätzlichen Änderungen können nur im atmo Plugin sein.
Gruß
e9hack -
Um nicht immer nur Bittsteller zu sein, habe ich einmal die grab.cpp des Live-Plugins angepasst, so dass das Framegrabbing auch damit funktioniert.
-
ich schließe daraus, dass ich als Nutzer von avards und live auch das atmo brauche damit sich beide in das atmo einklinken können um das Bild gemeinsam zu grabben?
Oder funzt das auch ohne atmo?
Und ja, bekomm ich das Ganze auch unter 1.4.7 zum rennen?
Grüße Christian
-
wäre auch an einer lösung für avards und live interessiert, da ich atmo nicht nutze.
-
Kann mir einer dabei helfen:
CodeJan 1 20:38:30 video vdr: [11576] avards-detector thread started (pid=11554, tid=11576) Jan 1 20:38:30 video vdr: [11576] avards Error: Can't init vbi device '/dev/vbi0' (Invalid argument) Jan 1 20:38:30 video vdr: [11576] (detector.c:151)atmo plugin is active
Das Device wird angelegt - hat auch lange funktioniert. Gute Tipps willkommen !
Danke...
-
Hallo brabax22,
hast Du mehr als eine TV Karte? Dann kann es sein, daß Du '/dev/vbi1' anstelle von '/dev/vbi0' verwenden musst, je nach dem, welcher Treiber zuerst geladen wird.
Markus
-
Ja, ich habe drei Karten im Einsatz. Eine FF-DVB, eine Budget und eine DVB-S2 (WinTV). Ich habe jetzt noch mal die Reihenfolge der Module beim Boot 'geordnet' - jetzt ist die FF auch sicher die erste Karte.
Code
Display Moreroot@video:~# ls -al /dev/dvb/ad* /dev/dvb/adapter0: insgesamt 0 drwxr-xr-x 2 root root 200 2008-01-02 09:30 . drwxr-xr-x 5 root root 100 2008-01-02 09:30 .. crw-rw---- 1 root video 212, 1 2008-01-02 09:30 audio0 crw-rw---- 1 root video 212, 6 2008-01-02 09:30 ca0 crw-rw---- 1 root video 212, 4 2008-01-02 09:30 demux0 crw-rw---- 1 root video 212, 5 2008-01-02 09:30 dvr0 crw-rw---- 1 root video 212, 3 2008-01-02 09:30 frontend0 crw-rw---- 1 root video 212, 7 2008-01-02 09:30 net0 crw-rw---- 1 root video 212, 8 2008-01-02 09:30 osd0 crw-rw---- 1 root video 212, 0 2008-01-02 09:30 video0 /dev/dvb/adapter1: insgesamt 0 drwxr-xr-x 2 root root 120 2008-01-02 09:30 . drwxr-xr-x 5 root root 100 2008-01-02 09:30 .. crw-rw---- 1 root video 212, 68 2008-01-02 09:30 demux0 crw-rw---- 1 root video 212, 69 2008-01-02 09:30 dvr0 crw-rw---- 1 root video 212, 67 2008-01-02 09:30 frontend0 crw-rw---- 1 root video 212, 71 2008-01-02 09:30 net0 /dev/dvb/adapter2: insgesamt 0 drwxr-xr-x 2 root root 120 2008-01-02 09:30 . drwxr-xr-x 5 root root 100 2008-01-02 09:30 .. crw-rw---- 1 root video 212, 132 2008-01-02 09:30 demux0 crw-rw---- 1 root video 212, 133 2008-01-02 09:30 dvr0 crw-rw---- 1 root video 212, 131 2008-01-02 09:30 frontend0 crw-rw---- 1 root video 212, 135 2008-01-02 09:30 net0 root@video:~#
Es gibt auch nur ein vbi-Device:Coderoot@video:~# ls -al /dev/vb* crw-rw---- 1 root video 81, 224 2008-01-02 09:30 /dev/vbi0 root@video:~#
Allerdings klappt der Zugriff immer noch nicht:CodeJan 2 09:30:41 video vdr: [6900] avards-detector thread started (pid=6661, tid=6900) Jan 2 09:30:41 video vdr: [6900] avards Error: Can't init vbi device '/dev/vbi0' (Invalid argument) Jan 2 09:30:41 video vdr: [6900] (detector.c:151)atmo plugin is active
??? -
Participate now!
Don’t have an account yet? Register yourself now and be a part of our community!