Softdecoder plugin

  • Hi, gestern ist mein erstes Plugin fertig geworden.


    Man kann damit den Framebuffer als Ausgabegerät verwenden.


    Runterladen kann man es hier


    Momentan dient das Plugin um zu zeigen, dass es geht. Es fehlen noch
    einige grundlegenden Funktionen, wie AV-Sync und Scaling


    Gruß
    Roland

    Software: VDR 1.4.3, mp3, osdpip, streamdev-server, femon, wapd, X11, Wireless Keyboard Kernel: 2.6.18
    Hardware: 1x DVB-S v 1.3, 1x Skystar 2, Celeron@2GHz, 256 MB RAM, 4 HDs Raid1/5, Total: 600 GB, Asus P4S533 cmi8738 & LAN on board 6 PCI
    40" Sammelbestellungs-LCD an ATI Radeon 9550 DVI-Out + tvtime, 70 cm TV an J2-RGB-Out
    Organisator der ersten und zweiten VDR-Sanitizer Sammelbestellung.
    In progress: POV-ION 330 - MediaPointer MP-S2 - vdr 1.7.9 - vdr-xine(vdpau)

    2 Mal editiert, zuletzt von pram ()

  • Morgen


    Das passt ja wie die Faust aufs Auge.


    Probiert es Remote zu installieren, und wollte gerade eine M@il an Dich aufsetzen, die hätte dann sicher so angefangen:


    Sorry for my Bad EN, gefolgt von hyroglyfen.


    Nun also in DE:


    Will nicht so Recht, ein haufen "no newline at end of file" beim Packen passiert?


    Und dann gehts weiter (an ff liegts nicht, auch die version probiert die Du ins Makefile geballert hast).


    Hier komplett, Du wirst sicher am besten wissen, was zu tun ist.


    make all plugins
    make: Nothing to be done for `all'.
    make[1]: Entering directory `/usr/local/src/VDR/PLUGINS/src/softdevice-0.0.1'
    g++ -O2 -Wall -Woverloaded-virtual -L/usr/local/src/ffmpeg/libavcodec -c -DPLUGIN_NAME_I18N='"softdevice"' -I../../../include -I../../../../DVB/include -I/usr/local/src/ffmpeg/libavcodec softdevice.c
    In file included from softdevice.c:21:
    framebuffer.h:55:24: warning: no newline at end of file
    In file included from softdevice.c:22:
    mpeg2decoder.h:35:25: warning: no newline at end of file
    softdevice.c:200: error: default argument given for parameter 2 of `bool
    cSoftDevice::Poll(cPoller&, int)'
    softdevice.c:139: error: after previous specification in `virtual bool
    cSoftDevice::Poll(cPoller&, int)'
    make[1]: *** [softdevice.o] Error 1
    make[1]: Leaving directory `/usr/local/src/VDR/PLUGINS/src/softdevice-0.0.1'
    make: *** [plugins] Error 2


    MFG Ronny


    Ps: Ist das nicht sowas ähnliches? http://www.js-home.org/vdr/x11out

  • Hi Anonymous,


    habs gerade nochmal runter geladen und bei mir compilierts. Mein Compiler meckert auch nicht. Die Warnings hab ich trotzdem mal gefixt. Einfach noch eine leere Zeile an die 2 .h Datein anhängen.
    (wird in der nächsten Version gefixt)


    Zum 2. Problem. Scheinbar verwendest du eine andere VDR-Version als ich (vdr-1.2.5) und da hat sich die Definition der Poll Funktion evtl geändert.


    Du kannst mal probieren, die Poll Funktion auszukommentieren (Zeile 129 und 199 in der softdevice.c) oder die Definition anzupassen
    Die Funktion wird momentan noch nicht wirklich verwendet.


    Zitat


    Ps: Ist das nicht sowas ähnliches? http://www.js-home.org/vdr/x11outi


    Nein. Das x11out funktionieert "genau andersrum". D.h. du kannst auf der DVB-Karte X11 Fenster anzeigen lassen. (soweit ich das verstanden habe)


    Gruß
    Roland

    Software: VDR 1.4.3, mp3, osdpip, streamdev-server, femon, wapd, X11, Wireless Keyboard Kernel: 2.6.18
    Hardware: 1x DVB-S v 1.3, 1x Skystar 2, Celeron@2GHz, 256 MB RAM, 4 HDs Raid1/5, Total: 600 GB, Asus P4S533 cmi8738 & LAN on board 6 PCI
    40" Sammelbestellungs-LCD an ATI Radeon 9550 DVI-Out + tvtime, 70 cm TV an J2-RGB-Out
    Organisator der ersten und zweiten VDR-Sanitizer Sammelbestellung.
    In progress: POV-ION 330 - MediaPointer MP-S2 - vdr 1.7.9 - vdr-xine(vdpau)

  • Hallo


    Stimmt liegt an gcc, war bei anderen Plugins auch schon so. (newlines)


    Werde Abend mal in Ruhe schauen.


    Eine Frage noch:


    LIBAVCODEC=/sat/ffmpeg-0.4.8/libavcodec


    Tuts auch die ffmpeg-0.4.6.tar.gz?


    Meine nur pcd/teletext/analogtv/dxr3 nutzen alle 0.4.6 (glaube ich) und macht auch den besten wenn man anfangen müßte Versionen parallel zu installieren?


    Mit der 1.2.5 ist es die selbe Meldung:


    In file included from softdevice.c:21:
    framebuffer.h:55:24: warning: no newline at end of file
    In file included from softdevice.c:22:
    mpeg2decoder.h:35:25: warning: no newline at end of file
    softdevice.c:200: error: default argument given for parameter 2 of `bool
    cSoftDevice::Poll(cPoller&, int)'
    softdevice.c:139: error: after previous specification in `virtual bool
    cSoftDevice::Poll(cPoller&, int)'
    make[1]: *** [softdevice.o] Error 1
    make: *** [plugins] Error 2


    Nein. Das x11out funktionieert "genau andersrum".
    ---------
    Kannst Du das mal für den Dummy Erklären? Was Dein Plugin genau macht?


    Man kann damit den Framebuffer als Ausgabegerät verwenden.
    ---------
    Was wäre denn zbs eine Anwendung?


    MFG Ronny

  • Zitat

    Original von anonymous
    Was wäre denn zbs eine Anwendung?


    z.b. wenn du eine nicht-fullfeatures-karte ohne tv-out hast, kannst du einfach per Graphikkarte schauen. Einfach die Graka an den Fernseher anschließen und sofort geht vdr.
    Ohne FF-Karte, ohne TV-Out.
    So hab ichs verstanden.

  • Hi,


    ich denk dass du auch die Libavcodec von ffmpeg 0.4.6 verwenden kannst.
    Mit deim gcc kann ich dir im Moment nicht wirklich helfen.
    ich nehme aber an dass ich irgendwo in der Definition meiner Poll Funktion was falsch gemacht habe.


    Ein Anwendungsfall wäre:
    Man hat 1 Device für Input (z.B. Budget-card oder streamdev-plugin).
    Mein Plugin kann dann den MPEG2-Stream + OSD auf dem Framebuffer wiedergeben.
    (ähnlich dem dxr3-Plugin, nur dass eben per Software dekodiert wird)


    D.h. man braucht keine Full featured DVB Karte um VDR zu nutzen.


    Roland

    Software: VDR 1.4.3, mp3, osdpip, streamdev-server, femon, wapd, X11, Wireless Keyboard Kernel: 2.6.18
    Hardware: 1x DVB-S v 1.3, 1x Skystar 2, Celeron@2GHz, 256 MB RAM, 4 HDs Raid1/5, Total: 600 GB, Asus P4S533 cmi8738 & LAN on board 6 PCI
    40" Sammelbestellungs-LCD an ATI Radeon 9550 DVI-Out + tvtime, 70 cm TV an J2-RGB-Out
    Organisator der ersten und zweiten VDR-Sanitizer Sammelbestellung.
    In progress: POV-ION 330 - MediaPointer MP-S2 - vdr 1.7.9 - vdr-xine(vdpau)

  • Hallo


    Nun alles verstanden.


    Könntest Du bei der nächsten version den "Hardcode" entfernen?


    # Set up this path!
    LIBAVCODEC=/sat/ffmpeg-0.4.8/libavcodec


    Bei den anderen Plugins kommt es so (DXR3) fählt mir gerade eine, wird dann immer nur ein Link gesetzt:


    ln -s ffmpeg**** ffmpeg


    LIBAVCODEC = ../../../../ffmpeg/libavcodec


    Möchte das Plugin mit in die Scripts einbauen, und da müßte man editieren lassen, oder patchen. (Makefile)


    perl -pi.old -e "s/\/sat\/ffmpeg-0.4.8/$TARGET\/ffmpeg/" $PLGDIR/src/softdevice/Makefile


    Nun und bei 0.4.8 wirds ja auch nicht immer bleiben?


    Wäre das machbar?


    MFG Ronny

  • Mit welchen Grafikkarten kann man denn das Bild vom Framebuffer auf dem TV-Out (der Graka) darstellen.
    Da gibts doch immer das Problem mit den sog. Trauerrändern also ein dicker schwarzer Rand aufm Fernseh, weil der Overscanmodus nicht korrekt eingeschaltet wird.
    Hat schon jemand Erfahrungen gesammelt?
    Es ist doch bei jeder Grafikkarte unterschiedlich wie man den TV-Out aktiviert. Oder ziehlt das Plugin gar nicht darauf ab den TV-Out der Graka zu benutzen?


    Jarny

    MLD 3.0.3 Server. Aufnahmen schaue ich mit einem separaten XBMC (OpenElec Distribution) im Wohnzimmer am 47 Zoll HD Fernseher

  • ich hab mal eine neue Version hoch geladen:
    http://www.k13zoo.de/vdr/vdr-softdevice-0.0.2.tar.bz2


    Was jetzt geht:
    Das Plugin ist etwas stabiler.
    Habe die Klassen umstrukturiert um später auf eine andere Otput library zu wechseln.
    A/V ist syncron
    Output über Alsa.



    jarny: Das Plugin zielt genau drauf ab, den TV-Out der GraKa zu nutzen (oder z.B. die Xbox mit streamdev-Plugin, welche ich mir dann evtl. kaufen will)


    Gruß
    Roland

    Software: VDR 1.4.3, mp3, osdpip, streamdev-server, femon, wapd, X11, Wireless Keyboard Kernel: 2.6.18
    Hardware: 1x DVB-S v 1.3, 1x Skystar 2, Celeron@2GHz, 256 MB RAM, 4 HDs Raid1/5, Total: 600 GB, Asus P4S533 cmi8738 & LAN on board 6 PCI
    40" Sammelbestellungs-LCD an ATI Radeon 9550 DVI-Out + tvtime, 70 cm TV an J2-RGB-Out
    Organisator der ersten und zweiten VDR-Sanitizer Sammelbestellung.
    In progress: POV-ION 330 - MediaPointer MP-S2 - vdr 1.7.9 - vdr-xine(vdpau)

  • Hi!


    Ich hatte schon in der Mailinglist gefragt, aber ich probiers hier nochmal.



    Die xbox verwendet DIRECTCOLOR, dein Plugin aber TRUECOLOR. Kann man den Visual Mode der Graka irgendwo umstellen? Oder kannst du DIRECTCOLOR in dein Plugin integrieren?


    gruss, Michael

  • @pychonaut2000
    das geht schon mit den xine plugins. allerdings weiss ich nicht wie gut die qualitaet des xine deinterlacers (auf einem beamer) wirklich ist...
    Probiers mal;)


    gruss, Michael

  • Hi,


    wenn ihr mich mit den entsprechenden Routinen versorgen könnt, bau ich alles ein. (Wobei ein Deinterlacer in erster Linie wirklich nicht schlecht wäre, weil die Bilder aufm Monitor doch ziemlich verfranst aussehen)


    zum DIRECTCOLOR-Problem. Soweit ich auf die Schnelle gesehen habe, unsterstützt Directcolor nur 256 Farben über eine Palette.
    (obwohl in deinem Output steht dass die Pixel 32 Bit breit sind !?!)


    Spiel mal mit dem fbset Befehl rum.
    z.B. mit "fbset -depth 32" oder so.


    Alternativ kommentier einfach mal das "Exit" unterhalb der Zeile wo die Fehlermeldung ausgegeben wird in der video.c aus


    Gn8


    Roland

    Software: VDR 1.4.3, mp3, osdpip, streamdev-server, femon, wapd, X11, Wireless Keyboard Kernel: 2.6.18
    Hardware: 1x DVB-S v 1.3, 1x Skystar 2, Celeron@2GHz, 256 MB RAM, 4 HDs Raid1/5, Total: 600 GB, Asus P4S533 cmi8738 & LAN on board 6 PCI
    40" Sammelbestellungs-LCD an ATI Radeon 9550 DVI-Out + tvtime, 70 cm TV an J2-RGB-Out
    Organisator der ersten und zweiten VDR-Sanitizer Sammelbestellung.
    In progress: POV-ION 330 - MediaPointer MP-S2 - vdr 1.7.9 - vdr-xine(vdpau)

  • Hi pram,


    ich versuche gerade die Version 0.0.2 zu compilieren. Leider schlaegt das fehl:


    make[1]: Entering directory `/root/dvb/vdr-1.2.6pre6/PLUGINS/src/softdevice-0.0. 2'
    g++ -O2 -Wall -Woverloaded-virtual -L/root/dvb/ffmpeg/libavcodec -c -DPLUGIN_NAM E_I18N='"softdevice"' -I../../../include -I../../../../DVB/include -I/root/dvb/f fmpeg/libavcodec softdevice.c
    In file included from softdevice.c:22:
    mpeg2decoder.h:60: syntax error before `*' token
    make[1]: *** [softdevice.o] Error 1
    make[1]: Leaving directory `/root/dvb/vdr-1.2.6pre6/PLUGINS/src/softdevice-0.0.2


    Irgend eine Idee??


    VDR-1.2.6
    gcc-3.2.2
    libavcodec-0.4.6
    Gentoo-1.4


    Übrigens, kann man den fb auch über den TV-Out der Grafikkarte ausgeben?


    Danke & Gruss, Ollo

  • Hi ollo,


    in Zeile 60 steht:
    AVFrame *picture;
    Anscheinend hast du eine alte/falsche libavcodec
    Ich hab's wie gesagt bis jetzt nur mit der 0.4.8er probiert
    (evtl hast auch 2 verschiedene Versionen auf dem System installiert so dass der compiler die falsche avcodec.h findet)



    BTW. für Nvidia Karten gibts: http://sourceforge.net/projects/nv-tv-out/



    Roland

    Software: VDR 1.4.3, mp3, osdpip, streamdev-server, femon, wapd, X11, Wireless Keyboard Kernel: 2.6.18
    Hardware: 1x DVB-S v 1.3, 1x Skystar 2, Celeron@2GHz, 256 MB RAM, 4 HDs Raid1/5, Total: 600 GB, Asus P4S533 cmi8738 & LAN on board 6 PCI
    40" Sammelbestellungs-LCD an ATI Radeon 9550 DVI-Out + tvtime, 70 cm TV an J2-RGB-Out
    Organisator der ersten und zweiten VDR-Sanitizer Sammelbestellung.
    In progress: POV-ION 330 - MediaPointer MP-S2 - vdr 1.7.9 - vdr-xine(vdpau)

  • Hi pram,


    jupp, das war's. Kaum macht man es richtig - schon geht's!


    Aber noch eine Frage, ich kann nun das softdevice Plugin laden und bekomme auch das OSD, allerdings kein TV-Bild. Kann das daran liegen, dass ich hier neben der DVB auch noch eine analoge TV-Karte habe, so daß die DVB auf /dev/video1 landet. Wird das aktuell supportet?


    Danke für den Tip mit nv-tv-out, aber ich habe hier einen Chip von SiS. Ich sehe mich mal weiter um ...


    Danke & Gruss, Ollo

  • Hi,


    lade mal VDR ohne weitere Plugins, dann setze PrimaryDVB im Setup von VDR auf das Softdevice (ist dann vermutl. 2 wenn du eine DVB-Karte hast)


    Das mit dem Live-Signal ist noch so eine Sache, da hab ich noch das Problem, dass der Transfermode manchmal nicht gestartet wird. d.H. man muss ein wenig hin und her zappen dann gehts auf einmal :computertod . Du kannst auch mal versuchen, eine Aufzeichnung abzuspielen. Das sollte auf alle Fälle gehen, wenn das OSD funktioniert.


    Würde mich freuen wenns endlich mal bei wem anders klappt als bei mir ;(


    Roland

    Software: VDR 1.4.3, mp3, osdpip, streamdev-server, femon, wapd, X11, Wireless Keyboard Kernel: 2.6.18
    Hardware: 1x DVB-S v 1.3, 1x Skystar 2, Celeron@2GHz, 256 MB RAM, 4 HDs Raid1/5, Total: 600 GB, Asus P4S533 cmi8738 & LAN on board 6 PCI
    40" Sammelbestellungs-LCD an ATI Radeon 9550 DVI-Out + tvtime, 70 cm TV an J2-RGB-Out
    Organisator der ersten und zweiten VDR-Sanitizer Sammelbestellung.
    In progress: POV-ION 330 - MediaPointer MP-S2 - vdr 1.7.9 - vdr-xine(vdpau)

  • pram
    Kann man mittels diesem nv-tv-out ohne eine GUI direkt den Framebuffer auf ner NVidia GraKa ausgeben?
    Auf der Webseite steht etwas von: Environment: X11 Applications
    was bedeutet das?


    Die Besonderheit deines Plugins sehe ich im Moment darin, dass man VDR mit einer Budgetkarte so benutzen kann wie mit einer Premiumkarte - aber in der gleichen schlanken Umgebung (also ohne GUI-Aufsatz).


    Gruß
    Jarny

    MLD 3.0.3 Server. Aufnahmen schaue ich mit einem separaten XBMC (OpenElec Distribution) im Wohnzimmer am 47 Zoll HD Fernseher

  • Hi jarny,


    ja das geht, man kann mittels "nvtv --tv-on" auf TV umschalten. Ich habe momentan aber keine nvidia Karte drin zum Testen. Man sieht dann auf dem TV das gleiche was zuvor am Monitor war. Wichtig: es können nicht alle Auflösungen für TV-Out verwendet werden! Bei mir klappte es damals nur mit 640x480 800x600 und 768x576. 768x576 lieferte zwar die beste Bildqualität (ich hatte damals glaub ich sogar mal das GUI unter X11 gestartet) aber der Windowmanager kam dann nicht mehr zurecht, weil das GUI einfach die Auflösung von 800x600 auf 768x576 änderte


    Gruß
    Roland

    Software: VDR 1.4.3, mp3, osdpip, streamdev-server, femon, wapd, X11, Wireless Keyboard Kernel: 2.6.18
    Hardware: 1x DVB-S v 1.3, 1x Skystar 2, Celeron@2GHz, 256 MB RAM, 4 HDs Raid1/5, Total: 600 GB, Asus P4S533 cmi8738 & LAN on board 6 PCI
    40" Sammelbestellungs-LCD an ATI Radeon 9550 DVI-Out + tvtime, 70 cm TV an J2-RGB-Out
    Organisator der ersten und zweiten VDR-Sanitizer Sammelbestellung.
    In progress: POV-ION 330 - MediaPointer MP-S2 - vdr 1.7.9 - vdr-xine(vdpau)

  • Hi
    Ich komme aus der Windowsecke und da gibts es ein Tool speziell für NVidia-Karten um den Bildschirminhalt auf dem TVOut auszugeben.
    In den Standardtreibern von NVidia wird der Overscan-Modus und die 768x576er Auflösung wohl nicht genügend unterstützt und deshalb gibts dieses Tool (TVTool).
    Mehr als die drei Auflösungen die du genannt hast kann man eh nicht sinnvoll am Fernseher darstellen. Die 768x576er passt am besten zu der Fernsehauflösung für PAL. Bei manchen NVidia-Karten (abhängig vom aufgelöteten TVChip) kann man noch die 1024*768 einstellen, auf dem Fernseher bekommt man aber deshalb noch lange kein besseres Bild.


    Ich bin gerade erst dabei mich in Linux einzuarbeiten und mir eine Entwicklungsumgebung für den VDR zusammenzustellen. Erst dann kann ich dein Plugin ausprobieren.
    Wenn das Plugin irgendwann mal so läuft, dass man sich die teuren Premiumkarten für den VDR sparen kann und sich einfach ne billige GeForce2MX für 40 Euro als TVOut dazukauft dann wäre das ziemlich genial. Zusätzlicher Vorteil: Wenn man zB: DivX schauen will spart man sich die Mpeg2-Kompression zur Darstellung über den TVOut der Premiumkarte.


    Auch ne coole Idee:
    Man könnte zB. MAME (ein Spielautomaten-Emulator) auf der Kiste laufen lassen und hätte dann eine gigantische Spielesammlung im Wohnzimmer verfügbar.


    Mach weiter so
    Gruß
    Jarny

    MLD 3.0.3 Server. Aufnahmen schaue ich mit einem separaten XBMC (OpenElec Distribution) im Wohnzimmer am 47 Zoll HD Fernseher

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!