AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi AviWriter_2 SetCompression('XVID');
Thema durchsuchen
Ansicht
Themen-Optionen

AviWriter_2 SetCompression('XVID');

Ein Thema von Arnulf · begonnen am 9. Jul 2008 · letzter Beitrag vom 11. Jul 2008
Antwort Antwort
Arnulf

Registriert seit: 28. Okt 2004
Ort: Wien
271 Beiträge
 
#1

AviWriter_2 SetCompression('XVID');

  Alt 9. Jul 2008, 17:08
Hallo
hat jemand erfahrung mit AviWriter componente?

leider crasht er wenn ich SetCompression einstelle.

Delphi-Quellcode:
procedure InitAviOptions;
begin
     with fVideo.AviWriter do
     begin
          Width := 320;
          Height := 200;
          FrameTime := 40;
          Stretch := true;
          SetCompression('XVID'); // wenn ich das auskommentiere dann funktioniert es
          SetCompressionQuality(10000);
          PixelFormat := pf24bit;
          OnTheFlyCompression := true;
          InitVideo;
     end;
end;
ohne option SetCompression('XVID') funktioniert es gut.
Zitat:
Debugger Exception Notification:
Project AVRecorder.exe raised exception class Exception with message 'Failed to create compressed stream'. Process stopped. Use Step or Run to Continue.
lg
Arnulf
  Mit Zitat antworten Zitat
Arnulf

Registriert seit: 28. Okt 2004
Ort: Wien
271 Beiträge
 
#2

Re: AviWriter_2 SetCompression('XVID');

  Alt 10. Jul 2008, 21:26
Ich hab durch langes herumprobieren und einfügen in ein neues projekt rausgefunden, dass es sich scheinbar um ein problem mit meinen multimedia timer handelt ( timesetevent ).

wenn ich in einem externen projekt versuche videos zu kompremieren funktiniert es.
wenn ich allerdings einen multimedia timer verwende, dann geht scheinbar gleich einiges schief.

ich hab dazu ein kleines demo programm erstellt das nicht viel macht ausser aus bitmap avi erstellen.

in form1 muss man von oben nach unten alle buttons durchklicken ( ist ein testprogramm ).
in form2 wird der multimedia timer verwendet.

die frage ist welchen grund das wohl hat?

lg
Arnulf
Angehängte Dateien
Dateityp: rar bmptoavi_281.rar (2,70 MB, 21x aufgerufen)
  Mit Zitat antworten Zitat
Arnulf

Registriert seit: 28. Okt 2004
Ort: Wien
271 Beiträge
 
#3

Re: AviWriter_2 SetCompression('XVID');

  Alt 11. Jul 2008, 10:58
Ich hoffe das hält niemand für spamen aber ich dokumentiere hier wenigstens meine Erkenntnisse.

Es scheint so zu sein, als könne man die AviWriter_2 komponente nicht aus einem Thread benutzen.
Zumindestens bin ich durch probieren zu dem schluss gekommen.

Delphi-Quellcode:
unit Unit3;
interface
uses
  AviWriter_2, Classes, Graphics, SysUtils;

procedure startThread;

type
TThStream = class(TThread)
  private
  protected
    procedure Execute; override;
  end;

var
   THrunning : boolean;
   ThStream : TThStream;

implementation

procedure TThStream.Execute;
var
    aviwriter3 : TAviWriter_2;
    i : integer;
    bm : TBitmap;
begin
     THRunning := true;
     aviwriter3 := TAviWriter_2.Create(nil);

     AviWriter3.SetCompressionQuality(8000);
     AviWriter3.SetCompression('XVID');
     AviWriter3.filename := 'mymove2.avi';
     with AviWriter3 do
     begin
          Width := 400;
          Height := 300;
          FrameTime := 500;
          Stretch := true;
          OnTheFlyCompression:=true;
     end;
     AviWriter3.InitVideo;

     for i := 1 to 10 do
     begin
          bm := TBitmap.Create;
          try
             bm.LoadFromFile('jpg\' + inttostr(i) + '.bmp');
             AviWriter3.AddFrame(bm);
          finally
          bm.Free;
          end;
     end;
     AviWriter3.FinalizeVideo;
     AviWriter3.WriteAvi;
     end;

procedure startThread;
begin
     ThStream := TThStream.Create(False);
     ThStream.FreeOnTerminate := True;
end;
end.
Damit bin ich mit der Komponente endgültig in einer Sackgasse gelandet und sie ist für mich unbrauchbar.
Einzige alternative scheint momentan DSPack zu sein und sich da einzulesen ist Stress pur.
Hoffe jemand mit Erfahrung gibt noch kommentare dazu.

lg
Arnulf
  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 23:35 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