Bildschirmschreiber programmieren - Ausgabeprobleme

8

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:

  • Müssen Multi-Plattform-Lösungen sein (ich benutze Free Pascal / Lazarus). Windows, Linux, MacOS
  • Existieren einige Librarys dafür?
  • Könnte eine komplexe Kommandozeilen-Anwendung sein, die auch den Bildschirm für mich aufzeichnet, aber ich muss die Möglichkeit haben, Frames zu bearbeiten, bevor ich ganze Rohdaten in das populäre Videoformat
  • umwandeln kann
  • Alle Materialien, die mir eine Idee geben könnten, werden geschätzt. API, Librarys, alles sogar in anderen Sprachen als FPC (ich würde versuchen, es umzuschreiben oder etwas Entsprechendes zu finden)
  • Ich habe auch erwogen, Frames in das Video-RAW-Format zu schreiben und dann Mencoder (er kann damit umgehen) oder eine andere Lösung zu verwenden, kann aber keine API / Dokument für Video-RAW-Daten finden

Grüße

    
Dibo 20.06.2012, 15:20
quelle

2 Antworten

4

Argalatyr erwähnte bereits ffmpeg.

Es gibt zwei Möglichkeiten, wie Sie das zum Laufen bringen können:

  1. 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.

  2. 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: Ссылка

Wouter van Nifterick 20.06.2012 22:27
quelle
-1

Es gab einige frühere Diskussionen mit einer Delphi-Komponente hier . Es ist eine sehr einfache Komponente, die manchmal seltsame Filme erzeugt. Vielleicht ein Anfang.

    
Arnold 21.06.2012 19:51
quelle