Griever: VB.NET - Bitmaps in eine Avi packen. Aber wie?

Hi

Ich möchte sehr gerne mal wissen, wie ich in VisualBasic.NET 1.1 (nichts höheres!) eine Avi-Datei erstellen kann und dafür beliebige Bilder (Bitmaps, als datei oder variable) verwenden kann.

Habe schon bei google einige klassen gefunden, die jedoch so hochkompliziert sind, dass ich NIX verstanden hab. Außerdem alles in Englisch und in c# programmiert.

Wäre sehr schön, wenn ich es folgendermaßen machen könnte:

Dim Avi As New AviStream(DateiName)
Avi.FPS = 25
Avi.Width = 320
Avi.Height = 240
Avi.Init()
Avi.InsertImage(Bild1)
Avi.InsertImage(Bild2)
Avi.InsertImage(Bild3)
Avi.Finish()
Avi.Close()

Hoffe, das wäre möglich. Denn die klassen, die ich bisher gefunden habe, zeigen nur, dass man irgendwas in die zurückgegebene Bitmap zeichnen soll (SetPixel), welches aber einzigst und allein unter C# funktioniert, was ich nicht verstehe.
Sowie ich diese aktionen in VB.NET verwenden möchte, krieg ich sofort ne Fehlermeldung, dass es nicht geht. (hab quasi schon alle Fehlermeldungen durch, die man kriegen kann. Also bitte keine Fragen, nach "der" fehlermeldung, weils viele waren)

Ich hoffe, hier findet sich jemand, der etwas mehr Ahnung davon hat. Ne DLL oder ne Klasse in VB.NET (nicht C#) würde mir extremst weiterhelfen.

Ich betone erneut, dass ich das .NET-Framework 1.1 verwende und auch nur dies verwenden werde. Kommt mir bitte nicht mit höheren Frameworks. :P

Da dies auch keine zwingend ehrenamtliche Arbeit sein soll, könnte man ja vorher aushandeln, was ich als Gegenleistung bieten könnte. (Bargeld fällt weg, denn das besitze ich nicht)

Wäre wirklich Glücklich, wenn ich dieses "Problem" gelöst bekommen würde.

Mfg @All
Griever

  1. Schau mal, ob Du nicht einen Aufruf von ffmpeg starten kannst, der Dir die Bilder in ein avi packt... das sollte wenigstens funktionieren.

    Gruß, LX

    --
    X-Self-Code: sh:( fo:) ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: Unusual
    X-Please-Search-Archive-First: Absolutely Yes
    1. Schau mal, ob Du nicht einen Aufruf von ffmpeg starten kannst, der Dir die Bilder in ein avi packt... das sollte wenigstens funktionieren.

      Gruß, LX

      DAS ist doch mal ne kurze und treffende Antwort. DANKE!!

      Ich werde das mit der ffmpeg-dll mal ausprobieren. gibts da nen Beispielcode oder nen Wiki oder ne Referenz für?

      Naja. Werd mal schauen, was ich finden kann.

      MFG
      Griever

  2. Hallo,

    was du willst, ist nicht unbedingt trivial zu lösen (lies: in der Form, wie du dir das vorstellst).

    Für das Lesen von und Schreiben in Avi Streams benötigst du Windows API Funktionen wie

    • AVIFileOpen
    • AVIFileCreateStream
    • AVIStreamSetFormat
    • AVIStreamWrite

    aus der Dll "avifil32.dll" und ggf auch anderen.

    Hier mal ein CodeProject Beispiel an welchem du dich orientieren kannst.

    • gefunden an 3. Stelle bei Google mit den Suchbegriffen "AviStream vb.net"
    • das beispiel sieht nach C# aus, umschreiben in VB.Net kannst du selber

    Ciao, Frank

      • gefunden an 3. Stelle bei Google mit den Suchbegriffen "AviStream vb.net"

      kannte ich bereits

      • das beispiel sieht nach C# aus, umschreiben in VB.Net kannst du selber

      Funktioniert nicht. Habe ich bereits versucht.

      Hoffe, das wäre möglich. Denn die klassen, die ich bisher gefunden habe, zeigen nur, dass man irgendwas in die zurückgegebene Bitmap zeichnen soll (SetPixel), welches aber einzigst und allein unter C# funktioniert, was ich nicht verstehe.

      ich kann kein c#. und erst recht nicht, wenn ich sowas in vb.net umschreiben soll.

      Solche Beiträge regen mich auf. Hast bestimmt nicht mal bis zum Ende gelesen.

      MFG
      Griever

      1. Pass mal auf du Möchtegern,

        1. "Funktioniert nicht" ist keine Fehlerbeschreibung! Das schreibt/sagt man dir hier sicher nicht zum ersten Mal.
        2. Du hast nicht gerade konkret geschrieben, was du bereits versucht hast und was nicht, _welche_ Fehler du wobei bekommen hast.
        3. Auch wenn du kein C# kannst, solltest du wenigstens in der Lage sein, zu erkennen, was in dem Beispiel-Code für Operationen (Aufrufe von Funktionen etc) getätigt werden. Ich kann auch kein VB.net, dennoch kann ich den Beispielcode innerhalb von 90min mithilfe der VB.Net Doku umschreiben.
        4. Ich habe deinen Beitrag weit genug gelesen um zu erkennen, dass du nicht viel selbst denken, geschweige denn arbeiten willst um eine Lösung zu bekommen. Sowas regt mich auf.

        Hoffe, das wäre möglich. Denn die klassen, die ich bisher gefunden habe, zeigen nur, dass man irgendwas in die zurückgegebene Bitmap zeichnen soll (SetPixel), welches aber einzigst und allein unter C# funktioniert, was ich nicht verstehe.

        Eine Suche nach SetPixel in dem verlinkten Beispielcode ergibt keinen Treffer. Mein Beispiel kann's also nicht wirklich gewesen sein? So what? Hab ich ne Glaskugel, dass ich sehen kann, warum bei dir "irgendwas nicht funktioniert"?

        _plonk_ & EOT
        Frank

        1. habe die klasse jetzt verschachtelt und via vb.net>c#-converter in eine funktionsfähige dll gepackt, die nach meinen wünschen funktioniert:

          Dim avi As New AviFile(...)
          avi.AddImage(Bild)
          avi.Finish()

          und es funktioniert sogar OHNE die codecauswahl.

          Auf nachfrage kann ich ja mal versuchen, den code hier zu posten. Is natürlich komplett in c#

          habe jedoch sehr viel hilfe für das einbinden der dll benötigt und komme im übrigen noch nicht ganz so klar mit der farbe. (Die is immer irgendwie falsch)

          MFG
          Griever