Hallo, jemand hier der sich sehr gut mit vStrip im Kommandozeilen(DOS-)modus auskennt? Ich hab das Tool gerade erst entdeckt und brauche es für ein Projekt, an dem ich arbeite, komme aber nicht damit klar. Die Doom9-Hilfe dafür ist eher spärlich und beschäftigt sich mehr mit GUI, was mir aber nix nützt.
vStrip Kommandozeilen Experte gesucht
-
-
Hallo spike,
und womit genau kommst du nicht klar? - Suchst du die einzelnen Kommandozeilen Option? -Oder wie?
Code
Alles anzeigenvStrip - version 0.8f_css, by [maven] (maven@maven.de), CSS-code by R0TfL. Usage: vStrip [@]In [-Options] [[=]IDs] In denotes the input-file and has to be the first argument. If a '@' is prepended to the name, it is read as a streamlist (textfile). Options: -! defaults to strip everything, -2 creates a DVD2AVI 1.76 project-file, -b disables macrovision removal, -d enables demux mode (not producing a VOB anymore), -e disables VOB-assumptions (no 2048 byte sectors), enables demux, -g only keeps GOP-Headers of the Video-Stream(s), -l lists the CELL-Positions parsed from the IFO-file, -u tries to parse (and output) UDF-filesystem on In (e.g. vStrip M:\ -u) -c splits the VOB by CELL-ID, -v splits the VOB by VOB-ID, -oL sets the output filename to L (add '+' in front to append), -iM sets the IFO-file filename to M, -jN sets default angle for IFO-Parsing to N (=1, 0 disables removal), -pO selects program-chain (PGC) O (from IFO-file) and enables IFO-Parsing, -$P splits output-file(s) after P megabytes (1024KB chunks), -aQ changes the aspect-ratio to Q, -fR changes the frame-rate to R, -sS seeks to LBA S (2048 byte sectors), -wT sets the end LBA to T (2048 byte sectors), -tU file IO: clib then ASPI (U=1), ASPI then clib (U=2), clib only (U=3), -kV sets the key to V (5 hex bytes, no spaces), -mW a key deduced from a padding-stream is worth W normal guesses (=2), -nX sets the number of times a key needs to repeat to X (=2), -qY sets percentage a candidate key has to have of all keys to Y (=75), -rZ key-search per VOB-ID (Z=1), CELL-ID (Z=2) or VOB- & CELL-ID (Z=3), IDs hex stream-ids (e.g. 0xe0), seperated by a space. If a '=' is prepended to the id, the last stream is remapped to this id. Hints: - Demux mode can split, too (but "c" and "v" are exclusive), - All the options w/o an argument can be combined (e.g. "-!dc") - Try a test-run on the VOB first (only filename as parameter), - Frame-rates: [1] 23.976 (24000/1001) fps [5] 30 fps [2] 24 fps [6] 50 fps [3] 25 fps [7] 59.94 (60000/1001) fps [4] 29.97 (30000/1001) fps [8] 60 fps - Aspect-ratios: [1] square pixels [3] 16:9 display [2] 4:3 display [4] 2.21:1 display Examples: To get a list of the streams in a VOB: vStrip in.vob To keep video and AC3 stream 0x81 mapped to 0x80 using PGC 0 and 1GB chunks: vStrip @in.lst -iin.ifo -p0 -$1024 -!oout.vob 0xe0 0xbd 0x81 =0x80 To demux the video-stream: vStrip in.vob -!doout.m2v 0xe0
Am besten nimmst du dir ein kleines VOB Schnipsel und kopierst die vStrip.exe da mit hinein - dann öffnest du die "Eingabeaufforderung", wechselst in das Verzeichnis und testest die Parameter und schaust einfach was passiert - so hab ich das auch mal gemacht. Man lernt es so am schnellsten - obwohl ich vStrip auch schon ewig Zeiten nicht mehr genutzt habe.
Am besten anfangen mit: "vStrip VTS_01_1.VOB" dann erscheint eine komplette Liste aller Streams, die in dem VOB vorhanden sind.
Danach kannst du einen Stream daraus demuxen mit folgender Zeile:
"vStrip VTS_01_1.VOB -!do video.m2v 0xe0" wobei die Hex Zahl die Stream ID aus der zuvor erzeugten Liste ist und "video.m2v" halt ein von dir bestimmter Dateiname für den demuxten Stream. 0xe0 ist halt die Default ID des 1. Video-Streams, die Audio-Streams fangen i.d.R bei 0x80 an, usw.Ist doch alles absolut total nicht schwer - hat mein alter Mathe-Lehrer immer gesagt.
Gruss,
Gerti -
Das Problem ist, vStrip sagt, das es z.B. 18 Cell-IDs findet, es bricht die Verarbeitung aber dann nach 10 Zellen ab, und der Film ist dann auch zu kurz (siehe unten). Was mache ich nur falsch? :heul:
Hab das mit versch. Filmen probiert, immer das Selbe. Genug Platz auf der HD wäre jedenfalls noch gewesen...
ZitatC:\Programme\DVD2SVCD\vStrip>vstrip f:\serial\ripp\vts_01_1.vob -if:\serial\ripp\vts_01_0.ifo -p0 -$1024 -od:\test\vts_01.vob
vStrip - version 0.8f_css, by [maven] (maven@maven.de), CSS-code by R0TfL.
Splitting output-file(s) after 1024 megabytes (1024KB chunks).
Parsing "f:\serial\ripp\vts_01_0.ifo"...
Video:
MPEG2 720x576 PAL 4:3
Audio:
0. Espanol (AC3 2ch, 0xBD 0x80) [6]
1. Deutsch (AC3 2ch, 0xBD 0x81) [0,1,2,3]
2. Espanol (AC3 2ch, 0xBD 0x82) [0,1,2,3]
3. English (AC3 2ch, 0xBD 0x84) [7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,
23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49
,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,7
6,77,78,79,80,81,82,83,84]
4. English (AC3 2ch, 0xBD 0x86) [7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,
23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49
,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,7
6,77,78,79,80,81,82,83,84]
SubPicture:
0. Espanol 2 (0xBD 0x20) [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,4
7,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,
74,75,76,77,78,79,80,81,82,83,84]
1. Deutsch 1 (0xBD 0x21) [0,1,2,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,2
3,24,25,26,27,28,29,30,31,33,34]
2. Espanol 2 (0xBD 0x22) [0,1,2,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,2
3,24,25,26,27,28,29,30,31,33,34]
Program Chain(s):
Using PGC #0. Length: 00:43:26:04 in 18 cell(s).
Saving 0xBF = Private 2 [@LBA 0]
Skipping VOB-ID: 01/CELL-ID: 01 [@LBA 0]
Saving 0xE0 = Video 0 [PTS 0:00:00.152 @LBA 1]
Width = 720
Height = 576
Aspect-ratio = [2] 4:3 display
Frame-rate = [3] 25 fps
Saving 0xBE = Padding [@LBA 139]
Saving 0xBD = Private 1, sub 0x80 [PTS 0:00:01.352 @LBA 289]
Found VOB-ID: 02/CELL-ID: 01 [@LBA 2959]
Saving 0xBD = Private 1, sub 0x82 [PTS 0:00:01.054 @LBA 2991]
Saving 0xBD = Private 1, sub 0x81 [PTS 0:00:01.054 @LBA 2992]
Saving 0xBD = Private 1, sub 0x22 [PTS 0:00:06.174 @LBA 4460]
Saving 0xBD = Private 1, sub 0x21 [PTS 0:00:06.214 @LBA 4477]
Saving 0xBD = Private 1, sub 0x20 [PTS 0:00:34.814 @LBA 14151]
Found VOB-ID: 02/CELL-ID: 02 [@LBA 77523]
Found VOB-ID: 02/CELL-ID: 03 [@LBA 96985]
Found VOB-ID: 02/CELL-ID: 04 [@LBA 214120]
Found VOB-ID: 02/CELL-ID: 05 [@LBA 255039]
Found VOB-ID: 02/CELL-ID: 06 [@LBA 258617]
Found VOB-ID: 02/CELL-ID: 07 [@LBA 308756]
Found VOB-ID: 02/CELL-ID: 08 [@LBA 360902]
Found VOB-ID: 02/CELL-ID: 09 [@LBA 450761]
Found VOB-ID: 02/CELL-ID: 10 [@LBA 508387]Summary:
MPEG Packs = 524287
System headers = 2420
Private 1 packets = 52654, total bytes = 105689300
Sub 0x20 packets = 318, total bytes = 449790 (delay 0:00:34.662)
Sub 0x21 packets = 388, total bytes = 515644 (delay 0:00:06.062)
Sub 0x22 packets = 346, total bytes = 488894 (delay 0:00:06.022)
Sub 0x80 packets = 17262, total bytes = 34868180 (delay 0:00:01.200)
Sub 0x81 packets = 17170, total bytes = 34683396 (delay 0:00:00.902)
Sub 0x82 packets = 17170, total bytes = 34683396 (delay 0:00:00.902)
Padding packets = 3121, total bytes = 3126015
Private 2 packets = 4840, total bytes = 4835160
Video 0 packets = 469213, total bytes = 947660781 -
Hmm,
seltsam. Kannst du die VOBs denn komplett mit z.B. DVD2AVI oder einem Software Player abspielen - ich meine komplett? Wenn ja, mit welchem Ripper hast du die denn auf die Platte gebracht? Vielleicht liegt es daran?
Oder. Probier mal die vStrip GUI zum Rippen aus, wenn es damit auch nicht geht, dann muss es an den VOBs oder an der IFO Datei liegen - und nicht an deiner Kommandozeile, an der ich so auch keinen Fehler sehen kann.
Gruss,
Gerti -
Nein, ich glaube es ist doch nur der blöde User. Ich hab oben angegeben 'VTS_01_1.vob' - und vstrip verarbeitet dann auch nur diese VOB. Natürlich wird der Film dann in der VTS_01_2.VOB fortgesetzt.
Ich bin davon ausgegangen, das vStrip sich bei der Verarbeitung automatisch durch alle VOBs frißt, bis es den ganzen Film zusammen hat, aber es scheint, man muß jede VOB einzeln auslesen. Oder geht's auch anders?
Eine andere Frage jetzt, wie komme ich zu meiner IFO? Für mein Projekt brauche ich allerdings nur die VTS_01_0.IFO - gibt es (wichtig) ein Kommandozeilentool, um diese IFO zu erzeugen?
-
Hallo spike,
also, der Gedanke, dass das Problem an der Fortsetzung in einem anderen VOB liegt ist mir heute auch gekommen, irgendwie war ich von deinem anderen Post (in Software Entwicklung) jedoch im Geiste davon ausgegangen, dass nur jeweils ein VOB vorhanden ist.
Also, du musst nicht alle VOBs einzeln verarbeiten - dafür gibt es bei [In] ja den Parameter "@", wenn du den voranstellst, verarbeitet vStrip die nachfolgende Datei als Liste. Wenn du also angibst: "vStrip @C:\IrgendeinPfad\VOBListe.txt ..." dann list vStrip die zu rippenden VOBs aus dieser Textdatei. Deine Textdatei muss dann die kompletten Pfade zu den einzelnen VOBs enthalten.
z.B.
Inhalt VOBListe.txt
===================C:\IrgendeinPfad\VTS_03_1.VOB
C:\IrgendeinPfad\VTS_03_2.VOB
C:\IrgendeinPfad\VTS_03_3.VOBDas ist alles.
Mit der neu zu erzeugenden IFO Datei hmm - ist das denn so wichtig, dein Programm weiss ja intern, welche Streams es weggelassen hat und könnte dies bei der Weiterverarbeitung doch auch berücksichtigen.
Sonst fällt mir zum Erzeugen von IFOs halt so nur schnell IFOEdit ein, weiss aber nicht, ob das Kommandozeilen-Parameter unterstützt - vielleicht kann dir ja jemand im IFOEdit Forum helfen?
Gruss,
Gerti -
Ah, danke. Das mit der Liste wußte ich nicht, geht aus der vstrip 'usage' Anzeige auch nicht so hervor, wenn man's nicht weiß.
Das mit der IFO ist nicht so einfach, weil, mein Prog weiß zwar welche Streams noch drin sind, aber damit hab ich ja noch keine IFO erzeugt. Und eine IFO brauch ich zur späteren Weiterverarbeitung. Mit IFOEdit ginge es zwar (theoretisch) aber da gibt's gleich zwei Probleme:
1) Mit einer IFOEdit erzeugten IFO sind die Untertitel später im Film grün, zumindest in der Version, die ich hab
2) Der Kerngedanke ist, eine ganze Reihe von Abläufen zu automatisieren, dazu gehören neben dem Rippen & Strippen eben euch, eine funzende IFO zu haben. Mit IFOEdit müßte ich diesen Schritt manuell auführen.Na, ich werd mal im IFO Forum fragen
-
Hmm,
warum kopierst du denn nicht das Original IFO mit zu den VOB Dateien, das ist doch exakt - nur halt, dass die von dir per Stream-Processing nicht enthaltenen Streams fehlen?
Mit den grünen Untertiteln, es gibt galube ich in IFOEdit 'ne Option, die Originalfarben aus der IFO zu kopieren - oder so.
Was mir gerade noch einfällt, seit Version 3.1.5.0 hat der DVDDecrypter ja auch Commandline Optionen - sind meiner Meinung nach sogar einfacher zu nutzen als die von vStrip - stehen in der "ReadMe.txt" im DVDDecrypter Verzeichnis.
Code
Alles anzeigen[size=10]|==================================| | Program Name: | DVD Decrypter | |==================================| | Author: | LIGHTNING UK! | |==================================| | Date: | 07/04/2003 | |==================================| | Applies To: | Version 3.1.5.0+ | |==================================| Supported Command Line Switches: (You can get a basic version of this list via 'DVDDecrypter.exe /?') /MODE <IFO | FILE | ISO> Used to tell the program which 'Mode' to open up in. /SRC <Drive Letter | SCSI Address> Used to select the correct source drive. Examples: /SRC J: /SRC 1:0:0 /DEST "<Folder | File Name>" Used to select the destination folder or filename. Folder applies to IFO and File modes. File Name applies to ISO mode. Examples: "C:\DVD 1\VIDEO_TS" "C:\MY DVD.ISO" /VTS <VTS Number> Used to tell the program which VTS should be selected by default. Applies to IFO mode only Required when /PGC is specified Example: /VTS 1 /PGC <PGC Number> Used to tell the program which PGC should be selected by default. Applies to IFO mode only Required when /VTS is specified Example: /PGC 1 /ANGLE <Angle Number> Used to tell the program which PGC should be selected by default. Applies to IFO mode only Example: /ANGLE 1 /DIRECT <Stream Number> <...> Used to tell the program which streams should be processed using the 'Direct Stream Copy' method. Applies to IFO and File modes. '*' and '?' wildcards can be used. Examples: /DIRECT 0x80 0xE0 /DIRECT 0x8? 0x?0 /DIRECT * /DEMUX <Stream Number> <...> Used to tell the program which streams should be processed using the 'Demux' method. Applies to IFO and File modes. '*' and '?' wildcards can be used. Examples: /DEMUX 0x80 0xE0 /DEMUX 0x8? 0x?0 /DEMUX * /RAW <Stream Number> <...> Used to tell the program which streams should be processed using the 'Raw' method. Applies to IFO and File modes. '*' and '?' wildcards can be used. Examples: /RAW 0x80 0xE0 /RAW 0x8? 0x?0 /RAW * /START Used to start the decryption process automatically when the program has finished initialising. Basically, it just presses the 'Decrypt' button for you! /CLOSE Used to close the program when the decryption process has finished. Basically, it just presses the 'Close' button for you! /OVERWRITE <YES | NO> Used to force the program to either overwrite all existing files, or never overwrite them. /SPLIT <NONE | AUTO | CELLID | VOBID | CHAPTER | FILE | LAYER> Used to tell the program when to split the programs output. Only applies to IFO and FILE modes. IFO mode supports the following options: NONE, AUTO, CELLID, VOBID, CHAPTER, LAYER. FILE mode supports the following options: NONE, AUTO, CELLID, VOBID, FILE. /NAMING <PGC> <ANGLE> (Append PGC and/or ANGLE information to file names) Used to tell the program to append PGC and/or ANGLE information to the file names when saving. Only applies to IFO mode. /FILES <MOVIE> <ALL> "<File Name>" "<...>" Used to tell the program which file to select / deselect. Only applies to FILE mode. The '*' wildcard is supported. (ie. VTS*.VOB, VTS_01*.VOB, VTS_01_1.*, *.VOB) Note: Only 1 can be used per file name. (ie. VTS*.* WILL NOT WORK!!) Putting a '-' before a file name means it will be deselected instead of selected. Examples: /FILES MOVIE /FILES MOVIE VIDEO_TS.* /FILES VTS_01* /FILES VTS* -*0.VOB /FILES ALL -*.BUP -*0.VOB /FILES MOVIE "VIDEO_TS.IFO" "VIDEO_TS.VOB" /FILES ALL "-VIDEO_TS.VOB" THE END[/size]
Gruss,
Gerti -
Mmh...muß ich beides mal testen!
-
Also, das kommandozeilen-rippen/strippen funzt mit dem DVD-DEcrypter prima und viel einfacher als mit vStrip! :rock: Danke für den Tip.
Das kopieren der IFO ist aber leider ne Niete. Die Kapitel werden nicht richtig angesteuert, und der Film bleibt dann auch irgendwann hängen. Ich muß also auf jeden fall ne neue IFO erzeugen. HILFE!!!
Um mal mein Projekt zu beschreiben, es geht um das kopieren von TV-Serien. Da es etwas nervig ist, jede Folge einzeln zu verarbeiten, hab ich schon einiges entwickelt, um das zu vereinfachen. Was mir jetzt zu meinem Glück noch fehlt, ist das erzeugen der VTS_01_0.IFO
Ja, theoretisch könnte ich einfach IC7 benutzen, um die volle DVD zu kopieren. Aber da gibt's ein paar Probleme. Zum einen will ich nur die Episoden ohne Extras, dann sind die Episoden auch noch manchmal ungleichmäßig auf die DVDs verteilt. Und noch ein paar andere Sachen.
-
Ich nochmal,
also, was mir gerade einfällt, vielleicht hat "IFOUpdate" ja alles was du brauchst - damit kann man neue IFOs aus den alten erstellen lassen passend zu den VOBs und es korrigiert die VTS Sektoren automatisch, usw. (Der Grund, warum die Kapitelsprünge nicht mehr funktionieren)
Und was noch wichtiger für dich ist - es hat auch ein Command Line Interface - schau mal in die Readme.
Ist aber mehr ein Schuss ins Blaue, ich kenn mich damit nicht wirklich aus. Oder mach es selber - auf mpucoders Seite (http://www.mpucoder.com/dvd/) gibt es alles, was man dazu braucht - um selber neue IFOs zu erstellen. :eek: Ist aber harter Tobak.
Gruss,
Gerti -
Mit IfoUpdate komm ich leider gar nicht zurecht. Es will immer eine ZielIFO von mir angegeben habe, aber die hab ich doch garnicht. Es scheint sich auch nicht um die neuen VOBs zu kümmern...
Au Backe, ich muß doch wohl nicht wirklich den ultraharten machen und lernen, wie ich meine eigene IFO zusammenmöseln!!! :eek: Ich fürchte, das übersteigt meine Fähigkeiten bei weitem.
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!