AW: TBitmaps2Video
Hallo!
Das ist ein tolles Projekt, das hätte ich schon viel früher brauchen können! :thumb: Da Du Dich mit der Schnittstelle ja schon länger beschäftigt hast: Gibt es da wohl eine einfache Chance, statt ein Video mit "Create" neu zu erstellen, ein bestehendes zu öffnen (und alle Parameter wie Größe und Codec von dort einzulesen), und da dann Frames dranzuhängen? Ich weiß, alternativ kann man das alte Video natürlich öffnen, alle Frames entpacken, in ein neues Video kopieren und dann die neuen Frames dranhängen - aber man ist ja bequem :wink: Gruß Michael |
AW: TBitmaps2Video
@grizzly Danke!
Zitat:
Constructor CreateFromVideo? müsste verständlich sein. Aber was soll mit dem Audio im ersten Video passieren, einfach drin lassen? Erstmal ignorieren denke ich. @Turbomagic Du hast sicher den neuen upload TinyMJpeg schon angeguckt, ich kann im Moment nichts testen, aber das sieht doch genauso aus wie das, was du brauchst. Gruß, Renate |
AW: TBitmaps2Video
Ha, Audio, das war Luxus an den ich gar nicht gedacht habe. :oops:
Mit dem Anhängen an ein bestehendes Video hat man halt die Möglichkeit, das Rendern mal zu unterbrechen und zu einem späteren Zeitpunkt fortzusetzen. Mit meinen selbstgestrickten Billiglösungen muss ich immer alle Bitmaps aufbewahren, bis ich endlich das finale Video in einem Rutsch zusammensetzen kann. (Und in meinem Fall nur MJPEG, das ist nicht so berauschend von der Qualität) Aber natürlich: Je mehr Features, desto komplizierter wird wieder alles. :wink: Ach, da fällt mir noch was ein: Wenn ich diese Klasse schon verwende, um die Videos zu schreiben, könnte man da auch gleich Frames aus dem Video auslesen? "GetFrame(42)". Wobei das vermutlich nicht ganz trivial ist, weil die Liste mit den Indizes (wo welches Bild zu finden ist) erst am Ende geschrieben wird. Da könnte man höchstens die schon bestehenden Frames auslesen wenn man Bilder an ein bestehendes Video anhängt. Vergiß es... Am Schluß wird die schöne kleine Klasse zum VollFeatureVideoEditingTool das man nicht mehr versteht... Viele Grüße Michael Klitzekleinigkeit am Rande: In UBitmaps2Video.pas, Zeile 239, musste ich ein F hinter dem Rect einfügen.
Delphi-Quellcode:
ZoomResampleTripleOnly(bm, am, RectF(0, 0, bm.Width, bm.Height), 1.8);
|
AW: TBitmaps2Video
Zitat:
Danke für das RectF, das ist bei mir overloaded. Gruß, Renate |
AW: TBitmaps2Video
Danke Renate für deine Bibliothek und dein Beispielprojekt.
Wir haben heute begonnen es auszuprobieren um dann mit dem Wissen unser eigenes minimaloistisches Win32 FMX Programm zu erstellen, welches wir danach nach ANdroid portieren wollen. Zu deinem Projekt (außer dem Einstellen als Open Source ;-) ) noch ein weiterer Tipp: Irgendwo baust du dir Pfad und Dateiname mittels + und '\dateiname.wasauchimmer' zusammen. Schau dir mal TPath.Combine aus IOUtils der RTL an, das funktioniert sogar crossplattform kompatibel und wäre der modernere Weg. Für das Projekt braucht man ja die DLLs (oder .so's) von der Delphi ffmpeg Webseite. Das mit der Lizenz hab' ich nicht 100% verstanden. Ich interpretiere es aber so, dass die API header Übersetzung frei ist, die DLLs auch (GPL oder LGPL Variante) und nur derein eigene darauf aufbauende Bibliothek einer kommerziellen Lizenz unterliegt. Richtig? Grüße TurboMagic |
AW: TBitmaps2Video
Liste der Anhänge anzeigen (Anzahl: 1)
@Turbomagic
Ich habs doch grad fertig! Compiliert für Android und Win32 (anderes nicht getestet), demo läuft unter Windows, Android kann ich nicht testen. Ich habe extra für dich eine Prozedur eingefügt:
Delphi-Quellcode:
Jetzt kannst du dir den Weg über die Bitmap sparen, das ist viel schneller. (Bitmap hab ich nicht mal getestet...)
AddColorFrame(Color: TBGR)
TBGR=record Blue: byte; Green: byte; Red: byte; end; Ich habe ein neues Header-file gefunden, ist im Ordner FFMPEGHeader (zum searchpath hinzufügen), und ist für alle dlls. Die Android-Library habe ich nicht dazugepackt, wurde zu groß. Das mit der Lizenz verstehe ich so wie du. Aber guck mal hier: https://github.com/PassByYou888/FFMPEG-Headerhttp://, da gibt es alles nochmal, und da hab ich das neue header-file her. So, dann werde ich mir morgen mal GitHub zu Gemüte führen. Es wird dann erstmal eine Win32-Version mit mehr features geben, und eine Cross-Platform-Version. Ohne dich hätte ich mich nie an das fmx-Zeug gemacht. Gruß Renate |
AW: TBitmaps2Video
Hallo,
wir versuchen gerade deine Demo zu testen, bekommen aber sofort beim Starten eine Zugriffsverletzung. Nur bevor die erste Zeile im FormCreate erreicht wird. Die DLLs habe ich aus dem funktionierenden VCL Projekt in den Ordner mit der erzeugten exe-Datei kopiert. Delphi Version ist 10.2 Update 3. Hat jemand eine Idee? Grüße TurboMagic |
AW: TBitmaps2Video
Ok, inzwischen eines gelernt:
FFMpeg aus deinem neuen FMX Beispiel will ältere DLLs als die, die wir von der VCLFFMPEG Seite geladen haben. Da stimmt die Version im Dateinamen der DLLs nicht, Aber auch das äkltere auf der VCLFFMPEG Seite gelistete Paket hat DLLs mit den neuen Namen... |
AW: TBitmaps2Video
Ok, haben die FFMPAG Pascal Umsetzung auf Github gefunden und dort sind auch passende DLLs vorhanden.
Läuft jetzt also! Danke! |
AW: TBitmaps2Video
Gut. Werde mir die Versionen noch mal genau angucken müssen. Ich hatte Probleme mit PAnsiChar und den anderen headers.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:26 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