AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi von mehreren JPEG in MPEG
Thema durchsuchen
Ansicht
Themen-Optionen

von mehreren JPEG in MPEG

Ein Thema von Christian18 · begonnen am 18. Okt 2005 · letzter Beitrag vom 18. Okt 2005
Antwort Antwort
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#1

von mehreren JPEG in MPEG

  Alt 18. Okt 2005, 12:44
Hallo,

ich habe mal eine Frage zu JPEG und MPEG. Kann ich aus mehreren JPEG Bilden ein kleines Video machen??? Also von mehreren JPEG Dateien in das MPEG Video Format konvertieren??? Oder gibt es auch noch eine andere möglichkeit ein Desktop Video zu machen??? Der jetzige stand ist:

- Ich mache 30 Bilder pro Sekunde, damit ich dann einen kleinen ruckelfreien Film habe.
- dann habe ich mir eine kleien routine geschrieben die 30 bilder in der sekunde aufruft. und somit den film abspielt. --> dies ist aber leider kein film sondern nur eine Diashow.

Gibt es da auch einen andere möglichkeit damit ich nur eine Datei pro film habe???

MFG Christian18
  Mit Zitat antworten Zitat
Phistev
(Gast)

n/a Beiträge
 
#2

Re: von mehreren JPEG in MPEG

  Alt 18. Okt 2005, 13:05
Es gibt Programme, die dir die Diashow als Video speichern (Nero 6 Reloaded und Nero 7 zum Beispiel)
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#3

Re: von mehreren JPEG in MPEG

  Alt 18. Okt 2005, 13:32
Zitat:
Gibt es da auch einen andere möglichkeit damit ich nur eine Datei pro film habe???
Jo!
Das ist eigentlich ganz einfach.
Du schreibst erst einmal deine ganzen Bilder in einen TFileStream.

Delphi-Quellcode:
var
  FS:TFileStream;
begin
  FS := TFileStream.Create(filename,fmOpenWrite);
  FS.Seek(soFromEnd,0);
  for i := 0 to bildercount-1 do
    mybild[i].savetostream(FS);
  FS.Free;
end;
So hättest du deine Bilder schon einmal in einer Datei.
Du kannst den Stream auch in OnFormCreate erzeugen und nur dann ein Bildhinzufügen wenn du es brauchst.

Um das ganze wieder zu lesen würde ich einen Timer verwenden.

Delphi-Quellcode:
var FS:TFileStream;

implementation

procedure FormCreate(Sender:TObject);
begin
.
.
  FS := TFileStream.Create(filename,fmOpenRead);
  FS.Seek(fmFromBeginning);
.
.
end;
Delphi-Quellcode:
procedure OnTimer(Sender:TObject);
begin
  image1.picture.bitmap.loadfromstream(fs);
end;
In FormDestroy nicht vergessen den Filestream zu löschen!

Ich weiß nicht ob das geht, ich rate dir mal die Online Hilfe zu Streams zur Hand zu nehmen.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von BlackJack
BlackJack

Registriert seit: 2. Jul 2005
Ort: Coesfeld
246 Beiträge
 
Delphi 2005 Personal
 
#4

Re: von mehreren JPEG in MPEG

  Alt 18. Okt 2005, 14:04
wenn du pech hast schreibt und liest der TFileStream die ganze zeit von der platte, d.h. dass jeder frame wieder von der platte gelesen werden muss etc. das ist mist da das 1. die platte bestimmt nicht so schön findet und 2. ist das auch noch ziemlich lahm.

ich würde dir auch zu konvertierungstools raten, oder ansonsten nimmst du ne TObjectList, packst dir da ganz viele TJPEG (oder wie die teile heissen) rein (für jeden frame eines), sodass du alle frames im RAM hast und von daher nacheinander anzeigen kannst. kommt aber auf die größe drauf an, weil wenn dein RAM voll ist und geswappt werden muss, dann hast du auch nichts davon
See my shadow changing, stretching up and over me.
Soften this old armor. Hoping I can clear the way
By stepping through my shadow, coming out the other side.
Step into the shadow. Forty six and two are just ahead of me.
  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:23 Uhr.
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