DVD wiedergeben

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
LukasBanana
Beiträge: 150
Registriert: 14.03.2007 19:13
Kontaktdaten:

DVD wiedergeben

Beitrag von LukasBanana »

Hi,

Hab bereits meinen Eigenen Player Version6, mit Bibliothek usw. programmiert.
Wie aber kann ich eine KaufDVD (meinet wegen auch ohne Menu) wiedergeben?
Gibts da`n paar Funktionen oder so was?

Würde mich über Antworten freuen! :allright:
Benutzeravatar
LukasBanana
Beiträge: 150
Registriert: 14.03.2007 19:13
Kontaktdaten:

Beitrag von LukasBanana »

Gibt es überhaupt ne Möglichkeit in PB eine KaufDVD wieder zu geben? :cry:
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

@LukasBanana
Hallo, mit PB ist es auch möglich, DVD-Filme abzuspielen. :!:

1. Du musst auf der DVD die Datei z.b. "VTS_01_1.VOB" im Ordner "VIDEO_TS" mit PB laden.

Beispiel-Source in der Hilfe:

Code: Alles auswählen

;
; ------------------------------------------------------------
;
;   PureBasic - Movie example file
;
;    (c) 2001 - Fantaisie Software
;
; ------------------------------------------------------------
;

If InitMovie() = 0
  MessageRequester("Error", "Can't initialize movie playback !", 0) 
  End
EndIf

MovieName$ = OpenFileRequester("Choose the movie to play", "", "Movie/Audio files|*.avi;*.mpg;*.asf;*.mp3;*.wav|All Files|*.*", 0)
If MovieName$
  If LoadMovie(0, MovieName$)
  
    OpenWindow(0, 100, 150, MovieWidth(0), MovieHeight(0), "PureBasic - Movie")
    PlayMovie(0, WindowID(0))
      
    Repeat
    Until WaitWindowEvent() = #PB_Event_CloseWindow
  Else
    MessageRequester("Error", "Can't load the movie...", 0)
  EndIf
EndIf 
PS: Du musst bei Dateityp auf "All Files" wechseln und dann die .VOB-Datei auswählen.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag von Zaphod »

Das Funktioniert natürlich nur, wenn auf dem Rechner bereits ein entsprechender CSS Codec installiert ist, der normalerweise mit einer Software DVD Playersoftware kommt.

Ohne funktioniert es nicht.
Benutzeravatar
50-Pfennig
Beiträge: 75
Registriert: 22.01.2007 22:24
Wohnort: 40764 Langenfeld
Kontaktdaten:

Beitrag von 50-Pfennig »

Falls du das Programm auch für VCD's schreibst, kannste im Verzeichnis nach einer *.dat, die heißt Avseq01.dat, dann Avseq02.dat und so weiter. Dann musste also die Befehle aus der Movie-library verwenden
Benutzeravatar
LukasBanana
Beiträge: 150
Registriert: 14.03.2007 19:13
Kontaktdaten:

Beitrag von LukasBanana »

Also wie man allgemein Musik oder Filme abspielt wieß ich! Ich schreib das sogar schon lange nicht mehr der Funktion "LoadMovie" sonder der Win32 Funktion "mciSendString_(...)"!

Das Problem ist nur, es passiert nichts! Und bei LoadMovie kommt das beliebte: "Problem senden/ nicht senden" von Windows.

Aber bei einer KaufDVD sind ja auch immer noch ein paar andere Dateien dabei.
Z.B.:
  • VTS_01_0.BUP
    VTS_01_0.IFO
    VTS_01_0.VOB
    VTS_01_1.VOB (größte Datei)
Brauche ich da irgendwie ne DLL oder sowas?
(Schon mal danke für eure bisherigen Antworten) <)
Benutzeravatar
Alves
Beiträge: 1208
Registriert: 19.04.2006 18:24
Kontaktdaten:

Beitrag von Alves »

In der IFO sind alle Infos zur DVD, Menu etc.
Die VTS_01_1.VOB ist die hauptfilmdatei, sieht natürlich anders aus, wenn auf einer DVD mehrere Filme drauf sind.

Entweder musst du nun die IFO auslesen lernen, um ein vollständiges menu zu erlangen, oder du spielst einfach nur die VOB Datei ab.
Also mit diesem Code kann ic heine VOB Datei abspielen, die Codecs müssten aber schon isnatlliert sein. Musst du googlen nach den Codecs.

Achtung! stümperhafter Code, nicht zu empfehlen, muss außerdem über PB IDE gekillt werden!

Code: Alles auswählen

InitMovie()

LoadMovie(1,"VTS_01_1.VOB")

OpenWindow(2,500,500,100,100,#PB_Window_SystemMenu,"dvd")

PlayMovie(1, WindowID(2))

Repeat
WaitWindowEvent()
ForEver
Benutzeravatar
jear
Beiträge: 288
Registriert: 17.10.2004 01:59
Wohnort: Ammerland

Beitrag von jear »

Ein paar Hinweise auf die Steuerungsstruktur einer Video-DVD:

- die für den Abspieler (DVD-Player oder SW-DVD-Player) bestimmten Anweisungen stehen in den jeweiligen IFO-Dateien, die BUP-Dateien sind Backups der IFO's und sind daher uninteressant, solange die IFO's lesbar sind.
- die Anweisungen sind in Tabellen abgelegt und zwar in Form einer simplen Programmsprache, die vom Abspieler interpretiert werden muss
- die VOB-Dateien enthalten die eigentlichen Video-Informationen (Video, Audiospuren, Untertitel)
- VOB ist ein Containerformat, der Videoanteil ist MPEG2-kodiert
- die VOB's eines Titlesets sind grob in etwas 1GB große Stücke geteilt, durchnummeriert (1 - 9) und müssen beim Abspielen wieder "aneinandergeklebt" werden
- eine DVD kann mehrere Titlesets enthalten (Titel)
- die VOB's eines Titlesets können in 99 Kapitel unterteilt sein

Wer sich intensiver damit beschäftigen will, dem emfehle ich freie Tools wie IFO-Edit oder PgcEdit.

Eine DVD mit Videos drauf, muss keine Video-DVD sein. Viele Player können Daten-DVD's abspielen, auf denen MPEG-Dateien oder DivX-Dateien in Ordnerstrukturen abgelegt sind.
Man ist nie zu alt zum lernen, auch wenn man dabei manchmal alt aussieht!
Benutzeravatar
LukasBanana
Beiträge: 150
Registriert: 14.03.2007 19:13
Kontaktdaten:

Beitrag von LukasBanana »

Danke schon mal für eure Beiträge! :D

Allerdings würde ich gerne, so wie VLC oder PowerDVD, DVDs abspielen auch ohne dass man eine bestimmte Software vorher installieren muss!
Geht das auch?
Benutzeravatar
TomS
Beiträge: 1508
Registriert: 23.12.2005 12:41
Wohnort: München

Beitrag von TomS »

Nein das geht nicht. Zumindestens keine kopiergeschützten DVD's.
Is der VLC kein OpenSource?

Aber eigentlich müsste man DVD's mit jedem Programm abspielen können, das MPEG2 Videos abspielen kann. Wie schon gesagt die VOB-Datei abspielen. Also brauchst im Prinzip nur den MPEG2 Codec (Freeware, einfach mal googeln).
Antworten