Einzelnen Beitrag anzeigen

grizzly

Registriert seit: 10. Dez 2004
150 Beiträge
 
Delphi XE4 Professional
 
#1

TinyMJPG: MJPG AVI erstellen

  Alt 11. Aug 2020, 10:50
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
Angehängte Dateien
Dateityp: zip TinyMJPG.zip (6,5 KB, 21x aufgerufen)
  Mit Zitat antworten Zitat