[Prototyp] Ausgabeplugin für Amlogic SoC (z.B. Wetek Play)

  • Hallo zusammen


    Wie von einigen schon bemerkt, habe ich übers Wochenende meine Wetek Play in Betrieb genommen. Viel mehr als ein Prototyp ist das zwar noch nicht, aber immerhin hab ich Bild, Ton und ein OSD:


    http://projects.vdr-developer.…lg-amlhddevice/repository

    Code
    2015-08-23: Version 0.0.1
    -------------------------
    initial prototype
    - tested:
      - live TV
      - frame buffer OSD
    - missing:
      - A/V sync
      - replay mode
      - much more...


    Der A/V-Sync stimmt noch nicht, ansonsten funktionieren die Libs von Amlogic (wenn man sie dann mal kompiliert hat) ziemlich "straight-forward". Vielleicht kann ein Odroid-Besitzer das Plugin ja mal testen, theoretisch sollte nichts Wetek-spezifisches dabei sein.


    Viel Spass beim Basteln!


    Gruss
    Thomas

  • ... und von mir auch vielen Dank für das tolle Plugin, Thomas. :D


    Ich lade mir gerade die libamcodec von hier. https://github.com/codesnake/libamcodec
    Was gibt es hier zu beachten?


    Gruß, Uwe

  • Dann konnte ich dich also doch überzeugen, das freut mich. Ich wusste, dass du der Richtige dafür bist. :D


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Ich lade mir gerade die libamcodec von hier. https://github.com/codesnake/libamcodec

    Da hänge ich auch. Die Lib kommt bei Archlinux ARM von hier: https://github.com/mdrjr/c1_aml_libs
    Es fehlt aber auch pkg-config. Es sieht also so aus, als wäre das die falsche Lib.


    Außerdem ist mir aufgefallen, dass

    Code
    #include <vdr/libsi/si.h>

    so sein muss

    Code
    #include <libsi/si.h>
  • Ich lade mir gerade die libamcodec von hier. https://github.com/codesnake/libamcodec
    Was gibt es hier zu beachten?

    Ich habe die Libs anhand der "Rezepte" von hier von Hand nachgebaut und installiert.


    Außerdem ist mir aufgefallen, dass

    Code
    #include <vdr/libsi/si.h>


    so sein muss

    Code
    #include <libsi/si.h>

    Letzteres hat bei mir aber nicht funktioniert, da der Pfad ja relativ zum Standard-Include-Pfad (/usr/include) sein muss, auch wenn ich innerhalb der vdr-Sourcen baue.


    Gruss
    Thomas

  • Ich habe die Libs anhand der "Rezepte" von hier von Hand nachgebaut und installiert.

    Yeah. Damit hätten wir dann eine dritte Quelle gefunden.


    Edit2: OpenELEC bezieht die Lib scheinbar von hier https://github.com/codesnake/libamcodec oder von hier https://github.com/nspierbundel/libamplayer-m6. Weil die Commit-ID von OpenELEC passt auf die beiden Repos
    Edit3: OpenELEC bezieht sie von codesnake. Siehe hier: https://github.com/OpenELEC/Op…kpkg/mkpkg_libamcodec#L24


    Letzteres hat bei mir aber nicht funktioniert, da der Pfad ja relativ zum Standard-Include-Pfad (/usr/include) sein muss, auch wenn ich innerhalb der vdr-Sourcen baue.

    Bei mir liegt das aber unter /usr/include/libsi. Ich habe da nix dran geändert. Das ist vom VDR her schon so.


    Edit: Hier die Stelle aus dem Makefile: http://projects.vdr-developer.…dr.git/tree/Makefile#n304

  • Macht Sinn, codesnake ist ja der OpenELEC-Bauer von Wetek.


    https://github.com/codesnake/libamcodec
    https://github.com/mdrjr/c1_aml_libs


    Ich hab mal in beiden Repos das "amcodec" Verzeichnis gedifft. Keine nenneswerten Unterschiede.
    Damit sind wir wieder runter auf eine Quelle. Schön :D


    Edit: So. PKGBUILD für Arch Linux ARM im Anhang.
    Ich muss leider das Makefile patchen, weil ich bei Arch Linux kein pkgconfig File zur Verfügung habe.
    Ob es mit den vorhandenen Libs überhaupt funktioniert zeigt sich bei einem ersten Test.

  • Dann werde ich mir wohl auch ein ODROID-C1 besorgen müssen ;)
    Danke reufer.
    Frage: Wrappt das Plugin die Libs von Amlogic? Bzw. was stellt Amlogic als opensource zur Verfügung?


    Danke und Gruß
    Andreas

  • reufer: Danke für deine tolle Arbeit an Ausgabe-Devices!


    Mit dem Odroid-C1 hätte man eine Plattform auf der eventuell sogar ein Standalone-VDR in Mini-Bauform denkbar wäre. Also USB-Tuner und eine USB-Platte dran um das ganze als Mini-Festplattenreceiver zu nutzen.


    Es gibt, so wie ich das sehe, zwei vollwertige Host-Anschlüsse. Einer davon 4-fach über einen Hub aufgeteilt. Der zweite ist ein OTG-Anschluss der mit passendem OTG-Kabel (kennt man von Smartphones) und entsprechender Konfiguration zum zweiten vollwertigen Host wird.


    Eventuell dann die Tuner an den Hub und die Platte an den OTG-Anschluss?


    Bin wirklich sehr gespannt was da möglich wird!

  • Super Sache, vielen Dank reufer!
    Ich besitze zwar noch keine Wetek Play, finde die Box aber sehr interessant und werde mir vermutlich demnächst auch eine zulegen.
    Bevor ich mir aber zu große Hoffnungen mache, eine Frage: Ist mit der Hardware der Wetek Play vernünftiges Deinterlacing möglich, das annährend die Qualität von MADI/MCDI der Intel VA-API-Lösung erreicht? Ich habe vor einiger Zeit mal rpihddevice auf einem Raspberry Pi installiert, fand die Qualität bei SD-Sendern aber nicht gut genug für den Einsatz als Wohnzimmer-VDR. Hat die Wetek Play das Potenzial zum Haupt-VDR?

  • Hallo Thomas,


    vielen Dank für Deine Arbeit :respekt


    Bitte würdest Du noch ein paar Details zum Kompilieren der libam* geben? Das von Dir verlinkte meta-aml enthält zwar die vermisste libamcodec.pc, jedoch keine Quellen. Oder wie funktioniert das mit "bitbake"?


    Meine Versuche die diversen libam* zu nutzen scheitern aktuell an missing symbols:


    Gruß, ollo

  • Oder wie funktioniert das mit "bitbake"?

    Ich kenne bitbake auch nur vom Hörensagen, aber das funktioniert eigentlich genau wie die Ebuilds unter Gentoo. Ich habe einfach die Schritte der bb-Files von Hand ausgeführt - nicht sonderlich elegant, aber für mich am effizientesten. Die Quelle der Sourcen findest du direkt in den bb-Files (kommt alles von openelec), ebenso die Abhängikeiten.


    Gruss
    Thomas

  • Hallo Thomas,


    ok, habe die libs neu gebaut und schon ist das Problem mit den missing symbols verschwunden :]


    Allerdings entschwindet der VDR jetzt komplett im Nirvana - ohne Meldung oder Ausgabe - sobald das Plugin geladen wird:


    Welche Bedingungen müssen denn gegeben sein, damit sich da was tut?


    Müssen bestimmte kernel configs gesetzt sein? Ich verwende die .config von Openelec.
    Braucht man das mali.ko kernel module? Das habe ich aktuell nicht geladen.
    Muß es ein TV am HDMI sein? Ich habe einen Monitor dran hängen.


    Danke & Gruß, ollo

  • Guten Morgen Ollo,


    wir hatten gestern ein gleiches Problem und ziemlich lange gesucht. Bei uns lag es daran das der Framebuffer (/dev/fb1) nicht groß genug war. Kannst Du bitte mal schauen, was die Ausgabe vom

    Code
    fbset --info --verbose --show -fb /dev/fb0

    und

    Code
    fbset --info --verbose --show -fb /dev/fb1

    ausgeben?


    Nachdem wir jedem Framebuffer 16MB spendierten, hatten wir auch ein Bild und das OSD in der MLD 5.0.0 (WeTek).


    Übrigens die Bereitstellung von der Größe des Framebuffers wird in der U-Bootdatei (DTD) gemacht.


    Gruß,


    Pit


    P.S: Danke reufer für das Ausgabeplugin, wir gehen heute noch tiefer an die Tests mit der MLD 5.0.0 aber das sieht alles sehr viel versprechend aus.

Jetzt mitmachen!

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