Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Bitmaps2Video für Windows Media Foundation (https://www.delphipraxis.net/213113-bitmaps2video-fuer-windows-media-foundation.html)

Renate Schaaf 27. Mai 2023 16:23

Bitmaps2Video für Windows Media Foundation
 
Liste der Anhänge anzeigen (Anzahl: 1)
Aktualisierung:

Eine erste Version des Projekts gibt es jetzt auf https://github.com/rmesch/Bitmaps2Vi...dia-Foundation.
Für Details siehe das Readme dort.

/Aktualisierung

In letzter Zeit habe ich an einem port von Bitmaps2Video von ffmpeg auf Windows Media Foundation gearbeitet, denn mir gefällt nicht, dass es diese ganzen Dlls benötigt.
Bevor ich das Resultat auf GitHub hochlade, möchte ich es gern hier vorstellen, da ich nur begrenzte Möglichkeiten zum Testen habe.
Außerdem hoffe ich, vielleicht ein paar Tips für noch bestehende Probleme zu bekommen (siehe unten). Die Dokumentation von WMF hat mich schon ein paar Mal an den Rand des Wahnsinns getrieben.

Was es tut:
Enkodiert eine Serie von Bitmaps als Video, wobei man als Benutzer nur Grundkenntnisse über Videos haben muss.
Kann 2 Sorten von Übergängen zwischen Bildern als Beispiel dafür, wie man mehr einbauen kann.
Unterstützt Dateiformate .mp4 mit Codecs H264 oder H265, oder .wmv mit Codec WMV3.
Benutzt die GPU zum Enkodieren, falls unterstützt, falls nicht, wird Software benutzt.
Benutzt parallele Routinen wann immer das Sinn macht.
Hat eine experimentelle Routine zum Einfügen von Audio (Muxer). Geht im Moment nur für H264 und WMV3.

Was es braucht:
VCL-basiert
Braucht die hervorragenden MF-headers von https://github.com/FactoryXCode/MfPack.
Den Ordner src von MFPack zum Bibliothekspfad hinzufügen, packages müssen nicht installiert werden.

Um alle features zu nutzen, braucht es Windows10 oder höher.
Delphi-Versionen: Braucht wahrscheinlich mindestens XE3, aber ich habe nur 11.3 zum Testen.

Probleme:
Ich bin nicht allzu angetan von der Enkodier-Qualität, liegt vielleicht an meiner nVidia-Karte.
Der Audio-Muxer müsste eigentlich auch für H265 funktionieren, denn es geht, wenn ich ffmpeg für's muxen nehme.
Ich habe bis jetzt nicht rausgekriegt, wie ich Video-clips einfüge.

Renate

Renate Schaaf 27. Mai 2023 19:45

AW: Bitmaps2Video für Windows Media Foundation
 
Errata: uToolsWMF hat eine unit Z_prof in der uses-Liste. Einfach entfernen. Kommt davon, wenn man zu viel Zeug im path hat.

Inzwischen habe ich glaube ich rausgefunden, wie man die Qualität verbessern kann.
Um Zeile 270 rum in uBitmap2VideoWMF.pas die folgenden Änderungen machen:

Code:
if succeeded(hr) then
    hr := MFCreateAttributes(attribs, 4); //<--------- change to 4 here
  // this enables hardware encoding, if the GPU supports it
  if succeeded(hr) then
    hr := attribs.SetUINT32(MF_READWRITE_ENABLE_HARDWARE_TRANSFORMS, UInt32(True));
  // this seems to improve the quality of H264 and H265-encodings:
  {*************** add this *********************************}
  // this enables the encoder to use quality based settings
  if succeeded(hr) then
    hr := attribs.SetUINT32(CODECAPI_AVEncCommonRateControlMode, 3);
  {**************** /add this *******************************}
  if succeeded(hr) then
    hr := attribs.SetUINT32(CODECAPI_AVEncCommonQuality, 100);
  if succeeded(hr) then
    hr := attribs.SetUINT32(CODECAPI_AVEncCommonQualityVsSpeed, 100);

klaus schaaff 2. Jun 2023 17:05

AW: Bitmaps2Video für Windows Media Foundation
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Renate,

es gibt verschiedene Lanczos Varianten. Dein Lanczos sieht bei mir so aus:

Delphi-Quellcode:
function LanczosXFilter(Value: Extended; LanczosWidth: Integer): Extended;
var
  y, yinv: Extended;
begin
  Value := abs(Value);
  if Value = 0 then
    Result := 3
  else if Value < 1 then begin
    y := Pi * Value;
    yinv := 1 / y;
    Result := sin(3 * y) * sin(y) * yinv * yinv;
  end else
    Result := 0;
end;
Es erzeugt eine Rasterung bei 80% Verkleinerung, siehe Anhang Lanczos.jpg

Meine Variation von Lanczos erzeugt kein Raster:

Delphi-Quellcode:
function LanczosXFilter(Value: Extended; LanczosWidth: Integer): Extended;

  // Normalisierte SinC Funktion = sin(Pi*x) / (Pi*x)
  function SinC(Value: Extended): Extended;
  begin
    if Value <> 0 then begin
      Value:= Value * Pi;
      Result:= Sin(Value) / Value;
    end else
      Result:= 1;
  end;

begin
  if Value < 0 then
    Value:= -Value;
  if Value < LanczosWidth then
    Result:= SinC(Value) * SinC(Value / LanczosWidth)
  else
    Result:= 0;
end;
Weiter finde ich es problematisch auf 3rd Party MfPack, zu verweisen, das es inzwischen in mehr als 4 unterschiedlichen Versionen mit unterschiedlichen Unitnamen gibt. Daduch erhält dein Package eine Halbwertszeit von MfPack. Nicht gut!

Auch die Objektorientierte Kapselung mit Class of Funktionen in Records usw. ist total overpowered. Die tatsächlichen WindowAPI Funktionen sind keine Class Funktionen, brauchen das nicht.

Liebe Grüße
Klaus Schaaff

Renate Schaaf 2. Jun 2023 21:58

AW: Bitmaps2Video für Windows Media Foundation
 
Zitat:

Meine Variation von Lanczos erzeugt kein Raster:
Danke, guck ich mir mal an. Meine Lanczos-Funktion ist die, die man weit verbreitet findet, und die z.B. in Graphics32 benutzt wird. Das mit der Rasterung ist mir nicht aufgefallen.
Hast Du ein Repo, wo ich mir Deine Version mal angucken kann?

Zitat:

Weiter finde ich es problematisch auf 3rd Party MfPack, zu verweisen
Wie soll ich es denn sonst machen? Ich könnte natürlich die header-units, die ich brauche, in mein Repo kopieren, aber das finde ich ein bisschen schofel den Entwicklern von MfPack gegenüber, die viel Arbeit in diese header gesteckt haben. Ich weiß, in meiner ffmpeg-version habe ich es so gemacht, weil es so einfacher ist, zu sehen, wo die ganzen .dlls hinmüssen, aber ich habe eigentlich immer ein schlechtes Gewissen deswegen.
Inzwischen habe ich den Tip bekommen, mfPack als submodule hinzuzufügen, das muss ich mir aber erstmal zu Gemüte führen.
Code:
Auch die Objektorientierte Kapselung mit Class of Funktionen in Records usw. ist total overpowered.
Das ist Geschmackssache. Werde ich garantiert nicht ändern. Und in wiefern sind Records overpowered? Ist doch nun wirklich keine "rocket-science":). Mit Klassen und Records zu arbeiten ist einfach viel strukturierter, allein wegen Code-Completion.
Im Gegenteil, ich hatte schon eine vage Idee, einigen Media-Foundation-Funktionen ein Klassengerüst zu geben. Dauernd muss man diese Attributs-Namen nachgucken, und wie man sie wohin und wann und wie einlesen muss.

Renate

Renate Schaaf 3. Jun 2023 06:29

AW: Bitmaps2Video für Windows Media Foundation
 
Zitat:

Dein Lanczos sieht bei mir so aus:
Hallo, Klaus,

Du hast die Funktion falsch skaliert, da ist es kein Wunder, wenn Mist dabei rauskommt. Meine Filter sind alle auf Weite 1 normalisiert, und die Skalierung auf den Radius mache ich erst, wenn ich die Gewichte berechne. Willst Du auf Weite LanczosWidth umskalieren, musst du das so machen:

f_skaliert(value)=1/LanczosWidth*f(value/LanczosWidth).

Und wenn dann, wie ich stark annehme, LanczosWidth=3 ist, dann haben wir, schwupp, die gleiche Funktion. Rechne es nach :).

Renate

klaus schaaff 3. Jun 2023 14:04

AW: Bitmaps2Video für Windows Media Foundation
 
Hallo Renate,

das Ganze ist eine ökonomische Kalkulation. Was möchte ich?
Wieviel Mannstunden sind dafür nötig? Was bekomme ich anschließend dafür. Das ist in deinem Fall, nicht ohne weiteres
sofort absehbar und dafür würde ich mir an deiner Stelle Zeit
lassen.

Das Lanczos Raster kann durchaus bei dir korrekt funktionieren, so wie du skalierst. Mir ist damals (vor 10 Jahren) aufgefallen,
die Rechenzeiten gehen dort so drastisch in die Höhe, dass ich
Lanczos nur der Vollständigkeit aufgenommen habe. Im übrigen
habe ich keine GPU-Implementierung.

Bei mir sieht die Liste so aus:

Nearest
Bilinear
Bicubisch
Mitchell
Lagrange
BSpline
Lanczos
Halftone

Hier ist Halftone sehr wichtig für Verkleinerungen optimal. Für Vergrößerungen gar nicht zu gebrauchen.

Ähnlich alle anderen. Man muss vorher genau wissen, welcher
Algorithmus ist gut für Vergrößerungen und welche sind gut für
Verkleinerungen.

Leider kann ich dein Packet nicht compilieren, da bei mir Delphi 2009 die höchste Version ist.

Zur objektorientieren Kapselung, mir reichen die Delphi 7 Implemntierungen vollkommen aus.

Und nochmals, das sind nur meine persönlichen Erfahrungen mit dem Thema, wie gesagt vor 10 Jahren. Die gesammte Delphi-Gemeinde scheint zu akzeptieren, dass heute niedrigere Delphi-Versionen ausgeschlossen werden. Das mag ich nicht. Dennoch, es bleibt allein deine Entscheidung.


Liebe Grüße
Klaus Schaaff

Renate Schaaf 3. Jun 2023 15:02

AW: Bitmaps2Video für Windows Media Foundation
 
Zitat:

Leider kann ich dein Packet nicht compilieren, da bei mir Delphi 2009 die höchste Version ist.
Es geht Dir um den Resampler, nicht das Video-Projekt, richtig?

Leider habe ich keine Ahnung, was Delphi 2009 schon alles so kann, aber anonyme Prozeduren kannte das wahrscheinlich noch nicht. Die records sind nicht das Problem, die kann man schnell entkoppeln. Ich habe nur 2006 und 11.3. 2006 war die letzte Pro-Version, die ich mir leisten konnte.
Ich würde gerne frühere Versionen unterstützen, aber ohne Test geht das nicht.

Ich hab noch eine alte Resampler-Version, die unter 2006 läuft, und die auch ohne threads schon ziemlich schnell war. Wenn es Dich interessiert, kann ich die Version mal salonfähig machen, und hier hochladen, dann hast Du einen Vergleich. Allerdings ohne Demo.

Renate

dummzeuch 3. Jun 2023 17:43

AW: Bitmaps2Video für Windows Media Foundation
 
Ohne jetzt den Code zu kennen: Delphi 2009 kannte schon Enhanced Records, aber noch keine (Custom) Managed Records. Und nein: Anonyme Methoden kannte es noch nicht, ebenso wenig enthielt es die Parallel Programming Library.

Renate Schaaf 3. Jun 2023 19:51

AW: Bitmaps2Video für Windows Media Foundation
 
Danke, Thomas, damit kann ich schon was anfangen. Die Sachen, die es nicht kann, brauche ich gar nicht unbedingt.

Renate

klaus schaaff 3. Jun 2023 21:04

AW: Bitmaps2Video für Windows Media Foundation
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Renate,

bevor du eine Delphi 2006 Version vorbereitest, schau dir bitte erst mal den Anhang Hilfe.pdf an. Dort erkennst du meine Intension. Praktische Hilfen, die man wirklich braucht. z.B:
Druckgröße Auflösung in [Pixel / Inch], [Pixel / cm], [Pixel / mm]. Da gibt es kein Herumrechnen mehr. Es gibt eine Vorgabe, die man direkt einstellen kann. Das ist es, wenn man ständig Graphik bearbeitet und nicht einmal im Jahr. Das sind meine Vorstellungen eines Expertenprogramms, nicht die, die man in Smartphone Apps findet, in Android oder sonst wo und dann schnell einmal im
Jahr unter stark abgespeckten Bedingungen mal was macht.

Dort in der Hilfe.pdf Seite 6.

Liebe Grüße
Klaus Schaaff

Renate Schaaf 3. Jun 2023 21:27

AW: Bitmaps2Video für Windows Media Foundation
 
Zitat:

Druckgröße Auflösung in [Pixel / Inch], [Pixel / cm], [Pixel / mm]. Da gibt es kein Herumrechnen mehr. Es gibt eine Vorgabe, die man direkt einstellen kann.
Das ist die Aufgabe Deines Expertenprogramms, finde ich. Ich stelle nur ein tool zur Verfügung, mit dem man Bitmaps auf eine bestimmte Pixel-Größe skaliert. Wie Du die Größe errechnest, ist meiner Meinung nach Deine Sache. Und wenn Du weiterhin Hinweise auf die Minderwertigkeit meiner Arbeit verstreust, muss ich mir das aber noch mal sehr überlegen. Oder hab ich da was missverstanden?

klaus schaaff 4. Jun 2023 06:13

AW: Bitmaps2Video für Windows Media Foundation
 
Hallo Renate,

es tut mir leid, wenn du den Eindruck gewonnen hast, ich würde Hinweise verstreuen auf Minderwertigkeit deiner Arbeit. Ich habe anscheinend zu viel rumgemeckert, das hätte ich gern und das noch...

Besonders unter dem Aspekt, dass ich es nicht nach ca. 7 Std investierter Arbeit zustande brachte dein Package zu compilierem, bestätigt deinen Eindruck, dass ich eigentlich keine Ahnung habe, was dein Programm macht.

Bitte entschuldige meine Vorschläge.


Liebe Grüße
Klaus Schaaff

klaus schaaff 4. Jun 2023 07:41

AW: Bitmaps2Video für Windows Media Foundation
 
Hallo Renate,

zu deinen Referenzen und Reputation sollte ich noch erwähnen. Viele deiner Arbeiten verfolge ich seit ca. 1993. Dazu gehörten:

unit Parser10;
unit AviWriter_2;
unit IFSCodeEditor;
unit IFSDesigner;
unit IFSDesignForm;
unit IFSDisplay;
unit IFSMathUtils;
unit IFSTriangle;
unit MathUtils;
unit VirtualExplorerListviewEx;

Das sind alles wegweisendende Arbeiten, an denen ich selbst sehr viel lernen konnte. Diese Komponenten habe ich heute noch auf meinem System installiert, weil diese es wert sind! Und, wahrscheinlich ist das nur ein kleiner Teil all deiner Arbeiten.


Liebe Grüße
Klaus Schaaff

Renate Schaaf 4. Jun 2023 14:11

AW: Bitmaps2Video für Windows Media Foundation
 
Hallo, Klaus,

Ich hätte meinen Post gestern am liebsten gelöscht. Tut mir leid, dass ich Dich missverstanden habe. Ich hätte gar nicht gedacht, dass jemand das alte Zeug von mir noch kennt. Arbeit an der Legacy-Version geht etwas schleppend voran, wenn man mit der alten Delphi-Version arbeitet, merkt man erst, welche Annehmlichkeiten die neueren bieten.
Ich porte jetzt die neue Version nach Delphi2006, anstatt die alte aufzufrischen, dann sind die threads auch gleich mit dabei. Dass Du die neue Version nicht complilieren konntest, ohne zu wissen, wie die Sachen ineinander greifen, ist verständlich. Hätte ich auch nicht geschafft.

Alles Gute,
Renate

klaus schaaff 4. Jun 2023 15:35

AW: Bitmaps2Video für Windows Media Foundation
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Renate,

ich möchte gern mal etwas ausprobieren, was auch dir nützlich sein könnte, zum Zeitvertreib oder was auch immer.

Ich lade mal hier meinen Screengrabber hoch, da es in diesem
Forum schon öfters Probleme gab wegen Virusmeldungen, daher ein Schuss ins Blaue.

Ich habe bei Virustotal meine *.exe prüfen lassen. Nur bei MaxSecure gab es eine positive Virusmeldung, bei allen anderen war der Befund negativ.


Liebe Grüße
Klaus Schaaff

dummzeuch 4. Jun 2023 17:18

AW: Bitmaps2Video für Windows Media Foundation
 
Zitat:

Zitat von Renate Schaaf (Beitrag 1523027)
Ich porte jetzt die neue Version nach Delphi2006, anstatt die alte aufzufrischen

Sicher, dass Du Dir das antun willst? Delphi 2006 war zwar deutlich besser als 2005, aber z.B. Enhanced Records (falls Du die verwendest) hatten noch einiges an Bugs, die gerne zu einem "internal compiler error" führen. Außerdem war das noch eine non-Unicode-Version (oder war das mit "legacy" gemeint?).

Aber gut, die Entscheidung liegt natürlich bei Dir.

Für den Fall, dass Du das noch nicht wusstest: Wenn Du ein Delphi 11 gekauft hast, ist da normalerweise auch noch je eine Lizenz für alles bis zurück zu Delphi 2007 + Delphi 7 dabei. Allerdings muss man sich die Lizenzkeys dafür rechtzeitig herunterladen, nach einem Jahr (oder so) funktioniert der Link nicht mehr. (Einer meiner Kollegen hat das verbummelt :-( ).

Renate Schaaf 4. Jun 2023 18:30

AW: Bitmaps2Video für Windows Media Foundation
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Sicher, dass Du Dir das antun willst?
Ist schon fertig, s.u. :)
Gott sei Dank habe ich genügend Erfahrung mit den alten Versionen bis 2006. Unicode ist bei mir egal. Die Records habe ich entweder in Klassen umgewandelt oder auf normale reduziert.
Leider habe ich für Delphi 11 nur die Community, bin aber glücklich, dass es die gibt.

Zitat:

Ich lade mal hier meinen Screengrabber hoch
Läuft bei mir OK. Schönes Tool, z.B. nützlich, um schnell Fehlermeldungen hier hochzuladen.

Die Legacy-Version vom Bitmap-Resampler ist fertig, Demo eingeschlossen. Hoffe es passiert nichts Unerwartetes mehr beim Ausprobieren.

Leider werden die Bitmaps u.U. nicht in Originalgröße angezeigt, von wegen GDI-Scaling.

Die Version müsste auch in Delphi 7 laufen, wenn man alle ;inline entfernt. Delphi 6 hatte Schwierigkeiten mit threads, ist also nicht empfohlen.

Edit: Ich hab ein Icon gelöscht, weswegen Delphi meckert, macht aber nichts. Einfach Projekt-Optionen anpassen.

Renate

klaus schaaff 5. Jun 2023 08:39

AW: Bitmaps2Video für Windows Media Foundation
 
Hallo Renate,

Der Bitmap Resampler läuft bei mir inzwischen auf Delphi 5. Das
Konzept mit der nachträglichen Skalierung ist wesentlich besser als meines. So ganz verstanden habe ich es aber noch nicht, das braucht noch etwas Zeit.

Ich werde dann alles nochmals nach Delphi 2009 portieren und sehen, was da 'rauskommt. Alles in Allem ist das Projekt ein hochkomplexes Thema. Im Moment sehe ich noch kein Land, wohin das führen wird. All meine Vorschläge sind erst mal obsolet. Nochmals, Entschuldigung ... für meine unverblümten Einfälle.

Auf jeden Fall, danke für deine Geduld und die Arbeit, die du dir gemacht hast!


Liebe Grüße
Klaus Schaaff

Renate Schaaf 5. Jun 2023 09:25

AW: Bitmaps2Video für Windows Media Foundation
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

So ganz verstanden habe ich es aber noch nicht, das braucht noch etwas Zeit
Erklärung siehe Anhang.

Renate

klaus schaaff 6. Jun 2023 05:11

AW: Bitmaps2Video für Windows Media Foundation
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Renate,

was mich von Anfang an viel mehr interessiert hat, ist die Möglichkeit deines Package ein Video aus Einzelbildern rendern zu lassen.

Ich habe vor langer Zeit einen eigenen RayTracer ähnlich POV-Ray v3.6 geschrieben und diesen über die Jahre immer mal wieder erweitert mit neuen Features.

Also, der RayTracer rendert bei mir eine 3D-Szene (1 Frame). Die 3D-Szenensprache enthält Animationsparameter x, y, z nach denen alles z.B. Orte der Körper, Texturen in Zeitschritten verändert werden kann. Der erste Frame wird mittels AviWriter_2 dem Video hinzugefügt. Dann der nächste Frame gerendert, hinzugefügt usw. bis ein kleines Video fertig ist. Damit du mir einfacher folgen kannst füge ich im Anhang Sinus.zip hinzu. Blöd ist jetzt, man kann hier im Forum keine *.mp4 als Anhang hochladen. Sinus.zip enthält Sinus.mp4 ein gerendertes Video. Dort wird nur die Oberflächen-Textur mit der Funktion Sinus variiert.

Nun zum meiner Frage: Ich habe es nie geschafft in das Video zusätzlich eine Wave-Datei zu rendern. Video Schnittsoftware kann sowas, da legt man mehrere Einzelbilder in den Videostream und in den Audiostream eine *.wav und rendert das zusammen.

Gibt es in deinem Bitmaps2Video eine Möglichkeit Audiostreams hinzuzufügen?


Liebe Grüße
Klaus Schaaff

Renate Schaaf 6. Jun 2023 07:05

AW: Bitmaps2Video für Windows Media Foundation
 
Zitat:

Ich habe es nie geschafft in das Video zusätzlich eine Wave-Datei zu rendern
Mit AviWriter_2 kannst du eigentlich sogar mehrere wav-Dateien hinzufügen. Was für eine Version hast Du denn? Ich habe irgendwann aufgegeben, das Teil irgendwohin hochzuladen, und es nur noch für meine eigenen Anwendungen benutzt. Bitmaps2Video sollte ein besserer Ersatz werden. Ich habe auf GitHub schon eine Version, die ffmpeg benutzt. Siehe https://github.com/rmesch/Bitmaps2Video
, aber die wirst Du wahrscheinlich mit 2009 nicht direkt benutzen können. Die WMF-version kann inzwischen auch Audio direkt mit enkodieren, aber soweit ich bisher erfahren habe, kann man die Demo nur mit 10.3 oder höher compilieren, das kann aber daran liegen, dass ich in den utilities eine d2d1_1-routine habe, die ich aber gar nicht brauche.

Renate

klaus schaaff 6. Jun 2023 07:52

AW: Bitmaps2Video für Windows Media Foundation
 
Hallo Renate,

hier meine AviWriter_2 Infos:

AviWriter -- a component to create rudimentary AVI files by Elliott Shevin, with large pieces of code
stolen from Anders Melander
version 1.0. Please send comments, suggestions, and advice to shevine@aol.com.
Extended to AviWriter_2 by Renate Schaaf renates@xmission.com http://www.xydot.com/delphi/

Ps.: Der Editor setzt die email und url immer als link, obwohl die alle tot sind. Ich habe die tags enfernt, und dann wieder neue Vorschau. Die tags sind wieder d'rin. Keine Ahnung wie das geht.

Gut, das ich von dir weiß, mit Delphi 2009 komme ich nicht weiter. Das bedeuted für mich zwei offene Wege. Entweder ich ich hole mir die Delphi 11.3 CE, oder ich schaue mir mal ganz genau den Quelltext von Bitmaps2Video an.

Das ist doch schon mal was, danke.


Liebe Grüße
Klaus Schaaff

Renate Schaaf 6. Jun 2023 08:57

AW: Bitmaps2Video für Windows Media Foundation
 
Hallo, Klaus,

Könnte Dein Audio-problem daran liegen, dass .mp4 kein unkomprimiertes Audio unterstützt? Müsstest Du .avi nehmen.

Renate

klaus schaaff 6. Jun 2023 13:50

AW: Bitmaps2Video für Windows Media Foundation
 
Hallo Renate,

Zitat:

Könnte Dein Audio-problem daran liegen, dass .mp4 kein unkomprimiertes Audio unterstützt? Müsstest Du .avi nehmen.
Ich denke nein. Damals habe ich sowohl komprimierte, als auch unkomprimierte Formate verwendet.

Folge war immer: Der MS-Mediaplayer reagiert nicht mehr. Und, auch bei *.avi das Gleiche.

Ich habe dann mit 'XMedia Recode' die Streams analysiert, dort sind die Audiostreams korrekt vorhanden. Ein Neurendern mit 'XMedia Recode' erzeugte erst dann mit einem *.ac3 oder *.mp3 ein Video mit Ton. Ein anderes Tool zur Analyse war VCL-portable, dort ditto.

Nun, es gab Fehler in Windows, bei denen ich erst nach 3 Jahren die Ursache fand. Manchmal waren das banale Ursachen, wie zu lange Pfadnamen und weiß der Geier, was sonst noch.

Meine Vermutung ist heute, ich hatte damals die ersten *.mp4 Codec-Implementierungen. Vielleicht ist das heute alles PILLE-PALLE und passe.


Liebe Grüße
Klaus Schaaff

klaus schaaff 13. Jun 2023 09:15

AW: Bitmaps2Video für Windows Media Foundation
 
Hallo Renate,

da ich leider unter Delphi 2009 keine Lösung erhalten habe für die Portiertung von Bitmaps2Video, werde ich in naher Zufunft keine weiteren Kommentare dazu haben.
Auch mit AviWriter_2 konnte ich kein Audiostream hinzufügen.

Es ist besser, wenn ich da später nochmals ansetze, um sehen zu können, wie sowas funzt. Deshalb klinke ich mich besser aus dem Thread für unbestimmte Zeit aus.

Ich wünsche den Projekt Bitmaps2Video weiterhin den Zuspruch den es verdient.


Liebe Grüße
Klaus Schaaff

Renate Schaaf 15. Aug 2023 12:46

AW: Bitmaps2Video für Windows Media Foundation
 
Das Projekt gibt es jetzt auf GitHub, siehe Aktualisierung im Eingangsbeitrag.

Hoffe, es ist von Nutzen und funzt :)

Renate


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:37 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