Eine Delphi-Klasse zur Unterstützung einer Reihe von Bitmaps und Videoclips für eine Videodatei. Es erfordert die FFMPEG-Bibliothek und ist als einfach zu verwendende Schnittstelle zu dieser Bibliothek gedacht. Die Klasse wurde unter Delphi 10.3.3 entwickelt, sollte jedoch auch mit späteren Versionen und einigen früheren Versionen arbeiten. Bitte melden Sie Probleme. Wir konzentrieren uns auf das Schreiben von Video -Streams, es gibt nur rudimentäre Unterstützung für das Hinzufügen von Audio -Streams. Die hier enthaltenen FFMPEG-Library-Versions und Header-File haben Sie von https://github.com/passbyyou888/ffmpeg-header danke, danke!
Es gibt 2 Versionen der Encoder -Klasse:
TBitmapEncoder VCL-based for platforms Win32 and Win64,
relatively stable with H264, Mpeg-4, Mjpeg, Mpeg1/2 encoders and .avi, .mp4 containers.
TBitmapEncoderM fmx-based for cross platform, a little less tested.
Demo currently working with Win32, Win64, Android, Android64 thanks to TurboMagic.
Recently more features translated from Win-version, more thoroughly tested under
Android32, better demo.
Die Cross -Plattform -Demo erfordert mindestens Delphi 10.3.3, da sie die erforderliche Unterstützung für die Anforderung der Erlaubnis zum Schreiben in den externen Speicher zur Laufzeit enthält. Das auf Android erstellte Video wird im Ordner öffentlich -downloads und die Android -Demo für 32 und 64 Bit gespeichert.
Gemeinsame Objekte für iOS werden geliefert, aber keiner der derzeitigen Entwickler verfügt über ein funktionierendes iOS -Entwicklungsaufbau, sodass sie dem Bereitstellungsmanager nicht hinzugefügt wurden und daher auch nicht auf iOS getestet wurden. Fühlen Sie sich frei und erstellen Sie eine Pull -Anfrage, sobald Sie erfolgreich waren.
Problembereiche:
Die Fehlerbehandlung muss verbessert werden.
Win-Version:
Der hinzugefügte Konstruktor createFromvideo (Win -Version) hat einige Probleme.
Plattformübergreifende Version:
Der H264 -Coder funktioniert nicht unter Android (zumindest nicht Android32). Die Verwendung von Tbitmap in Threads ist stabiler geworden, aber es könnte noch Probleme geben. Delphi behauptet, dass Titmap Thread-Safety-Safety ist, aber dies scheint nicht der Fall zu sein, insbesondere unter Android. Einige Problemumgehungen sind vorhanden, Pixel-Operationen werden jetzt hauptsächlich auf den Video-Frames durchgeführt, die scheinbar threadsicher zu sein scheinen.
Ideen, Berichte, beheben die meisten willkommen. *
Probleme werden in den Demos ausführlicher beschrieben.