Videos on-the-fly erzeugen und encoden



  • Hiho!
    Ich hab einen Raytracer geschrieben, und moechte mir mit dessen Hilfe jetzt ein paar Animationen erzeugen und als Video abspeichern. Zur Zeit kann ich die berechneten Bilder nur als BMP abspeichern. Die ganze Animation Bitmap fuer Bitmap abzuspeichern und anschliessend daraus ein Video zu erstellen ist relativ unpraktisch.
    Ich habe mir gedacht es muesste doch irgendwie moeglich sein, diese "rohen" Bilddaten direkt an einen Encoder zu fuettern, der mir dann am Ende ein komprimiertes Video ausspuckt.

    Kennt jemand eine Lib (die auf Windows und Linux laeuft), die so etwas kann? Oder hat sonst irgend einen Tipp, wie ich das angehen kann? (Meine Notfallsloesung waere, statt der Bitmap-Sequenz ein Raw-Avi file zu erzeugen, und das dann zu encoden, aber den Zwischenschritt (und den zusaetzlichen Platzverbrauch) moecht ich mir gern ersparen).

    EDIT: ich hoff der Thread passt ueberhaupt ins Grafikprogrammierung-Forum 😉



  • hmm, gstreamer



  • libtheora. musst die daten aber dafuer erst nach YUV konvertieren.



  • thx fuer die Tipps. (-:


  • Mod

    wie waere es mit http://www.khronos.org/openml/ , hab ich zwar noch nie ausprobiert, aber es sollte speziell fuer deinen bereich gedacht sein und crossplattform, open and free.



  • rapso schrieb:

    wie waere es mit http://www.khronos.org/openml/ , hab ich zwar noch nie ausprobiert, aber es sollte speziell fuer deinen bereich gedacht sein und crossplattform, open and free.

    Hmm... Hab mich bereits fuer Theora entschieden. Da ich sowieso SDL verwende ist das Umwandeln RGB->YUV kein Problem und libtheora an und fuer sich ist relativ einfach zu verwenden 🙂

    Aber danke fuer den Hinweis, werds mir fuer spaetere Projekte merken 🙂


Anmelden zum Antworten