Außerdem wird der Text abgeschnitten!
[Blockierte Grafik: https://i.imgur.com/fMZUk8M.png]
[osdteletext] Patch für High-Level-OSDs
-
-
maz
Dass bei Dir das Speichern der Settings nicht geht, ist schon sehr eigenartig. Hat der VDR-User die Rechte zum Schreiben in die settings.conf bzw. kannst Du andere Einstellungen speichern? Ich habe an der Stelle eigentlich nur einen Punkt für den Font hinzugefügt.
Bei dem Problem mit den überlagerten Seiten weiß ich gerade auch nicht weiter. Ich nutze die Standard DrawBitmap Funktion des OSD. louis, reufer Wird da vielleicht jedesmal ein neuer Layer im OSD erzeugt? Oder muss man die neu gezeichnete Bitmap irgendwie "mergen"?crow
In Deinen Settings steht ja der Dejavu Sans Mono Font, laut log wird aber der Courier:Bold verwendet. Gehört das log zu den Einstellungen? Bei mir verwendet er den eingestellten Font (in Deinem Beispiel wär das der Dejavu). Dann müsste ich da nochmal schauen. Courier:Bold ist der Standard Fixed Font des VDR (definiert in fonts.c). Etwas besser ist die Ausgabe bei Dir ja geworden, der "Augenkrebs" ist weg Allerdings verstehe ich die Lücken zwischen den Buchstaben noch nicht ganz. Ich prüfe das nochmal.louis
Kurze Frage dazu. Ich kann im Moment nur auf meinem Laptop testen. Da nutze ich den Intel-Treiber, der ja nur va-api hat. Kann man da irgendwie das shd openglosd zum Laufen kriegen. Die NVIDIA GPU ist nur per optimus (bumblebee) erreichbar, da bekomme ich kein Bild/OSD, wenn ich das nutzen will. Vielleicht hat ja jemand einen Tipp, wie ich mit dieser Konfiguration ein shd openglosd nutzen kann.MegaV0lt
Die abgeschnittenen Buchstaben hängen stark vom verwendeten Font ab (wie die glyphs im font definiert sind, ob das bearingY gleich der Höhe des Zeichens ist). Mit den VDR Font Bordmitteln komme ich da vermutlich nicht weiter. Bliebe nur, die freetype Bibliothek direkt zu nutzen und dort alle Font Metriken auszulesen. Dann kann ich aber die (beschleunigte) DrawText Funktion nicht mehr nutzen. Die liegt zwar im Moment aufgrund der Font Width Problematik der HiLevel OSD Treiber auf Eis, könnte dann aber gar nicht mehr verwendet werden. Als Workaround empfehle ich, ein wenig in der Fontliste zu suchen, welcher Font dieses Problem nicht hat. Ich nutze den FreeMono:Standard. Ich schaue aber nochmal, ob da noch ein Bug drin ist, der die Teile der Buchstaben überschreibt.Gruß,
kanadakruemel -
Jetzt wo ich drüber nachdenke...du verwendest doch eine Pixmap zum zeichnen der Bitmap oder? Löscht du die (bzw. Fill mit clrTransparent), bevor du die nächste Bitmap zeichnest? Falls nein, könnte das den Effekt erklären - bzw. ich hätte da noch einen Bug dass ich die Bitmap mit der bereits bestehenden überblende und nicht "hart drüberzeichne".Kurze Frage dazu. Ich kann im Moment nur auf meinem Laptop testen. Da nutze ich den Intel-Treiber, der ja nur va-api hat. Kann man da irgendwie das shd openglosd zum Laufen kriegen. Die NVIDIA GPU ist nur per optimus (bumblebee) erreichbar, da bekomme ich kein Bild/OSD, wenn ich das nutzen will. Vielleicht hat ja jemand einen Tipp, wie ich mit dieser Konfiguration ein shd openglosd nutzen kann.
Nein das ist aktuell nicht möglich. Es wird eine NVidia Karte bzw. Ausgabe per VDPAU vorausgesetzt.Ciao Louis
-
Ich nutze den FreeMono:Standard
Am besten einen Font als default gleich mitliefern oder fest einbauen, der keine Darstellungsfehler hat. Gibt es denn die Möglichkeit den Videotext so anzuzeigen, wie es das ursprüngliche Plugin gemacht hat? Mir wäre eine korrekte Anzeige inkl. Transparenz wichtiger als "schöne" Schriften.
PS: Selber habe ich das OpenGLOSD noch nicht am laufen, weil es im FlatPlus Skin noch Darstellungsfehler gibt -
kanadakruemel
Ja das Log gehört zum Bild und setup.conf einstellungen. (ich glaube die sind default mit VDR 2.3.1 (100% sicher bin ich mir nicht). -
louis
Ok, schade, dass es mit va-api nicht geht. (hat SHD nicht einen nur-opengl-modus? könnte man den vielleicht mit openglosd aufbohren?)
Ich verwende eine cBitmap zum Zeichnen und nein, ich habe sie nicht mit Fill initialisiert (muss es . Das könnte ich aber heute Abend schnell mal einbauen. Muss es clrTransparent sein, oder könnte ich auch mit einer beliebigen Farbe füllen? Ich bin davon ausgegangen, dass DrawText den Hintergrund mit der Farbe füllt, die ich bei DrawText angegeben habe.MegaV0lt
Es ist schwierig, einen Font vorzugeben, da ich nicht weiß, ob er installiert ist. Ich muss mal schauen was passiert, wenn der angegebene Font nicht gefunden wird. Was meinst Du mit "wie es das Plugin ursprünglich gemacht hat"? Dann brauchst Du doch den Patch nicht. Maximal den von reufer am Threadanfang. Ziel des Patches soll natürlich eine fehlerfreie Darstellung sein, aber mit "schönem" Text.crow
Dann schau ich nochmal, ob beim Holen/Verwenden der Settings noch was im Argen liegt. Ich hab mal meine Teletext Breite/Höhe wie bei Dir eingestellt, da kamen dann auch die Streifen zwischen den einzelnen Zeichen. Mit meinen Einstellungen (B/H: 1280/1056) sind die weg. Das könnte vielleicht auch mit dem Problem der nicht initial gefüllten Bitmap zusammenhängen, das Louis erwähnt hat. Das sehe ich dann heute Abend...
Anbei ein Screenshot vom teletext auf ServusHD mit meinen Einstellung (und plain SHD).Gruß,
kanadakruemel -
Ok, schade, dass es mit va-api nicht geht. (hat SHD nicht einen nur-opengl-modus? könnte man den vielleicht mit openglosd aufbohren?)
Könnte man sicherlich...müsste sich nur jemand drum kümmern. Am besten jemand mit der passenden VAAPI HardwareIch verwende eine cBitmap zum Zeichnen und nein, ich habe sie nicht mit Fill initialisiert (muss es . Das könnte ich aber heute Abend schnell mal einbauen. Muss es clrTransparent sein, oder könnte ich auch mit einer beliebigen Farbe füllen? Ich bin davon ausgegangen, dass DrawText den Hintergrund mit der Farbe füllt, die ich bei DrawText angegeben habe.
Nicht die Bitmap, sondern die Pixmap, in die du die Bitmap zeichnest. Meine Vermutung wäre, dass ich noch einen Bug habe, dass falls eine Bitmap in eine Pixmap gezeichnet wird, der Inhalt der Pixmap (also das vorherige Bitmap) nicht überschrieben wird, sondern überblendet wird. Das darf so nicht sein, die VDR API sieht vor, dass bei wiederholtem zeichnen in eine Pixmap der Inhalt überschrieben wird.Zeig doch mal, wie du die erzeugte Bitmap ausgibst...
Ciao Louis
-
Es ist schwierig, einen Font vorzugeben, da ich nicht weiß, ob er installiert ist. Ich muss mal schauen was passiert, wenn der angegebene Font nicht gefunden wird. Was meinst Du mit "wie es das Plugin ursprünglich gemacht hat"? Dann brauchst Du doch den Patch nicht. Maximal den von reufer am Threadanfang. Ziel des Patches soll natürlich eine fehlerfreie Darstellung sein, aber mit "schönem" Text.
Wenn man keinen Font vorgeben kann, dann liefere doch einen mit, der im System installiert werden kann, und dann gewählt wird.
Oder eine Einstellung, dass man die Höhe der Buchstaben anpassen kann, damit die richtig angezeigt werden (Fontskalierung o. Ä. in 0,x % Schritten)
Das Originalplugin verwendet doch keinen extra Font. Der ist drort doch eingebaut. Auch funktioniert da das mit de rTransparenz.
Einen Patch brauche ich sicher, das das Originalplugin nichts anzeigt, wenn ich openGLOSD aktiviere. -
Ich konnte das Problem mit den Settings, die bei mir nicht übernommen wurden, inzwischen lösen. Es lag daran, dass ich mit nicht ganz aktuellen vdr sourcen kompiliert hatte. Jetzt passt auch die Darstellung (wenn ich die Opazität auf 255 stelle), auf Dauer wäre es aber schön wenn auch die transparente Darstellung wieder korrekt funktionieren würde.
-
Hallo,
hier ist die aktuelle Version meines OSDTeletxt TTF Patches. Die störenden Linien zwischen den Zeichen sollten jetzt beseitigt sein. Als Standardfont habe ich jetzt FreeMono:Standard eingetragen. Bei diesem Font werden u.a. die Zeichen unten nicht abgeschnitten (bei z.B. g q f usw.). Auch wird jetzt bei jedem Zeichen der Hintergrund vorinitialisiert. Ob das reicht, die überlappenden Seiten beim openglosd SHD zu verhindern, weiss ich leider nicht.Gruß,
kanadakruemel -
Vielen Dank.
Kannst Du deine OSD einstellungen posten?
Hier mit VDR 2.3.1 und rpihddevice hat sich nicht viel gändert.Kanal wechseln und Teletext start:
Code
Alles anzeigenMar 11 07:51:40 vdrrpi vdr[2225]: [2320] switching to channel 6 (ServusTV HD Oesterreich) Mar 11 07:51:40 vdrrpi vdr[2225]: [2320] CAM 1: unassigned Mar 11 07:51:40 vdrrpi vdr[2225]: [2325] osdteletext-receiver thread ended (pid=2225, tid=2325) Mar 11 07:51:40 vdrrpi vdr[2225]: [2320] buffer stats: 0 (0%) used Mar 11 07:51:40 vdrrpi vdr[2225]: [2320] CAM 1: assigned to device 1 Mar 11 07:51:40 vdrrpi vdr[2225]: [2324] device 1 TS buffer thread ended (pid=2225, tid=2324) Mar 11 07:51:40 vdrrpi vdr[2225]: [2323] buffer stats: 397620 (7%) used Mar 11 07:51:40 vdrrpi vdr[2225]: [2323] device 1 receiver thread ended (pid=2225, tid=2323) Mar 11 07:51:40 vdrrpi vdr[2225]: [2552] device 1 receiver thread started (pid=2225, tid=2552, prio=high) Mar 11 07:51:40 vdrrpi vdr[2225]: [2553] device 1 TS buffer thread started (pid=2225, tid=2553, prio=high) Mar 11 07:51:40 vdrrpi vdr[2225]: [2554] osdteletext-receiver thread started (pid=2225, tid=2554, prio=high) Mar 11 07:51:40 vdrrpi vdr[2225]: [2320] SVDRP < 127.0.0.1:45672 connection closed Mar 11 07:51:40 vdrrpi vdr[2225]: [2320] SVDRP < 127.0.0.1:45672 server destroyed Mar 11 07:51:40 vdrrpi vdr[2225]: [2237] rpihddevice: set HDMI audio output format to 2ch PCM, 48.0kHz Mar 11 07:51:40 vdrrpi vdr[2225]: [2552] rpihddevice: set video codec to H264 Mar 11 07:51:42 vdrrpi vdr[2225]: [2236] rpihddevice: video stream started 1920x1080@50i PAR(1:1) Mar 11 07:51:55 vdrrpi vdr[2225]: [2225] OSD-Teletext: 32BPP Mar 11 07:51:55 vdrrpi vdr[2225]: [2225] OSD-Teletext: osd width = 1664, height = 907 Mar 11 07:51:55 vdrrpi vdr[2225]: [2225] OSD-Teletext: font width * 2 = 83, height = 72
OSD grab
-
Ich bin mir nicht sicher ob die meldung jetzt mit dem OSDTeletxt TTF patches zu tun hat oder ist das so allgemein, dass das Plugin Berechtigung auf alle unterordner im /tmp benötigt?
Code
Alles anzeigenMar 13 23:55:12 vdr01 vdr[3979]: [3979] loading plugin: /usr/lib/vdr/plugins/libvdr-osdteletext.so.2.2.0 ... Mar 13 23:55:14 vdr01 vdr[3979]: [3979] initializing plugin: osdteletext (0.9.5): Displays teletext on the OSD ... Mar 13 23:55:14 vdr01 vdr[3979]: [3979] starting plugin: osdteletext ... Mar 13 23:55:16 vdr01 vdr[3979]: [4007] osdteletext-receiver thread started (pid=3979, tid=4007, prio=high) ... Mar 13 23:55:32 vdr01 vdr[3979]: [4007] osdteletext-receiver thread ended (pid=3979, tid=4007) ... Mar 13 23:55:32 vdr01 vdr[3979]: [4068] osdteletext-receiver thread started (pid=3979, tid=4068, prio=high) ... Mar 14 11:57:29 vdr01 systemd[1]: Stopping Video Disk Recorder... Mar 14 11:57:29 vdr01 vdr[3979]: [3979] stopping plugin: osdteletext Mar 14 11:57:29 vdr01 vdr[3979]: [4068] osdteletext-receiver thread ended (pid=3979, tid=4068) Mar 14 11:57:29 vdr01 vdr[3979]: [3979] buffer stats: 0 (0%) used Mar 14 11:57:29 vdr01 vdr[3979]: [3979] OSD-Teletext: Error opening teletext storage subdirectory "/tmp/mc-root": Permission denied Mar 14 11:57:31 vdr01 vdr[3979]: [3979] deleting plugin: osdteletext Mar 14 11:57:32 vdr01 vdr[3979]: [3979] caught signal 15 Mar 14 11:57:32 vdr01 vdr[3979]: [3979] exiting, exit code 0 Mar 14 11:57:32 vdr01 systemd[1]: Stopped Video Disk Recorder.
-
Gib ihm am besten ein eigenes Verzeichnis für sich - ich denke es wird beim Start nachsehen, was im Cache-Dir liegt und dabei muss es bestehende Dateien und Ordner durchgehen.
-
funktioniert ganz gut aber irgendwie wird der Hintergrund nicht wirklich gelöscht wenn ich mal schnell 10 Seiten mit "up" durchgehe sieht mans ganz deutlich das der Hintergrund nicht refreshed wird.
Auch find ich die Schrft zwar sehr schön rund und geschmeidig, aber sie könnte anders als auf dem zweiten Bild schon einen Hauch kräftiger sein damit sich ein größerer Kontrast ergibt.
Christian
-
Moin,
funktioniert ganz gut aber irgendwie wird der Hintergrund nicht wirklich gelöscht wenn ich mal schnell 10 Seiten mit "up" durchgehe sieht mans ganz deutlich das der Hintergrund nicht refreshed wird.
hast du die Transparenz im Plugin Setup auf 255 gestellt?Ciao Louis
-
hast du die Transparenz im Plugin Setup auf 255 gestellt?
mit 255 ist's gut aber es ging ja früher auch immer so mit 200, dann konnte man noch leicht das Programm dahinter verfolgen.
Das andere liegt wohl am Font: welcher ist denn hier der angedachte: mit dem dejavu siehts schon besser aus?
Christian
-
mit 255 ist's gut aber es ging ja früher auch immer so mit 200, dann konnte man noch leicht das Programm dahinter verfolgen.
Jo das ist ein Bug im softhddevice-openglosd. Da das ganze aber für mich keine Prio hat, hatte ich bisher weder Zeit noch Lust, das zu fixenCiao Louis
-
nöö, lass dir ruhig Zeit - wollte es nur gemeldet haben, sag einfach Bescheid wenns was zum Testen gibt
ich komm im Moment mit 255 ganz gut klar, vllt finde ich ja auch noch den idealen Font raus
Christian
-
Jo das ist ein Bug im softhddevice-openglosd. Da das ganze aber für mich keine Prio hat, hatte ich bisher weder Zeit noch Lust, das zu fixenCiao Louis
Hi Louis,
hattest Du dafür doch irgendwann einen Patch geschrieben? Aus yaVDR 0.6 ist der Bug nämlich mit irgendeinem Update vor ich glaube ca. 1 Jahr verschwunden. Nun habe ich den VDR mit Ubuntu 18.04 neu aufgesetzt und stoße wieder auf den gleichen Fehler. Fehlt da evtl ein Fix im entsprechenden Paket? Könntest Du das evtl. mal prüfen? Ich denke Du bist da vermutlich der fitteste Wenn Du keine Zeit oder keine Lust hast sag bitte einfach kurz Bescheid, dann muss ich anderweitig mal danach suchen.
Danke schon mal im Voraus!
Viele Grüße,
Stephan
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!