mpeg2 einzelnes I-Frame erzeugen

  • Hallo zusammen,
    Gestern hab ich mir überlegt - bei meinem im Bau befindlichen VDR wäre ein Boot-Bildchen wie z.B. bei Neutrino eine nette Sache.


    Also die LinuxTV API Dokumentation angeschaut und festgestellt, dass es da wohl keine Schwierigkeiten gibt, in recht wenigen Zeilen ein Progrämmchen zu schreiben, das einfach ein einzelnes Bild anzeigt - WENN man das Bild als einzelnes MPEG2 I-Frame hat :)


    Hat jemand einen Tipp für mich (existiert vielleicht eine schöne Library? *g*), wie man so ein I-Frame erzeugt?


    Oder gibt es am Ende schon so ein Progrämmchen, wie ich es mir gerade vorstelle? Gefunden habe ich bisher nichts...


    Grüße, Felix

    Asrock A75 Pro4-M
    Debian wheezy (testing, stock) (aktuell 2012-08-24: Linux 3.2, VDR 1.7.28)
    vdr-sxfe (xineliboutput)
    Pioneer VSX-520-K

  • Oh klasse, dann muss ich ja gar nicht programmieren :) Einfach meine initramfs ein wenig anpassen wird es wohl tun, sehr schön!
    Danke euch ...


    Grüße, Felix

    Asrock A75 Pro4-M
    Debian wheezy (testing, stock) (aktuell 2012-08-24: Linux 3.2, VDR 1.7.28)
    vdr-sxfe (xineliboutput)
    Pioneer VSX-520-K

  • So, jetzt habe ich doch ne Kleinigkeit programmiert. Das Ergebnis: Ein Bootsplash auf der FF-Karte /ohne/ Verzögerung.


    Dazu habe ich den Code so geändert, dass das Bild noch per ioctl() angezeigt wird und dann sofort in den Hintergrund detached. Das braucht praktisch keine Zeit.


    Im VDR-Init-script wird der Prozess dann an der richtigen Stelle gekillt, so dass das Device für VDR wieder frei ist.


    Ich hänge mal ein .tar.gz an mit dem neuen Code und einer genauen Beschreibung im README.


    Man /könnte/ noch versuchen, das Bild bereits aus einem initramfs heraus anzeigen zu lassen, das setzt aber firmeware+udev oder fest einkompilierte firmware voraus - wird umständlich.


    Grüße, Felix

Jetzt mitmachen!

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