automatische 4:3/16:9-Umschaltung mit Letterbox-Erkennung!

  • Quote

    Original von UFO
    So - die endgültige Treiberschnittstelle ist auch klar:
    Das Schreiben der WSS-Daten wird über /dev/vbiX laufen. In der Video4linux-2-API ist VBI-Datentransfer (u.a. WSS) vorgesehen. Quasi brandneu. Werde ich verwenden.

    Positiv: Damit wird der Schreibzugriff auf das DVB-Device unnötig.

    Negativ: Wesentlich mehr Arbeit für mich. :§$%


    Hm, dann machma schon mit drei Devices an einer Hardware rum? Na wenn dat ma kein Kuddel-Muddel gibt...!? ?(
    Wie kriegt man eigentlich vernünftig raus, welches /dev/video- mit welchem /dev/dvb-Device korrespondiert? Der VDR grept dazu in /proc/... rum, was wohl net immer so ganz funzt...??? :rolleyes:
    Wird sicher noch n Weilchen dauern - oder? Ich mach dann ers ma mit Deinen Patches los. Hab ne Menge Ideen im Kop gesammelt...Aber die nächsten Tage läuft bei mir eh nix in der Richtung...Herr - gib Zeit! :D

    yaVDR 0.6.2; H61M/U3S3 / G530 / 4GB / GT 520 (passiv) / Cine S2 (Rev. V5.5) + DuoFlex S2 / 120GB SSD (System; SATA>USB) + 3TB SATA 6Gb/s; LCD-TV Toshiba 42VL863G; AVR Yamaha RX-S600...

  • Quote

    Original von habichthugo


    Hm, dann machma schon mit drei Devices an einer Hardware rum? Na wenn dat ma kein Kuddel-Muddel gibt...!? ?(

    Es sind schon wesentlich mehr als 3: siehe /dev/dvb/adapter0/... :P

    Quote


    Wie kriegt man eigentlich vernünftig raus, welches /dev/video- mit welchem /dev/dvb-Device korrespondiert? Der VDR grept dazu in /proc/... rum, was wohl net immer so ganz funzt...??? :rolleyes:

    Damit habe ich mich noch nie beschäftigt. Wozu brauchst Du das dvb-Device?
    Eigentlich sollten nun videoX und vbiX reichen. Damit müßte das Programm unabhängig von vdr laufen können.

    Quote


    Wird sicher noch n Weilchen dauern - oder? Ich mach dann ers ma mit Deinen Patches los. Hab ne Menge Ideen im Kop gesammelt...Aber die nächsten Tage läuft bei mir eh nix in der Richtung...Herr - gib Zeit! :D

    Bin praktisch fertig. Also erst gar nicht mit dem alten Treiber-Patch anfangen. Melde Dich, wenn Du den neuen Patch brauchst.

    CU
    Oliver

  • Quote

    Original von UFO

    Damit habe ich mich noch nie beschäftigt. Wozu brauchst Du das dvb-Device?
    Eigentlich sollten nun videoX und vbiX reichen. Damit müßte das Programm unabhängig von vdr laufen können.


    Na ja, das "Programm" soll ja die FF steuern und sollte damit erst mal selbstständig ermitteln, welches /dev/videoX eigentlich zur FF gehöhrt. Dazu frage ich jetzt schon den 'eigentlichen' Aspect (16:9/4:3) des mpeg-Inputs über das dvb-Device ab (ioctl VIDEO_GET_STATUS)...
    So ganz am VDR vorbei, kann ichs mir eh nicht so recht vorstellen. Denk mal an die Pan&Scan-Modi, die man in den neueren Versionen nun wohl standardmässig einstellen kann. Und n bisserl (IR-Fern-) Steuerung via OSD, z.B. zur manuellen Aspektwahl, wenn die Automatik doch mal spinnt, brauchts ja auch...

    Quote

    Original von UFO
    Bin praktisch fertig. Also erst gar nicht mit dem alten Treiber-Patch anfangen. Melde Dich, wenn Du den neuen Patch brauchst.


    Die nächsten Tage läuft bei mir diesbezüglich nix ernst zu nehmendes. vbiX sacht mich ers ma gar nischt. Wo liesst man sich dazu am besten ein? Beispiel...? An meine Mails komme ich erst wieder ab dem 9. Januar... :D

    yaVDR 0.6.2; H61M/U3S3 / G530 / 4GB / GT 520 (passiv) / Cine S2 (Rev. V5.5) + DuoFlex S2 / 120GB SSD (System; SATA>USB) + 3TB SATA 6Gb/s; LCD-TV Toshiba 42VL863G; AVR Yamaha RX-S600...

  • Quote

    Original von habichthugo
    Gunnar
    Wie siehts denn mit Deiner Thomson-Möre aus? Mal mit der neue Firmware probiert, Probleme...?


    Hi,
    hab inzwischen etwas Zeit zum Basteln gehabt - die geänderte Firmware läuft einwandfrei und der Thomson schaltet perfekt auf 4:3 zurück.
    Hab mich beim ersten schnellen Versuch wohl zu blöd angestellt ?(

    Gunnar

    vdr 2.x / Gentoo Linux / Wavefrontier T-90
    >> no gates no bills just satisfaction <<

  • So, jetzt gibt es einen DVB-Treiber-/Firmware-Patch, der es ermöglicht, der FF via /dev/vbiX das gewünschte WSS mitzuteilen. Vielen Dank - Oliver und Werner! :]
    Mittlerweile konnte ich den Schwarzbalken-Erkennungsalgorithmus noch deutlich verbessern, sodass er u.a. auch mit Sender-Logos in den Pan-Bereichen klar kommt.
    Ich komme nun allerdings nicht weiter, da sich der DVB-Treiber-Patch nicht auf meine Sourcen anwenden lässt:

    Ich bräuchte wohl eine aktuellere Version der linuxtv-dvb-Sourcen bzw. einen aktuelleren cvs-Auszug darin. Nur wie, was wo...? Von diesen Untiefen ich nix Ahnung! Hilfe! :hilfe
    Vielleicht findet sich ein Freiwilliger, der ein aktuelles linuxtv-dvb-Paket (hot-plug-fähig, nebst Headern) für c't-VDR (3.06) - idealer Weise bereits mit den Patches - schnüren kann? :D
    Ansonsten is von meiner Seite wohl erst ma Fini. :rolleyes:;(
    Nur so nebenbei: debian/rules binary bzw. dpkg-buildpackage -tc ergibt bei mir mit dem Originalpaket linuxtv-dvb-ct-source_1.1.1+cvs-041202-4_all.deb?

    yaVDR 0.6.2; H61M/U3S3 / G530 / 4GB / GT 520 (passiv) / Cine S2 (Rev. V5.5) + DuoFlex S2 / 120GB SSD (System; SATA>USB) + 3TB SATA 6Gb/s; LCD-TV Toshiba 42VL863G; AVR Yamaha RX-S600...

  • Quote

    Original von habichthugo
    Ich komme nun allerdings nicht weiter, da sich der DVB-Treiber-Patch nicht auf meine Sourcen anwenden lässt:

    Sollte doch kein größeres Problem sein, die 3 Rejects von Hand aufzulösen. Schau halt mal in die .rej-Dateien.

    CU
    Oliver

  • Quote

    Original von UFO

    Sollte doch kein größeres Problem sein, die 3 Rejects von Hand aufzulösen. Schau halt mal in die .rej-Dateien.


    Denkste!? Na dann versuch mal sowas zu verheiraten: :(


    In meinen Sourcen/Headern fehlen jede Menge der von Dir benutzten Definements und Strukturen (die der Patch selbst nicht mit bringt), z.B. VIDIOC_G_SLICED_VBI_CAP oder V4L2_SLICED_WSS_625. Der meinen Paketen zugrunde liegende cvs-Auszug ist wohl schlicht zu alt (cvs-041202 ~ Ende 2004?). Auch Dein Testprogramm kann ich nicht übersetzen... ;(
    Ohne Hilfe komm ich hier nicht weiter. Ich blick ja schon nich, warum debian/rules binary mir ein neues Quellpaket schnürt, statt eines Binärpakets. Wahrscheinlich müsste ich debian/rules modules oder so verwenden?... :rolleyes:
    Also, ich nix bekommen Hilfe = Schicht!:hilfe
    Wäre schade um die viele Arbeit, die wir uns schon gemacht haben, aber Systemprogrammierung is echt nich mein Ding. Bis zum allgemein verwendbaren Plugin bliebe auch so noch genug für mich zu tun. Ich hatte auch schon weiter gehende Hirngespinste, wie das noch mit dem Framebuffer zu verheiraten...Aber wenn nix Hilfe... ;(
    Ich kann meinen Beamer mitlerweile auch über (LIRCs) irsend steuern. Is zwar nicht ganz so schön, aber geht. Mein 'Leidensdruck' ist also nicht mehr all zu hoch, zumindest gemessen am 'Meckerlevel' meiner Frau (und meiner Tochter) über meinen chronische (geistige) Abwesenheit... :D
    Dazu bin ich zur Zeit praktisch fast völlig arbeitsunfähig, da mir auch noch mein Laptop abgeraucht ist, von dem aus ich sonst auf dem VDR hacke... :§$%

    yaVDR 0.6.2; H61M/U3S3 / G530 / 4GB / GT 520 (passiv) / Cine S2 (Rev. V5.5) + DuoFlex S2 / 120GB SSD (System; SATA>USB) + 3TB SATA 6Gb/s; LCD-TV Toshiba 42VL863G; AVR Yamaha RX-S600...

  • Quote

    Original von habichthugo


    Denkste!? Na dann versuch mal sowas zu verheiraten: :(

    Daß es nicht genau so in deinen Sourcen steht, ist ja klar. Sonst würde patch es hinkriegen.
    Ist trotzdem ganz einfach:

    Quote


    In meinen Sourcen/Headern fehlen jede Menge der von Dir benutzten Definements und Strukturen (die der Patch selbst nicht mit bringt), z.B. VIDIOC_G_SLICED_VBI_CAP oder V4L2_SLICED_WSS_625. Der meinen Paketen zugrunde liegende cvs-Auszug ist wohl schlicht zu alt (cvs-041202 ~ Ende 2004?). Auch Dein Testprogramm kann ich nicht übersetzen... ;(

    Hat nix mit dem DVB-CVS zu tun. Dein video4linux ist einfach zu alt. Da existieren diese Definitionen noch nicht. Habe mal meine videodev2.h Datei angehängt. Mußt die fehlenden Definitionen halt bei Dir irgendwo einbauen. Mit einem aktuellen 2.6er Kernel wärst Du längst fertig...

    Quote


    Ohne Hilfe komm ich hier nicht weiter. Ich blick ja schon nich, warum debian/rules binary mir ein neues Quellpaket schnürt, statt eines Binärpakets. Wahrscheinlich müsste ich debian/rules modules oder so verwenden?... :rolleyes:


    Davon weiß ich nichts und ich will auch mit apten und aptissinnen nix zu tun haben. Mit Umdrehungen pro Minute (rpm) übrigens auch nicht.

    CU
    Oliver

  • Danke Oliver! :]
    Ich weiss, Du mühst Dich redlich mit mir ab. Das Du mir mit dem Debian- bzw. c't-VDR-Krempel nicht helfen kannst, war mir schon klar. Ich hatte gehofft, darauf steigt ein anderer Tiefbrettbohrer ein. Habe auch Tobi per PN um Hilfe gebeten, aber der antwortet erst gar nicht. Ein entsprechender Crack zaubert die entsprechenden Pakete sicher im Handumdrehen, wo ich mich Ehwigkeiten mit aufhalten würde, ohne ein sauberes Resultat zu erzielen, weil ich von dem Krams halt nicht den blassesten Schimmer habe. :hat2 Und letzlich müsste es für die Debianer bzw. c't-VDRler ja eh gemacht werden...
    Ach ja, 'Mit einem aktuellen 2.6er Kernel wärst Du längst fertig...', is n prima Hinweis! Geht ja auch eben mal schnell, so'n Kernel-Wechsel! :rolleyes:
    Na ja, ich seh jetzt erst mal zu, dass ich meinen Laptop wieder zum Laufen kriege... :D

    @All
    :hilfe

    yaVDR 0.6.2; H61M/U3S3 / G530 / 4GB / GT 520 (passiv) / Cine S2 (Rev. V5.5) + DuoFlex S2 / 120GB SSD (System; SATA>USB) + 3TB SATA 6Gb/s; LCD-TV Toshiba 42VL863G; AVR Yamaha RX-S600...

  • Nur mal so am Rande eine Idee dazu (und Lob und Bestätigung für euch, dass eure Arbeit auch Anerkennung findet).


    Da ich nur Kabel-TV habe (darf keine SAT-Schüssel anbringen und DVB-T stört sich am nahegelegen Mobilfunkt-Sendemasten und Umspannwerk), verwende ich ausschließlich DVB-C und analog-TV. Und ich habe einen Phillips 16:9 TV (ohne 100Hz).

    Beim AnalogTV (benutze das pvrinput-plugin, siehe Sig) kommt das Bild natürlich nur als 4:3 rein (halt nie anamorph) . Da würde sich ja gerade eine automatische Erkennung der schwarzen Balken anbieten, um halt bei passenden Sendungen per WSS 16:9 Letterbox zu signalisieren, damit der TV auf den passenden Modus umschaltet. Ich hoffe sowas wird dann nach eure Vorabeit hier möglich und auch noch realisiert.

    Momentan benutze ich für 4:3-Material halt die SuperZoom-Einstellung des TV (welche des Bild an den Rändern verzerrt, um Bildschirmfüllend zu arbeiten). Und ich schallte äußert manuell selten auf 16:9zoom (korrekte Einstellung für 16:9 Letterboxed material), weil mir dass persönlich zu aufwendig ist. Die WSS-Daten erkennt der TV zumindest korrekt, da beim normalen Analogen TV die ÖR auch korrekt 16:9Letterbox-WSS überträgt und der TV dann auf 16:9Zoom schaltet. Die Privaten übertragen sowas natürlich nicht.

    ----------------

    Ach und hier vielleicht noch eine Hilfreiche Anmerkung.

    Der 100Hz Phillips 16:9TV meiner Eltern erkennt automatisch 16:9-Letterbox-format bei den Privaten (schalten da also dann auf 16:9-Zoom oder 14:9-Zoom, je nach bedarf).

    Dabei ist es gänzlich unerheblich, ob die Balken oben schwarz, grau oder rot sind. Auch Senderlogos im oberen Bereich werden ignoriert.

    Ich vermute, der TV achtet auf Änderungen des Bildinhalten oben/unten. Also wenn sich das Bild dort länger als ca. 5sek nicht bewegt, dann schaltet er auf 16:9Zoom (oder 4:3-Zoom, je nach Größe des statischen Bildbereiches).

    Dass funktioniert sehr zuverlässig (ca. 99% der Fälle) Und auch kurze (Werbe)-Einbeldungen oben/unten werden irgnoriert.

    Vielleicht helfen diese Infos ja bei der Optimierung der "Letterbox-Erkennung".

    Also großes Lob an alle beteiligten hier. Weiter so.


    Es wäre


    Ich habe nen Phillips 16:9 TV (nen günstiges Model).

    Server: Hardware: Intel DH77KC, Celeron G1610, 8GB RAM, 2x 5TB HDD, 2x WD 1,9TB HDD; 1x 64 GB SSD (root), System Ubuntu 18.4 / YaVDR ansible headless
    Client: Hardware: Lenovo Q150 (nur Netzwerk, 1GB RAM, ohne DVB-Karte, Igor-USB-Empfänger) System: Ubuntu 18.4 / YaVDR ansible

  • Negge
    Danke für die Lorberen :D, aber ich fürchte das Projekt liegt erst mal auf Eis. ;(
    Mein Schwarzbalken-Erkennungsalgorithmus ist wie gesagt m.E. mitlerweile weitgehend ausgereift, nur kriege ich die Erkentnisse nicht zur FF, sprich, das WSS nicht zum TV, da ich die dazu notwendigen Patches von Oliver nicht auf mein System kriege. Selbst wenn ich es schaffen sollte wird ein Grossteil der potentiellen Anwender wohl vor dem Selben Problem stehen... :P
    Ich habe dieses Problem noch mal in einem extra Thread thematisiert, aber keiner der Experten steigt darauf ein und hilft weiter... ;(

    yaVDR 0.6.2; H61M/U3S3 / G530 / 4GB / GT 520 (passiv) / Cine S2 (Rev. V5.5) + DuoFlex S2 / 120GB SSD (System; SATA>USB) + 3TB SATA 6Gb/s; LCD-TV Toshiba 42VL863G; AVR Yamaha RX-S600...

  • Ich denke, dass der Großteil der potentiellen Anwender schon längst einen 2.6er Kernel in Betrieb hat :P
    ...und deshalb schon sehnsüchtig auf Deine Lösung wartet :D
    Ich kenne mich mit den ct'-Distributionen nicht so aus, aber eigentlich kann es doch kein Hexenwerk sein, das System zu aktualisieren und mit einen aktuellen Kernel zu versehen.
    Und die aktuelle VDR-Distribution ist ja mit 200MB vielleicht nicht ruck-zuck, aber immerhin in erträglichem Rahmen auch über ISDN herunterzuladen. Und wenn alle Stricke reißen sollten, würde ich mich zur Verfügung stellen, und Dir die Distri runterladen, brennen und zuschicken. :rolleyes:

    Dr. Brömme grübelt:
    Acht Wochen, nachdem man ihm beim Kölner Straßenkarneval einen Gratiskorn angeboten hatte,
    dämmert ihm langsam, dass er einem hinterlistigen Alaafisten aufgesessen ist.

  • udobroemme
    Danke für Dein Angebot! Jedoch, selbst wenn ich mich entschliessen sollte meinen VDR zu plätten, um z.B. die c't-VDR 4.5 aufzuspielen (CD habe ich schon), habe ich dann immer noch nicht Olivers Patch drin. Dazu habe ich 100000 Sonderlocken im System, die ich in tagelanger Kleinarbeit wieder reinbasteln müsste... ?(
    Irgend wie kotzt es mich tieisch an, dass ich für jedes Bit, dass ich kippen will, immer mein ganzes System schiessen muss. Das ging mal los, als ich mein erstes Plugin patchen wollte. Ade LinVDR... :§$%

    yaVDR 0.6.2; H61M/U3S3 / G530 / 4GB / GT 520 (passiv) / Cine S2 (Rev. V5.5) + DuoFlex S2 / 120GB SSD (System; SATA>USB) + 3TB SATA 6Gb/s; LCD-TV Toshiba 42VL863G; AVR Yamaha RX-S600...

  • Für jemanden, der selbst etwas entwickeln möchte, sind Fertigdistributionen halt nicht besonders geeignet. ;(

    Btw, wieso müßt ihr eigentlich das ganze System platt machen, nur um Kernel und Treiber zu tauschen?
    Ich kann so viele 2.4er und 2.6er Kernel parallel installieren, wie ich möchte. Und beim Booten auswählen, welchen ich gerne geladen hätte. :]

    So etwas müßte man doch auch bei c't machen können!

    CU
    Oliver

  • Oliver
    Ich habe ja extra auf ein System umgerüstet, das eine entsprechende Flexibilität versprach (Debian basiert). Aber im Detail kriegste halt doch immer wieder nen Hirnknoten. Kernel-Wechsel is ja prinzipiell möglich, aber im Detai... :rolleyes:
    Wenn ich daran denke, wie lange ich z.B. gebraucht habe, um meinen LIRC-Sender (irsend) wieder zum laufen zu kriegen. Da musste ich auch 'nur' genau ein Bit kippen, um den s.g. 'softcarrier' zu aktivieren... :§$%
    Ne, von der ganzen Kernel/Modul-Kacke hab ich die Nase gestrichen voll! Ich versteh von dem Sermons einfach nix! :hat1

    yaVDR 0.6.2; H61M/U3S3 / G530 / 4GB / GT 520 (passiv) / Cine S2 (Rev. V5.5) + DuoFlex S2 / 120GB SSD (System; SATA>USB) + 3TB SATA 6Gb/s; LCD-TV Toshiba 42VL863G; AVR Yamaha RX-S600...

  • habichthugo

    Versuch doch mal den Kernel von Dr. Seltsam!
    Dieser ist zwar für Linvdr kompiliert aber er läuft auch auf Debian!

    Habe diesen selber bei mir unter Debian Sarge am laufen und keine Probleme!

    http://drseltsam.device.name/vdr/kernel2615.html

    http://drseltsam.device.name/vdr/linvdr-kernel-2.6.15.tgz

    Das kernel.tgz File kannst du dir ja im MC anschauen un die nötigen Teile entpacken.
    Dateien die überschrieben werden könnten vorher weg sichern.
    Das entpacken/überschreiben der Gerätedateien (/dev) habe ich nicht durchgeführt!

    Dann noch einen Eintrag im Grub (menu.lst) hinzugefügt und du kannst wahlweise den neuen Kernel laden.

    Gruss,

    Chuck

    1- yavdr 0.5 - DVB-C
    1- VDR-1.7.14 - Xine Pugin - XBMC - DVB-C
    2- Activy 300 mit Gen2VDR V2

    Edited once, last by vdrchuck (January 13, 2006 at 11:55 AM).

  • Die Site, die Du immer wieder heranziehst, um zu verdeutlichen, wie kompliziert es ist, einen neuen Kernel zu installieren, sagt eigentlich nur aus, wie einfach es ist...
    Außer dem Kernel musst Du nur das Paket mit den Module-init-Tools installieren. Wenn Du dann in Deinem Bootmanager einen Eintrag für den 2.4er Kernel und einen für den 2.6er Kernel einrichtest, kannst Du bequem hin- und herschalten. Und sooo viele Herdwareabhängige Geschichten, die unter 2.4 laufen und unter 2.6 nicht, kann es doch eigentlich nicht geben. Die meisten Treibermodule sind doch schon im Kernel enthalten.
    Ich weiß ja nicht, aber in der Zeit, in der Du bisher versucht hast, die v4l-Sourcen auf Dein System zu ziehen, hättest Du schon dreimal einen 2.6er Kernel installieren und alle eventuell notwendigen Treiberupdates durchführen können.
    Aber man kann ja niemanden zu seinem Glück zwingen ;)
    Bevor aber das Projekt auf Eis liegt, biete ich mich völlig selbstlos als Tester an, denn eine korrekte Zoomschaltung per WSS-Flag fehlt mir noch zum Wahrwerden meiner feuchten VDR-Träume :D :D :D

    Dr. Brömme grübelt:
    Acht Wochen, nachdem man ihm beim Kölner Straßenkarneval einen Gratiskorn angeboten hatte,
    dämmert ihm langsam, dass er einem hinterlistigen Alaafisten aufgesessen ist.

  • Ich biete mich hiermit auch als Tester an, bräuchte das ganze dann halt "nur" für meine PVRs (und am besten als fertiges ct'vdr-Paket).

    Ich hoffe, das Packet landet nich auf "Eis". Ich finde das ein sehr guter Ansatz. Wie schon im anderen Thread geschrieben. Ich fand das kernel-updaten nicht schwer. Nutzt du grub oder lilo als bootloader? Mit lilo ist es etwas komplexer, da man da irgendwie lilo updaten muss, bevor ein neuer kernel gebootet werden kann. Mit grub ist das alles kein Problem. Du kannst auch mehrere kernels parallel installiert haben.

    Server: Hardware: Intel DH77KC, Celeron G1610, 8GB RAM, 2x 5TB HDD, 2x WD 1,9TB HDD; 1x 64 GB SSD (root), System Ubuntu 18.4 / YaVDR ansible headless
    Client: Hardware: Lenovo Q150 (nur Netzwerk, 1GB RAM, ohne DVB-Karte, Igor-USB-Empfänger) System: Ubuntu 18.4 / YaVDR ansible

  • Hallo,

    wenn ich mal was vorschlagen darf. Du hast ja drei platten, also auf einer davon platz machen, backup von jetzigen system machen und auf die neue (partition) einspielen. Dann kannst du in ruhe installieren/testen etc. und wenn es in der hose geht kannst du immer wieder backup einspielen. bzw. zum fernschauen einfach das originale booten.
    Ich habe z.b. drei partitionen (auf 2 platten) frei gelasssen für sowas ;)

    Gruß
    Viking

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!