StackAVI - Komfortabel Bilder zu einem Film konvertieren und andersherum

    • Release

    Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von StarGate01.

      StackAVI - Komfortabel Bilder zu einem Film konvertieren und andersherum

      Name des Programms:
      StackAVI

      Beschreibung:
      Mit diesem Prgramm kann ein Ordner von Bildern schnell und komfortabel zu einem AVI-Film konvertiert werden und andersherum
      Auch sind sind verschiedene Audio-Operationen möglich bzw. geplant

      Screenshot(s):




      Funktionen
      Mit StackAVI ist es möglich einen vollwertigen AVI-Film zu erzeugen, oder aus einem AVI-Film die Frames zu exportieren.
      Es lässt sich die Reihenfolge der Bilder, die Auflösung und die Framerate anpassen.
      Die Dynamische Vorschau unterstützt schon vor dem Rendern, sie zeigt dort das erste Bild an.
      Die Auflösung der Bilder wird automatisch erkannt.
      Die Bildnamen können dynamisch erzeugt werden.
      Durch Multithreading und intelligenter Speicherverwaltung läuft das Programm stets flüssig.
      Der Rendervorgang wird visuell durch die Anzeige, Fortschrittsbalken und einem Statustext dargestellt.
      Zusätzlich ist es möglich die Tonspur eines AVIs abzuspeichern.

      Changelog

      Quellcode

      1. Version 1.3
      2. - Möglichkeit Audio zu extrahieren, Codecs vorausgesetzt
      3. Version 1.2
      4. - Unterstützung von AVI -> Bilder
      5. - Dynamische Bildnamen
      6. - Entsprechene AVI-Dekodier-Codecs müssen vorhanden sein
      7. - Sollte für die meisten AVIs funktionieren
      8. - Schnellere Konvertierung
      9. Version 1.1
      10. - mehrere Bugfixes
      11. Version 1.0
      12. - Erster Release

      In Entwicklung

      Quellcode

      1. - Die Möglichkeit Audio zu AVIs hinzuzufügen [70%]

      Ich bitte um Verbesserungsvorschläge, Bugmeldungen und konstruktive Kritik :)
      Wen es interessiert, ich verwende die AVIFile-API


      Verwendete Programmiersprache und IDE:
      Visual Basic .NET (IDE: VB 2010 Express)

      Systemanforderungen:
      .NET Framework 3.5

      Download:
      StackAVI.exe (72,19 KB)

      Lizenz/Weitergabe:
      Freeware
      SᴛᴀʀGᴀᴛᴇ01

      Dieser Beitrag wurde bereits 7 mal editiert, zuletzt von „StarGate01“ ()

      Update auf 1.2

      Neues:

      Quellcode

      1. - Unterstützung von AVI -> Bilder
      2. - Dynamische Bildnamen
      3. - Entsprechene AVI-Dekodier-Codecs müssen vorhanden sein
      4. - Sollte für die meisten AVIs funktionieren
      5. - Schnellere Konvertierung


      Nicht alle AVIs lassen sich zu Bildern umwandeln, es sei denn der Computer verfügt über entsprechende Codecs.
      Ich arbeite aber an diesem Problem.

      Ich freue mich über möglichst viel Feedback :)
      SᴛᴀʀGᴀᴛᴇ01
      Sieht gut aus. Vorallem finde ich es auch gut, dass sich mal jemand die Mühe macht nicht die erst beste Lösung zu nehmen sondern zumindest mal selbst auf Interops zurück greift. Ansonsten verwenden hier immer alle FFMpeg, Bass,... usw. für Multimedia. Hab mir die API auch schonma grob angeschaut war dann aber zu faul genauer zu lesen. Kann man damit auch Audio extrahieren. Ich will aber nicht alles auf einmal. Ich würde dann z.B. die Position setzen wollen und dann sagen so und so viel will ich haben. Geht das?


      Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.
      Also deine Idee wäre es aus einem gegebenem AVI den Sound ab einer bestimmten Position und in einer bestimmten Länge zu extrahieren?
      Ich denke schon das das geht. Im Moment arbeite ich am umgekehrten Weg (Audio zu Video hinzufügen), aber deine Idee würde sich wahrscheinlich wesentlich einfacher realisieren lassen. Ich werde sehen was sich machen lässt. Vielen Dank für dein Lob!

      Ein großes problem stellen jedoch die Win32 Konstanten dar, die in VB.NET nicht so einfach verfügbar sind, und die ich mir erst mühsam ergooglen muss.
      Weiß jemand zufällig die Konstante für streamtypeAUDIO?

      EDIT: Die Konstanten ermitteln sich wie folgt:
      Spoiler anzeigen

      Quellcode

      1. public static readonly int streamtypeVIDEO = mmioFOURCC('v', 'i', 'd', 's');
      2. public static readonly int streamtypeAUDIO = mmioFOURCC('a', 'u', 'd', 's');
      3. public static Int32 mmioFOURCC(char ch0, char ch1, char ch2, char ch3)
      4. {
      5. return ((Int32)(byte)(ch0) | ((byte)(ch1) << 8) |
      6. ((byte)(ch2) << 16) | ((byte)(ch3) << 24));
      7. }

      Der Code ist in C#, ließ sich leider nicht in VB so einfach übersetzen, deswegen hab ich die Werte in einem Extra Programm ausgerechnet
      SᴛᴀʀGᴀᴛᴇ01

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „StarGate01“ ()

      Habe selbst sehr viel mit Interops, ComInterfaces usw. gemacht. Leider sind die auf msdn nicht immer drinnen. Du bist da wirklich mit Abstand am schnellsten wenn du das in den Headerdateien nachschaust.
      Als Beispiel du willst von dem hier die Flags als Enumeration. Gehste ganz nach unten. Da steht immer wo du das Zeug findest: Header: Dsound.h. Also gehste in deinen VS SDK Ordner, WinSDK,... was auch immer. Dann suchst du dort Dsound.h. Öffnest mit VisualStudio, Notepad++,... und suchst nach "DSBPLAY_LOOPING". Die Konstanten sind immer geordnet und die restlichen sind gleich darüber und darunter :)


      Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.