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
Renate Schaaf

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

AW: TBitmaps2Video

  Alt 27. Jul 2020, 10:52
Habe ich auch vor, aber ich wollte erst mal was anbieten, das ich genug getestet habe. Welche Codecs sind denn für Euch interessant? Libav enthält so gut wie alle.
Renate
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.732 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: TBitmaps2Video

  Alt 27. Jul 2020, 17:20
Habe ich auch vor, aber ich wollte erst mal was anbieten, das ich genug getestet habe. Welche Codecs sind denn für Euch interessant? Libav enthält so gut wie alle.
Für mich wäre im Prinzip MJPEG interessant, aber eigentlich haben wir sowas schon, insofern also auch wieder nicht.
Thomas Mueller
  Mit Zitat antworten Zitat
TurboMagic

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

AW: TBitmaps2Video

  Alt 27. Jul 2020, 19:44
Was für ein Aufwand ist das Hinzufügen eines Encoders?
Muss man den dann parametrieren und ggf. diese Parameter von außen zugänglich machen?
  Mit Zitat antworten Zitat
Renate Schaaf

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

AW: TBitmaps2Video

  Alt 28. Jul 2020, 01:43
Zitat:
Muss man den dann parametrieren und ggf. diese Parameter von außen zugänglich machen?
Das wollte ich ja eigentlich vermeiden, aber wird sich wohl nicht vermeiden lassen Was willst du denn als user von so nem Encoder wissen? Wenn du so gestrickt bist wie ich, am liebsten gar nichts. Ich möchte vorschreiben können, wie und wie gut das Ergebnis aussieht, und das Resultat soll das richtige Format haben, wenn ich es weiter verarbeiten will.
Bisher funktionieren mpeg4 und mpeg1/2 ohne Probleme mit den gleichen Einstellungsmöglichkeiten. mjpeg habe ich auch probiert, der braucht aber ganz andere Einstellungen für die Qualität (bitrate macht gar nichts), und bis jetzt sieht das Ergebnis nur verpixelt aus. Am liebsten würde ich nur versuchen, alle unterstützten codecs so einzustellen, dass die Werte sinnvoll auf Qualität übersetzt werden.
Außerdem ist das Container-Format noch wichtig (.mp4, .mkv, .flv, .f4v, .avi ...) nicht jeder container unterstützt auch alle codecs.

Was wäre, wenn man so was wie TFormatOptions (record?) baute, das einem für das gewählte Container-Format die Codecs zur Auswahl anbietet, und Grund- Einstellungen. Die kann man dann dem Constructor übergeben. VLC-player hat so was, aber selbst da funktioniert es nicht immer. Leider bin ich kein so Experte, was dieses Video-Zeug angeht, ich wollte nur sowas haben, und nicht auf beim Endbenutzer installierte Codecs angewiesen sein.

Gruß, Renate
Renate
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.533 Beiträge
 
Delphi 12 Athens
 
#5

AW: TBitmaps2Video

  Alt 28. Jul 2020, 04:17
Oder nimm dir als Beispiel ein anderes Programm.
7Zip und Dergleichen

Einmal das Format und dann noch die Qualität bzw. Geschwindigkeit (hier wäre es die Datenmenge)
Schnell/Klein, Normal, AmBesten ... z.B. in 1-5, 0-4, 0-9, 1-9 oder als Enum (1-5 bzw. 1-9 und in der Mitte das Normale ... 1=das kleinstmögliche=grad noch so erkennbar, über Mitte=Default=GutGenug für den Alltag, bis Groß=BesserGehtNimmer aka noch mehr lohnt eigentlich nicht sich nicht (selbst wenn noch mehr, gibt es keinen/kaum einen Unterschied)


Ich veruch für was was Anderes och 'ne "nutzbare" API zu erstellen ... Ergebnis ist in der Klasse eine "kleine" Anzahl der Wichtigsen/Allgemeinen Property und eine ConfigKlasse (welche im Prinzip nur sowas wie 'ne INI-artige StringListe ist) wo die SpezialDinge drin sind.

In deinem Fall:
* Datenformat
* Containerformat (mit gegenseitiger Prüfung, wenn man was Auswählt, dass das Andere nicht nuterstützt -> Exception oder "still" zutücksetzen (btw. das Ähnlichste nehmen)
* Oder ein CombiEnum aus Beidem = das ist "übersichtlicher"/verständlicher, aber es gibt natürlich paar Formate die dann doppelt/mehrfach vorkommen

* dann noch Qualität
* und vielleicht noch ein Limit (z.B. maximale Datenrate)

* und den Rest entweder als "offene" Liste oder je eine Properties-Klasse (Beispiel die Properties-Property bei DevExpress) für die einzelnen Formate (meine ListenKlasse hat eine Abfragefunktion was es "gerade" gäbe, weil ja für den Entwickler nicht "direkt" klar ist, was da jeweils möglich ist, so ohne Codevervollständigung)



Es ist nie einfach "verschiedenes" einheitlich rauszugeben.
Entweder du hast massenhaft Eigenschaften, die bei gewissen Typen ohne Funktion sind, weil es die da nicht gibt,
oder du hast nur eine kleine Anzahl der Gemeinsamkeiten (ohne Spezialfälle)
oder je nach Typ eine eigene Liste (SubKlassen --- in einem Property, den man erstmal casten muß, ala DevExpress oder TPicture.Graphic)
oder je nach Typ eine eigene Liste (SubKlassen --- in getrenten Property ala TPicture.Bitmap, TPicture.Icon, ....)
oder man hat Vieles doppelt und "immer" eingebaut (siehe ImageEn: für jeden Ausgabetyp zusätzlich in der Hauptklasse SpezialProperty ala .Mjpeg_Compression .Mp4_MaxDataRate, ...)
oder siehe der ConnectStr in vielen DB-Komponenten http://docwiki.embarcadero.com/RADSt...tion_(FireDAC)
usw.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (28. Jul 2020 um 04:46 Uhr)
  Mit Zitat antworten Zitat
Renate Schaaf

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

AW: TBitmaps2Video

  Alt 28. Jul 2020, 09:00
Danke für die Ideen, himitsu!
Du verstehst genau, auf was ich hinaus will. Die Beispiele leuchten mir ein (bis auf Datenbanken, die lasse ich lieber links liegen). Ich werde mal versuchen, für die Formate und Codecs, die ich bisher kapiere, etwas zusammenzustoppeln. Ich bin aber wahrscheinlich erst mal eine Woche weg, und ich traue mich nicht zu versuchen, die Delphi Community auf mein Notebook zu übertragen.

Gruß, Renate
Renate
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.533 Beiträge
 
Delphi 12 Athens
 
#7

AW: TBitmaps2Video

  Alt 28. Jul 2020, 14:50
Leider gibt es das Documentation-Insigt im Delphi nicht mehr. (eine Weile war eine kostenlose "Miniversion" drin),
aber das Help-Insight an sich ist noch da, zumindestens mit den grundlegensten Attributen und leider ohne Designer/Editor.
http://www.devjetsoftware.com/produc...ation-insight/


Strg+Leertaste in einer leeren Zeile über deine Funktion
und schauen was dir die Codevorlagen anbieten (alles wo XMLDoc in der Beschreibung steht).

Beispiel:
Delphi-Quellcode:
type
  TForm2 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    procedure Test1(x: Integer);

    /// <summary> Die Funktion führt einen Test aus. </summary>
    procedure Test2(x: Integer);

    /// <summary> die Beschreibung <para/> xxx lll iii <br/> <c>code lll iii</c> </summary>
    /// <param name="x"> der Param </param>
    /// <returns> das Ergebnis </returns>
    /// <remarks> einige Hinweise </remarks>
    procedure Test3(x: Integer);
  end;
Und dann schau dir an was Code-Insight/Help-Insight dir im Hint anzeigen, wenn du diese Funktion irgendwo benutzt.


PS: Es ist etwas ungewohnt, denn die mehrzahl der Entwickler schreibt den Kommentar drüber ... musste auch erst Zweimal hingucken.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (28. Jul 2020 um 15:05 Uhr)
  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 03:44 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