AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Bitmaps2Video für Mediafoundation
Thema durchsuchen
Ansicht
Themen-Optionen

Bitmaps2Video für Mediafoundation

Ein Thema von Renate Schaaf · begonnen am 24. Jun 2025 · letzter Beitrag vom 8. Jul 2025
Antwort Antwort
Renate Schaaf
Registriert seit: 25. Jun 2020
Ich habe gerade ein Update für mein Video-Projekt

https://github.com/rmesch/Bitmaps2Vi...dia-Foundation

hochgeladen.

Funktion:
Class, mit der man einzelne Bitmaps und Video-clips zusammen mit einer Audio-Datei zu einem Video zusammenfügen kann. Das Ergebnis ist eine .mp4-Datei mit H264 oder H265-Kompression zusammen mit AAC-Audio. Dafür wird Windows Mediafoundation verwendet, was normalerweise in Windows enthalten ist. Hardware-encoding ist unterstützt, wenn's die Grafikkarte kann.

Voraussetzungen:
Headers für Mediafoundation von FactoryXCode: https://github.com/FactoryXCode/MfPack
Windows 10 oder höher
Encoder (MF-Transform) für H264/H265, die werden normalerweise mit dem Grafiktreiber installiert
Delphi XE7 oder höher, wenn ich's nicht wieder vermasselt habe, kann nur mit CE testen
(Win32 und Win64 sollte eigentlich funktionieren, Win64 stürzt bei mit aber seit Neustem mit "The session was disconnected" ab.)

Die Demo zeigt, wofür man das u.a. verwenden kann:
Eine Serie von Canvas-Zeichnungen als Video aufnehmen
Eine Diaschau aus Bilddateien (.bmp,.jpg,.png,.gif) mit Musik und 2 Arten von Übergängen machen
Einen Videoclip in eine Diaschau einfügen
Einen Videoclip samt Video-Ton transkodieren

Verbesserungen:
Ich verstehe immer besser, wie man den MF-Encoder mit frames füttern muss. Erzeugt nun mit den richtigen Einstellungen Videos ohne Stottern und mit guter Audio-Video-Synchronisation. Ich kann's jetzt in meinem "großen" Projekt gebrauchen, und bin nicht mehr auf ffmpeg - dlls angewiesen.

Mehr Info in changes.txt.

Probiert's einfach aus, wenn's Euch interessiert, würde ich mich freuen.

Renate

Geändert von Renate Schaaf (24. Jun 2025 um 19:29 Uhr)
 
Benutzerbild von Sinspin
Sinspin

 
Delphi 10.3 Rio
 
#2
  Alt 25. Jun 2025, 08:29
Ich Danke dir für deine Arbeit daran. Ich habe eine interessante Verwendung dafür. Allerdings komme ich kaum weiter da es so viele schöne (oder nicht) andere Dinge zu tuen gibt.
Dein anderes Projekt TBitmaps2Video mit ffmpeg ist schon lange auf meiner Todo liste.

Ich verwende die CE nicht mehr. Funktioniert das auch mit FPC/Lazarus?
Stefan

Geändert von Sinspin (25. Jun 2025 um 14:00 Uhr) Grund: Typo
  Mit Zitat antworten Zitat
Renate Schaaf

 
Delphi 11 Alexandria
 
#3
  Alt 25. Jun 2025, 09:35

Ich verwende die CE nicht mehr. Funktioniert das auch mit FPC/Lazarus?
Danke, Stefan. Ich kann mir nicht vorstellen, dass das funktioniert. Die Mediafoundation-Headers sind ziemlich auf Delphi ausgerichtet. Ich weiß nicht, ob es Entsprechendendes für Lazarus etc. gibt.

Renate
Renate
  Mit Zitat antworten Zitat
Renate Schaaf

 
Delphi 11 Alexandria
 
#4
  Alt 8. Jul 2025, 11:42
Es gibt headers für Mediafoundation für Free Pascal: https://github.com/CMCHTPC/MediaFoundation.

Die sind aber 7 Jahre alt, und nicht auf dem neuesten Stand des SDK, werden also unter Windows 11 evtl. Probleme haben.

Teile von meinem code könnten wahrscheinlich übertragen werden, sieht aber nach Heidenarbeit aus

Renate
Renate
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

 
Delphi 10.3 Rio
 
#5
  Alt 8. Jul 2025, 13:53
Musst dir da wegen mir keinen kopp machen.

Bisher sieht meine Planung so aus das ich raw BMP/TGA files erzeuge die dann vom Renderer geladen werden können.
Für eine eigene Lösung kann ich ffmpeg verwenden und mir dein TBitmaps2Video dafür ansehen.
Meißt möchte ich eh noch ein bisschen Text dazu und ein Wasserzeichen über alles drüber haben. So dass sich dann was großes, wie Blender, vermutlich besser macht.

Erstmal muss alles ordentlich laufen. Dann gibts hier eine kleine Demo dazu und dann sehe ich weiter.
Stefan
  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 15:59 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