Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Frames pro Sekunde auslesen von DVD mit DirectShow (DSPack) (https://www.delphipraxis.net/124885-frames-pro-sekunde-auslesen-von-dvd-mit-directshow-dspack.html)

Paul0703 26. Nov 2008 21:17


Frames pro Sekunde auslesen von DVD mit DirectShow (DSPack)
 
Hallo,
vielleicht hat jemand eine Ahnung, wie man mithilfe von DirectShow und dem DSPack bei einer DVD die Frames pro Sekunde auslesen kann. Also ob es PAL oder NTSC ist.

Ich hoffe, jemand kann mir helfen! :thumb:

Gruß
Paul

Sunlight7 27. Nov 2008 03:02

Re: Frames pro Sekunde auslesen von DVD mit DirectShow (DSPa
 
Moin!

Versuchs mit dem IMediaDetector Interface, da kann man viele Informationen bekommen, aber ob das im DSPack gekapselt ist weiß ich nicht.

MfG, Sun

Paul0703 27. Nov 2008 13:59

Re: Frames pro Sekunde auslesen von DVD mit DirectShow (DSPa
 
Danke erst mal fuer deine Antwort :thumb:
Aber es kommt: Undefinierter Bezeichner: IMediaDetector.
Muss ich da noch eine Unit einbinden?

lbccaleb 27. Nov 2008 14:46

Re: Frames pro Sekunde auslesen von DVD mit DirectShow (DSPa
 
Nee, die Interface Sektion ist nicht gekapselt im DSPack..

Aber so gehts:^^


Delphi-Quellcode:
uses
  DirectShow9;
var
  DVDInfo2: IDvdInfo2;
  TotalTime: TDVDHMSFTimeCode;
  Flags: ULONG;
  Frames: byte;


begin
  if Succeeded(QueryInterface(IDVDInfo2, DVDInfo2) then
    DVDInfo2.GetTotalTitleTime(TotalTime, Flags)) then
      Frames := TotalTime.bFrames;
end
On the fly.... Also eventuell noch bissel umbasteln..

Edit:

Nicht vergessen "QueryInterface" zu verwenden ;-)

Paul0703 27. Nov 2008 14:54

Re: Frames pro Sekunde auslesen von DVD mit DirectShow (DSPa
 
:mrgreen:
Achso!! Einfach statt bSekundes oder bMinutes bBytes nehmen^^

Danke!!

lbccaleb 27. Nov 2008 15:04

Re: Frames pro Sekunde auslesen von DVD mit DirectShow (DSPa
 
Zitat:

Zitat von Paul0703
:mrgreen:
Achso!! Einfach statt bSekundes oder bMinutes bBytes nehmen^^

Danke!!

Vllt solltest du öfter mal nen Blick in die API werfen..

ausserdem gibts noch die MSDN: MSDN-Library durchsuchenDVDInfo2

Paul0703 27. Nov 2008 18:23

Re: Frames pro Sekunde auslesen von DVD mit DirectShow (DSPa
 
Ich hab jetzt noch nen Problem!
Und zwar hab ich jetzt die Frames wie im Beispiel von lbccaleb ermittelt und lasse sie in einem label anzeigen:
Delphi-Quellcode:
If Succeeded(FilterGraph1.QueryInterface(IID_IDVDInfo2, DVDInfo2)) then
  If Succeeded(DVDInfo2.GetTotalTitleTime(TitleTime, TimeCodeFlags)) then
  begin
    Label2.Caption := Format('%.6d', [TitleTime.bFrames]);
  end;
Aber da steht dann 10 oder auch 16 und solche Zahlen, das kann ja aber nicht sein. :gruebel:
Was habe ich denn im obigen Code falsch gemacht??


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:31 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