AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte TBitmaps2Video
Thema durchsuchen
Ansicht
Themen-Optionen

TBitmaps2Video

Ein Thema von Renate Schaaf · begonnen am 26. Jul 2020 · letzter Beitrag vom 21. Mär 2021
Antwort Antwort
grizzly

Registriert seit: 10. Dez 2004
150 Beiträge
 
Delphi XE4 Professional
 
#1

AW: TBitmaps2Video

  Alt 11. Aug 2020, 11:40
Hallo!

Das ist ein tolles Projekt, das hätte ich schon viel früher brauchen können!

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


Gruß
Michael
  Mit Zitat antworten Zitat
Renate Schaaf

Registriert seit: 25. Jun 2020
Ort: Lippe
133 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: TBitmaps2Video

  Alt 11. Aug 2020, 12:30
@grizzly Danke!

Zitat:
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?
Geht. Das erste Video bestimmt dann alles, die Bitmaps werden passend dazu komprimiert. Nur wie sag ichs dem user?

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
Renate

Geändert von Renate Schaaf (11. Aug 2020 um 12:37 Uhr)
  Mit Zitat antworten Zitat
grizzly

Registriert seit: 10. Dez 2004
150 Beiträge
 
Delphi XE4 Professional
 
#3

AW: TBitmaps2Video

  Alt 11. Aug 2020, 13:25
Ha, Audio, das war Luxus an den ich gar nicht gedacht habe.

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.

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.
    ZoomResampleTripleOnly(bm, am, RectF(0, 0, bm.Width, bm.Height), 1.8);
  Mit Zitat antworten Zitat
Renate Schaaf

Registriert seit: 25. Jun 2020
Ort: Lippe
133 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: TBitmaps2Video

  Alt 11. Aug 2020, 13:45
Zitat:
GetFrame(42)
Habe ich schon als utility, aber nur für ein fertiges Video, um ein Thumbnail zu erstellen, oder den ersten frame etwas länger zu zeigen bevor ein eingefügtes Video startet. Es wird Zeit, dass ich das Projekt veröffentliche.

Danke für das RectF, das ist bei mir overloaded.

Gruß, Renate
Renate
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
3.094 Beiträge
 
Delphi 12 Athens
 
#5

AW: TBitmaps2Video

  Alt 12. Aug 2020, 19:23
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
  Mit Zitat antworten Zitat
Renate Schaaf

Registriert seit: 25. Jun 2020
Ort: Lippe
133 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: TBitmaps2Video

  Alt 12. Aug 2020, 22:47
@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:
AddColorFrame(Color: TBGR)
TBGR=record
Blue: byte;
Green: byte;
Red: byte;
end;
Jetzt kannst du dir den Weg über die Bitmap sparen, das ist viel schneller. (Bitmap hab ich nicht mal getestet...)

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
Angehängte Dateien
Dateityp: zip Bitmaps2VideoMulti.zip (249,1 KB, 12x aufgerufen)
Renate
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
3.094 Beiträge
 
Delphi 12 Athens
 
#7

AW: TBitmaps2Video

  Alt 13. Aug 2020, 13:48
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
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz