Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   TinyMJPG: MJPG AVI erstellen (https://www.delphipraxis.net/205195-tinymjpg-mjpg-avi-erstellen.html)

grizzly 11. Aug 2020 10:50

TinyMJPG: MJPG AVI erstellen
 
Liste der Anhänge anzeigen (Anzahl: 1)
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


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:45 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz