Ich möchte einen Bildschirm aufnehmen (indem ich 15 Screenshots pro Sekunde aufnehme). Dieser Teil weiß ich zu tun. Aber ich weiß nicht, wie ich das in ein beliebtes Videoformat schreiben soll. Die beste Option, die ich gefunden habe, besteht darin, Frames in separate PNG-Dateien zu schreiben und den Befehlszeilen-Mencoder zu verwenden, der sie in viele Ausgabeformate konvertieren kann. Aber vielleicht hat jemand eine andere Idee?
Anforderungen:
Grüße
Argalatyr erwähnte bereits ffmpeg.
Es gibt zwei Möglichkeiten, wie Sie das zum Laufen bringen können:
Indem Sie einen neuen Prozess erstellen. Alles, was Sie tun müssen, ist die Vorbereitung der richtigen Eingabe (könnte zum Beispiel eine Reihe von JPEG-Bildern sein) und die richtigen Kommandozeilenparameter. Danach rufen Sie einfach ffmpeg.exe auf und warten Sie, bis es fertig ist.
ffmpeg verwendet einige DLLs, die die eigentliche Arbeit erledigen. Sie können diese DLLs direkt in Ihrer Delphi-Anwendung verwenden. Es ist ein bisschen mehr Arbeit, weil es eher Low-Level ist, aber am Ende gibt es eine bessere Kontrolle darüber, was passiert und was Sie dem Benutzer während der Verarbeitung zeigen.
Hier sind einige Lösungen zum Auschecken:
FFVCL Kommerziell. Sieht eigentlich ganz gut aus, aber ich war zu gierig, dafür Geld auszugeben.
Open-Source-Delphi-Header für FFMpeg . Ich habe es versucht, aber ich habe es nie zur Arbeit gebracht.
Ich habe die DLL-Wrapper aus einem Open-Source-Karaoke-Programm ( UltraStar Deluxe ) gezogen. Ich musste einige Abhängigkeiten entfernen, aber am Ende funktionierte es wie ein Zauber.
Den relevanten (Pascal) Code finden Sie hier:
Ссылка
Tags und Links delphi video-processing freepascal lazarus