Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi DVD Kapitel und Menu einlesen (https://www.delphipraxis.net/43648-dvd-kapitel-und-menu-einlesen.html)

Gerhard 6. Apr 2005 19:57


DVD Kapitel und Menu einlesen
 
Hallo Gemeinde,

ich habe mit DSPACK einen einfachen DVD-Player erstellt, nun wäre es sehr vorteilhaft wenn ich die DVD-Struktur-Tiefe (Kapitel und Menu oder nur Kapiteln) herauslesen könnte.

Weiß jemand Rat?
Danke Gerhard

Garfield 10. Apr 2005 11:22

Re: DVD Kapitel und Menu einlesen
 
Meinst Du wie im ChapterXtractor?

http://www.videohelp.com/tools?tool=ChapterXtractor

Den C++ Source gibt es unter http://www.doom9.org/sources.htm

Gerhard 13. Apr 2005 20:06

Re: DVD Kapitel und Menu einlesen
 
Danke Garfield,

für den Hinweis, aber ich suche eine Delphi-Code (c++ ich nicht meines - leider)

Gruß Gerhard

Garfield 15. Apr 2005 18:38

Re: DVD Kapitel und Menu einlesen
 
Dann könntest Du eventuell nach vStrip sehen. Ist eine DLL in C und eine GUI in Delphi. Leider gibt es die Sourcen nicht mehr bei Maven.

magoo2002de 15. Apr 2005 19:02

Re: DVD Kapitel und Menu einlesen
 
Ich habe im Doom9.org-Forum einen DVD-Parser für Delphi gefunden. Vielleicht hilft dir das ja ein wenig weiter.
http://forum.doom9.org/showthread.ph...=delphi+parser

Garfield 17. Apr 2005 08:49

Re: DVD Kapitel und Menu einlesen
 
Der scheint auf vStrip zu basieren. Es sind zwei Downloads jeweils für EXE und Source angegeben, aber nur die erste EXE ist verfügbar. Da müsste man wohl TaZ4hvn anschreiben.

Gerhard 13. Mai 2005 15:18

Re: DVD Kapitel und Menu einlesen
 
Hi Delphi

Habe das Orakel befragt und nach längerem Suchen etwas gefunden das auch funktioniert. Anbei habe den von mir verwendeten Teil eingefügt. Wenn es jemand braucht...

Delphi-Quellcode:
If succeeded(FilterGraph.QueryInterface(IDVDControl2,DVDControl)) then
begin
  DVDControl.SetOption(DVD_NotifyParentalLevelChange,false);
  DVDControl.SetOption(DVD_HMSF_TimeCodeEvents,true);
  DVDControl.QueryInterface(IDVD_Info2,DVDInfo);
  DVDInfo.GetDVDVolumeInfo(numvolumes,pulvolume,DiskSide,Titlecount)

  for i:=1 to Titlecount do begin
    node:=treeView1.items.add(nil,'Titel '+inttostr(i));
    DVDInfo.GetNumberOfChapters(i,ChapterPerTitle);
    forj:=1 to ChapterPerTitle do begin
      with treeview1.items.AddChild(node,'Chapter '+inttostr(j)) do begin
        data:=pointer(j);
      end;
    end;
  end
end;
Gruß Gerhard

[edit=r_kerber]Delphi-Tags eingefügt. Beim nächsten bitte selbst machen! Mfg, r_kerber[/edit]

Gerhard 13. Mai 2005 15:21

Re: DVD Kapitel und Menu einlesen
 
PS:

Leider weiß ich nicht wie man einen Source-Code besser eingibt....

Gerhard

Cylence 31. Aug 2006 08:36

Re: DVD Kapitel und Menu einlesen
 
Hi, ich hab das auch mal ausprobiert, aber bei mir kommt nur eine Zugriffsverletzung und mehr tut sich nicht, was mach ich falsch??? Wann genau der Fehler kommt kann ich nich sagen, da in delphi mit debugger kein MPEG 2 abspielen möglich ist...kommt immer debugger detected und sense....

If succeeded(FilterGraph.QueryInterface(IDVDControl2, DVDControl)) then
begin
DVDControl.SetOption(DVD_NotifyParentalLevelChange ,false);
DVDControl.SetOption(DVD_HMSF_TimeCodeEvents,true) ;
DVDControl.QueryInterface(IDVDInfo2,DVDInfo2);
DVDInfo2.GetDVDTextNumberOfLanguages(AudioNrs); //Anzahl der AudioSprachen ermitteln
DVDInfo2.GetDVDVolumeInfo(VolNum, Volume, DiscSide, TitleNum); //Infos zur DVD...Volumes, Titles, DiscSeite....
DVDInfo2.GetCurrentAngle(AnglesAv, SelAngle); //aktuellen Sichtwinkel und verfügbare Sichtwinkel auslesen
DVDInfo2.GetCurrentAudio(AudioNrs, SelAudio); //aktuelle Sprache und verfügbare Sprachen einlesen
DVDInfo2.GetAudioLanguage(1, SelLanguage); //aktuell gewählte Sprache
DVDInfo2.GetSubpictureLanguage(1, SelLanguage); //aktuell gewählter Untertitel
DVDInfo2.GetMenuLanguages(Langu, MaxLangu, SelLangu); //Menüsprachen verfügbar, maximal, ausgewählt
DVDInfo2.GetDefaultMenuLanguage(SelLangu); //Default Menüsprache
DVDInfoform.Memo.Clear;
DVDInfoform.Memo.Lines.Add('AudioSpuren : '+PChar(AudioNrs));
DVDInfoform.Memo.Lines.Add('Volume Nr. : '+PChar(VolNum));
DVDInfoform.Memo.Lines.Add('Volume : '+PChar(Volume));
DVDInfoform.Memo.Lines.Add('DiscSide : '+PChar(DiscSide));
DVDInfoform.Memo.Lines.Add('TitleNr : '+PChar(TitleNum));
DVDInfoform.Memo.Lines.Add('AnglesAv : '+PChar(AnglesAv));
DVDInfoform.Memo.Lines.Add('SelAngle : '+PChar(SelAngle));
DVDInfoform.Memo.Lines.Add('SelLanguage : '+PChar(SelLanguage));
DVDInfoform.Memo.Lines.Add('SelMenuLang : '+PChar(SelLangu));
DVDInfoform.Memo.Lines.Add('DefMenuLang : '+PChar(SelLangu));
end;

Garfield 31. Aug 2006 23:16

Re: DVD Kapitel und Menu einlesen
 
Ich weiß jetzt wovon Du ausgehst, aber vielleicht bringt Dich das weiter:

DVD SDK - http://forum.doom9.it/viewtopic.php?t=12111
IFO Parser - http://home.arcor.de/autoq2_amsoft/f..._Delphi_v3.zip


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