Hallo!
Weil ähnliche Themen gerade besprochen werden, hier noch ein winziger (und schlampiger) Beitrag zum Thema.
Mit dem Codebeispiel hier kann man eine Serie von JPGs in ein MJPG-AVI speichern.
Vorteil dieser Lösung: Keinerlei Dlls oder ähnliches (ffmpeg, DSPack, VfW etc.) nötig. Reine
VCL Lösung.
Nachteile: Nur MJPG AVI, kein Sound, alles extrem rudimentär, langsam usw...
Aber manchmal kommt einem so eine Minilösung gerade recht.
Im angehängten Archiv ist die Datei TinyMJPG.pas mit der Klasse zum Erzeugen der AVI Filmchen.
Im Grunde genommen wird das Ding wie folgt verwendet:
Delphi-Quellcode:
// Eine Instanz der Klasse TMJPGAviWriter definieren:
VAR
AVI : TMJPGAviWriter;
// Im Code initalisieren:
AVI := TMJPGAviWriter.Create;
// Ein neues Video anlegen:
AVI.PrepareNewAVI('C:\temp\myavi.avi');
// Bildwiederholrate festlegen (default ist 25fps)
AVI.fps := 25;
// Eines oder mehrere JPEGs anhängen (Bitte alle mit derselben Größe!)
AVI.AppendJPEG(YourJPEGHere)
// AVI schließen. Das ist wichtig, denn hier wird ein Index innerhalb des AVIs aufgebaut.
AVI.CloseAVI;
Im ZIP im Anhang ist ein Code-Beispiel. Da werden 500 Frames berechnet (mit Convays "Game of life") und in ein AVI gespeichert.
Die erzeugten AVIs konnten im VLC Player, im Media Player Classic, mit dem Windows Player abgespielt werden. Scheint also halbwegs zu passen.
Viele Grüße
Michael