Home | Kontakt | Sitemap

Start

Über mich

Kontakt

Sitemap

Lizenz

Anleitungen

DVD, miniDVD

SVCD

Audio, Audio-CD (CD-DA)

AVI

Software

Von Freunden und Bekannten

Eigene Programme

Programmierung

Delphi

Lazarus

Delphi/Lazarus

Projekte

MPEG-1/2 Video

Optische Laufwerke

Audio-CD (CDDA)

Raspberry Pi Dashcam

Verschiedenes

MPEG 2 Schnitt

Project X

VCD Easy

Hardlinks

Windows

Links

Software

Programmierung Delphi - bbMPEG - DLL - Anwendung der Unit

Anwendung der Unit

(Unit zur dynamischen Einbindung der bbMPEG.Dll v1.0.0.2)

 

Vorbereitungen

Vor der Benutzung muss die Unit bbMPEG eingebunden, die Variablen deklariert und die Class erstellt werden. Am Ende wird die Class wieder freigegeben.

unit unit1;
 
uses
  ... bbMPEG, ...
 
type
  TForm1 = class(TForm)
    ...
  private
    { Private-Deklarationen }
    bbMPEG         : TbbMPEG;
    bbMPEGSettings : TbbMPEGSettings;
    ...
  end;
 
...
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  ...
  {
  *  Die Class bbMPEG erstellen.
  }
  bbMPEG := TbbMPEG.Create;
  bbMPEG.libPath := ExtractFilePath(Application.ExeName);
  bbMPEGSettings := bbMPEG.Settings;
  ...
end;
 
procedure TForm1.FormDestroy(Sender: TObject);
begin
  ...
  {
  *  Die Class bbMPEG freigeben.
  }
  FreeAndNil(bbMPEG);
  ...
end;

Folgende Eigenschaften der Class sollten gesetzt werden:


  libPath : String;
 
       Pfad zur bbMPEG.DLL
 
  inputVideo : String;
 
       Name der elementaren Videodatei einschließlich des Pfades.
 
  inputAudio : String;
 
      Name der elementaren Audiodatei einschließlich des Pfades.
 
  outputFile : String;
 
      Name der gemuxten Videodatei einschließlich des Pfades.

Darüber hinaus gibt es noch die Eigenschaft Settings, welche einen Teil der möglichen Einstellungen enthält. Die im Programm änderbaren sind in der Procedure SetDefault voreingestellt.

procedure TbbMPEG.SetDefault;
{******************************************************************************}
{**  Standardwerte einstellen
}
begin
  {
  *  Alle Einstellungen zurücksetzen
  }
  FillChar(fbbMPEGSettings, SizeOf(fbbMPEGSettings), 0);
  {
  *  Werte voreinstellen
  }
  with fbbMPEGSettings.bbProgram
  do begin
    programStreamType  := 2;
    vbrMultiplex       := True;
    frameTimestamps    := 1;
    videoDelay         := 180;
    audioDelay         := 180;
    audio1Delay        := 180;
  end;
end;

Weitere Einstellungen, welche mittels der Function WriteIni in der default.ini gespeichert werden, sind vorgegeben. Bei der Einbindung der Unit können diese Voreinstellungen selbstverständlich angepasst werden.

procedure TbbMPEG.WriteIni: boolean;
{******************************************************************************}
{** Die INI-Datei erstellen.
}
var
  bbINI     : TIniFile;
  bbINIFile : String;
begin
  bbINIFile := fbbMPEGLibPath + 'default.ini';
  bbINI     := TIniFile.Create(bbINIFile);
  try
    ...
  finally
    bbIni.Free;
  end;
end;

Ausgeführt wird der Muxvorgang durch die function Execute, welche einen Fehlercode zurückgibt.

 

Anwendung der Unit > Informationen zum Source Code