Delphi-PRAXiS
Seite 2 von 6     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   TBitmaps2Video (https://www.delphipraxis.net/205039-tbitmaps2video.html)

Renate Schaaf 28. Jul 2020 09:00

AW: TBitmaps2Video
 
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

himitsu 28. Jul 2020 14:50

AW: TBitmaps2Video
 
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.

TurboMagic 28. Jul 2020 17:40

AW: TBitmaps2Video
 
Falls das mal ein OpenSource Projekt werden sollte könnten auch andere dazu beitragen. Dann müsstest du nur einen generellen mechanismus bereitstellen
und wer eine andere Container/Codec Kombination braucht kann es selber umsetzen und dann auch bitte beitragen.

Ich weiß ja nicht wei dein Plan an der Stelle ist...

Renate Schaaf 2. Aug 2020 17:41

AW: TBitmaps2Video
 
Ich habe versucht, Eure Vorschläge einzuarbeiten. Das ist dabei herausgekommen:

Bitmaps2Video_3

Im einzelnen (siehe neue unit UFormats.pas):
  • 7 Codecs von Libav, die funktionieren. U.a.auch mjpeg
    Liste von Dateiformaten, die unterstützt werden, Liste von Codecs, die von gegebenem Dateiformat unterstützt werden
    Mechanismen zum einfachen Darstellen in Listen (Combobox.items)
    Eine Klasse TBaseCodecSetup und Nachfolger, die das set up für bestimmte Codecs übernehmen
    Mechanismus zum Registrieren eines neuen Codecs mit passender Setup-Klasse
    Rudimentäre Unterstützung von Audio
(Das use GraphicEx ist jetzt auch verschwunden)

Damit wäre der Grundstein für open source gelegt, aber ich trau mich im Moment noch nicht :stupid:. Ich krieg zwar irgendwie alles von GitHub oder SourceForge, das ich will, aber der ganze Aufbau ist mir ein Rätsel.

Danke fürs feedback

Renate

TurboMagic 3. Aug 2020 06:55

AW: TBitmaps2Video
 
Das klingt doch schon ganz gut!
Das mit der Open-Source Veröffentlichung ist auch nicht sooo schwer,
zumindest wenn man grundsätzliche Kenntnis von Versionskontrolle hat.

1. GitHub Konto anlegen

2. Neues Repository/Projekt dort anlegen

3. Eine Lizenz für den eigenen Code raussuchen und im Header aller Units
als Verweis auf eine zentrale Lizenzdatei angeben. Populäre Lizenzen:
Apache 2.0 oder Mozilla Public License 2.0 wenn mann nicht erzwingen
will, dass Code der die Bibliothek benutzt auch zu Open Source werden
muss (das wäre ja sonst die GPL)

4. Eine kurze Readme mit Projektbeschreibung anlegen

5. Das auf Github erzeugte leere Projekt auschecken

6. Den eigenen Code in die Arbeitskopie kopieren und Commit/Push hoch damit

So ungefähr wäre der Ablauf.

Grüße
TurboMagic

Renate Schaaf 3. Aug 2020 08:44

AW: TBitmaps2Video
 
@Turbomagic: Danke! Das hilft mir schon enorm weiter.

Renate

TurboMagic 10. Aug 2020 18:48

AW: TBitmaps2Video
 
Na, schon weiter gekommen mit dem Publizieren deiner Bibliothek?

ANdere Frage: wie würde man in einer Android APp einen Video auf diese/ähnliche Weise erzeugen?

Renate Schaaf 10. Aug 2020 21:18

AW: TBitmaps2Video
 
Zitat:

Na, schon weiter gekommen mit dem Publizieren deiner Bibliothek?
Nöö.. Ich versuche gerade vom Handy aufgenommene Videos mit einzubinden, was mir arge Kopfschmerzen bereitet von wegen verschiedener frame rate.

Mit Android habe ich mich noch nicht befasst, und ich habe mein Smartphone verschenkt...

Aber man kann unter Windows ein Video produzieren, dass unter Android abgespielt werden kann, das spielt doch mp4 ab oder nicht?, und ganz bestimmt avis mit mjpeg, weil die Handies doch solche selber aufnehmen.

Abgesehen davon, habe ich Deinen anderen thread verfolgt. Wenn ich etwas Video-artiges in Echtzeit auf den Bildschirm bringe, mache ich das nicht mit nem timer, sondern umgekehrt:
Loop:
Zeit messen, die vergangen ist -> mittels fps umrechnen auf das Bild, das jetzt angezeigt werden muss -> das Bild anzeigen -> sleep

Damit zeigt man u.U. mehr Updates als eigentlich nötig, aber die sind normalerweise pünktlich. Meine Diaschau funktioniert so auf die Zehntelsekunde genau. Fürs Anzeigen möglichst direkt auf einen HDC zeichnen, Komponenten wie TImgage haben zu viel Overhead.

Nochmal zum Video: Ich meine gelesen zu haben, dass Libav auch unter Android etc. funktioniert, muss mal sehen, ob ich das noch finde.
Update: Unter dem Link, den ich für die Dlls angegeben habe, gibt es die entsprechenden Dlls auch für Android. Gibt es Bitmaps unter Android? Vielleicht muss man ja nur die Dlls austauschen...Wahrscheinlich zu naiv.

Gruß, Renate

TurboMagic 11. Aug 2020 05:59

AW: TBitmaps2Video
 
Hallo Renate,

danke für deine Antwort!

1. Wäre es nicht geschickter wenn du dass, was du inzwischen schon hast mal einfach
mutig unter open source veröffentlichst? Dann könnten andere dir einfacher helfen.

2. Wir suchen nach einer Lösung um farbige Rechtecke mit einer konstanten Frequenz
z. B. 30 Hz auszugeben. Eine Idee war, diese evtl. einfach als Video zu codieren
und das dann abzuspielen. Müsste aber auf dem Android Smartphone passieren.
Kann man deinen Lösungsansatz evtl. passend umbauen? Was braucht man dazu?
Reicht die freie Header Übersetzung der ffmpeg Webseite?
http://www.delphiffmpeg.com/headers/
Kann man die Framerate einstellen und nach wieviel Frames ein neues P-Frame kommt?
Kann man die gewünschten Frames einfach als Bitmap übergeben? Wir brauchen sicher
keine "High sophisticated" Kompression und auch kein AUdio.

Grüße
TurboMagic

Renate Schaaf 11. Aug 2020 11:03

AW: TBitmaps2Video
 
Das heißt, du bräuchtest nur das Create, AddFrame, CloseFile.

Das kann man alles ohne WinApi kodieren. Gut, dann werde ich mal mein Rio auf crossplatform upgraden (dann lädt es noch länger...),
aber was tut man nicht alles:). Mal gucken, ob ich was hinkriege, bei dem der Compiler nicht meckert, den Rest musst du machen.

Und On-the-fly geht wirklich nicht? Wundert mich, aber wie gesagt, Android keine Erfahrung.

Zitat:

Kann man die Framerate einstellen
Kann man.

Zitat:

und nach wieviel Frames ein neues P-Frame kommt?
Sowas kann man auch einstellen, aber der encoder macht dann gern, was er für richtig hält.

Gruß!


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:11 Uhr.
Seite 2 von 6     12 34     Letzte »    

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