Mein SVCD-BIN 2 VIDEO_TS batch converter

  • Zitat von Fr_An

    In dem Archiv sind die Cygwin*.Dll enthalten. Also könnte man die Pfade dorthin setzen.


    Die neue Version macht genau das, und zwar werden die korrekten DLLs ganz an den Anfang des Path gesetzt. Somit können andere CygWin-DLLs, egal wie viele man davon irgendwo rumfliegen hat, den Ablauf nun nicht mehr stören.
    Das SETLOCAL sorgt nun dafür, daß die Änderungen der PATH Variable auf das Skript beschränkt bleiben.

  • Zitat von Eriman

    Macht sie doch gar nicht, im Gegenteil, sie gibt dir den nötigen Feedback den du brauchst um ein stabiles Programm zu schreiben.
    Und über das für und wieder eines Programms zu diskutieren dürfte doch wohl erlaubt sein, oder? ;)


    Dafür bin ich ja auch dankbar, das sollte um Gottes Willen keine Aufforderung sein, kein Feedback mehr zu geben! Ich nehme die Kritik nicht persönlich!

    Einige Aussagen kamen mir halt nur so vor, als ob mein Skript als "vollkommen überflüssig" angesehen wird. Ich versuche daher in der laufenden Diskussion hier den sinnvollen Einsatzbereich meines Skriptes genau abzugrenzen.

  • Dann mach ich halt 2x einen Bugreport...

    A: Und immer noch Der Prozedureinsprungpunkt "_impure_ptr" wurde in der DLL "cygwin1.dll" nicht gefunden. Du mußt SET PATH=%~dp0cygwin_dll;%PATH% machen und nicht anders rum.

    B: Dann stimmt vieles nicht an Deinem Script, bitte ändere Relative Aufrufe in Absolute.

    Hast Du jemals einen Selbsttest gemacht?

    Nachtrag:
    @Mods, Könnte Ihr das bitte in Software-Entwicklung verschieben? Hier bedarf es noch viel Arbeit....

  • Zitat von katjarella

    @Mods, Könnte Ihr das bitte in Software-Entwicklung verschieben? Hier bedarf es noch viel Arbeit....


    Bitteschön, darauf hatte ich nicht geachtet.

    Zitat von katjarella
    Code
    (1) EXTRACT MPG FROM BIN
    
    
    ++ WARN: found (non-compliant) SVCD ENTRIES.SVD signature


    Er holt sich die Kapitel?

    Damit hatte ich mich vor einiger Zeit auch beschäftigt. Dabei stellte sich jedoch das Problem, das je nach Hardwarekonstellation die CD gar nicht, teilweise oder ganz gelesen. Mit teilweise meine ich, dass zum Beispiel die Kapitelzeiten nicht gelesen werden konnten.

    Gruß Frank

  • Zitat von katjarella

    Dann mach ich halt 2x einen Bugreport...

    A: Und immer noch Der Prozedureinsprungpunkt "_impure_ptr" wurde in der DLL "cygwin1.dll" nicht gefunden. Du mußt SET PATH=%~dp0cygwin_dll;%PATH% machen und nicht anders rum.


    Ohje, das habe ich beim letzten mal vergessen... war schon spät... :hm:

    Zitat von katjarella

    B: Dann stimmt vieles nicht an Deinem Script, bitte ändere Relative Aufrufe in Absolute.


    Die Programme, die vom Skript aufgerufen werden, werden allesamt mit absolutem Pfad aufgerufen. "%~dp0" ist der absolute Pfad der Batch Datei, die gerade läuft, falls das nicht bekannt sein sollte.

    Wenn man absolute Pfade als Parameter hineingibt, arbeitet das Skript von vorne bis hinten ausschließlich mit absoluten Pfaden.

    Was passiert, wenn ich relative Pfade reingebe, habe ich noch nicht getestet. Für den Fall, daß das Ärger macht, werde ich die Pfade in der nächsten Version ganz am Anfang direkt in absolute Pfade umwandeln.

    P.S.: Das Skript schreibt in der Konsole zwar "SVCD_NTSC_PULLDOWN.bin", intern werden alle Dateien aber immer mit absolutem Pfad übergeben - wie gesagt, vorrausgesetzt, die beiden Eingabe-Parameter waren absolute Pfade. Diese Einschränkung wird dann demächst wegfallen.

    Zitat von katjarella


    Hast Du jemals einen Selbsttest gemacht?

    Nachtrag:
    @Mods, Könnte Ihr das bitte in Software-Entwicklung verschieben? Hier bedarf es noch viel Arbeit....


    LOL, natürlich hab ich Selbsttests gemacht, ich habe auch "Fremdtests" gemacht. Erst nachdem ich und ein Freund zig BIN Dateien durch das Teil gejagt hatten, habe ich es hier gepostet. Unter diesen Dateien waren aber keine SVCDs mit Menü, und keine XSVCDs oder ähnliches. Ich habe das ganze jetzt erst mal nur mit "normalen", standardkonformen SVCDs getestet.

    Das mit dem Verschieben ist sicherlich eine gute Idee beim aktuellen Stand der Dinge.... die Versionsnummer 0.1 habe ich nicht umsonst gewählt. Sie sollte hauptsächlich dazu dienen, Feedback zu bekommen, und keine spruchreife, anfängertaugliche Lösung sein. Das Entwicklerforum habe ich leider irgendwie übersehen (wehsalb ich hier bereits vorhandene SVCD2DVD-Tools auch nicht gefunden habe).

  • Zitat von Fr_An

    Er holt sich die Kapitel?

    Damit hatte ich mich vor einiger Zeit auch beschäftigt. Dabei stellte sich jedoch das Problem, das je nach Hardwarekonstellation die CD gar nicht, teilweise oder ganz gelesen. Mit teilweise meine ich, dass zum Beispiel die Kapitelzeiten nicht gelesen werden konnten.


    Ich weiss leider nicht, wie ich vcdxrip davon abhalten kann, die Kapitel mit zu extrahieren, falls sie vorhanden sind - er holt immer ALLES raus.
    Das ist etwas unschön, da ich momentan nur AVSEQ01.MPG weiterverarbeite. Die weitere Verarbeitung stört das allerdings nicht.

  • BugReport für V0.1c

    A:

    Code
    (3) CONVERT MP2 FROM 44kHz to 48kHzDas System kann den angegebenen Pfad nicht finden.ERROR ENCOUNTERED WHILE CONVERTING "SVCD_NTSC_PULLDOWN.BIN"


    es gab kein BeSweet (Sorry), Bitte Überprüfung mit einbaun.

    B:

    Code
    (4) MUX 48kHz-MP2 / M2V**ERROR: [???] Unable to open file F:\temp\SVCD_BIN2VIDEO_TS\TMP\VCD2_PAL_Trailer05-0.m2v for reading.ERROR ENCOUNTERED WHILE CONVERTING "VCD2_PAL_Trailer05.BIN"***** CONVERSION FAILED *****Error encountered. Conversion did not finish.


    Es werden keine VCDs verarbeitet, Bitte Überprüfung mit einbaun oder umstellen.

    C:

    Code
    7 [main] dvdauthor 2000 handle_exceptions: Exception: STATUS_ACCESS_VIOLATION    508 [main] dvdauthor 2000 open_stackdumpfile: Dumping stack trace to dvdauthor.exe.stackdump***** CONVERSION FAILED *****Error encountered. Conversion did not finish.


    "SVCD_PAL_03_TRAILER01_TRAILER02.bin" beinhaltet 2 Sequencen!!! wird aber in der dvdauthor.xml mit eingebaut.

    Code
    <pgc>
                    <vob file="F:\temp\SVCD_BIN2VIDEO_TS\TMP\avseq02.mpg " />
                </pgc>

    Bitte Überprüfung mit einbaun und mach da mal Bitte das Lehrzeichen raus.

  • Ich hab geupdated auf V0.1c. Änderungen siehe im Changelog im ersten Posting.

    Punkte A+B sind erledigt.
    Punkt C ist insofern erledigt, als das jetzt alle AVSEQ??.MPG Dateien von den BIN Dateien gerippt werden, nicht nur AVSEQ01.DAT.

    Wie diese Dateien dann in PGCs gruppiert werden, kann man mit einem Editor durch ein/auskommentieren mit "REM" in der Datei bin2video_ts.cmd einstellen, default bleibt wie bisher.

    UPDATE: Es gab in der V0.2 ein Problem mit Leerzeichen im Dateinamen, das habe ich korrigiert. Wer dieses Problem hat, bitte V0.2 einfach nochmal runterladen und installieren.

  • BugReport NR7 für V0.2

    A:

    Code
    STAT: Processing F:\temp\SVCD_BIN2VIDEO_TS\TMP\SVCD_PAL_03_TRAILER01_TRAILER02___avseq02.mpg ...ERR:  Error writing data, 4 PGCS***** CONVERSION FAILED *****Error encountered. Conversion did not finish.


    Problem: kein Speicherplatz mehr frei :(

    --------------------------------------------------------------------
    B:

    Code
    INFO: Generating VTS with the following video attributes:INFO: MPEG version: mpeg2INFO: TV standard: ntscINFO: Aspect ratio: 4:3INFO: Resolution: 704x480INFO: Audio ch 0 format: mp2/2ch, 20bpsSTAT: fixed 1179 VOBUSINFO: dvdauthor creating table of contentsINFO: Scanning ./VIDEO_TS/VTS_01_0.IFO==========================================================================[b][color=RoyalBlue]***** CONVERSION SUCCESSFUL *****[/color][/b]VIDEO_TS folder was created in "F:\temp\SVCD_BIN2VIDEO_TS\TMP"



    in der VTS_01_0.IFO steht:

    Code
    VTS overview:   Menu attributes:  Video: MPEG-1 720x480 (NTSC) (NTSC 525/60) (4:3) (pan-scan & letterboxed)   Title Set (Movie) attributes:  Video: [color=SeaGreen][b]MPEG-2 720x480 (NTSC)[/b][/color] (NTSC 525/60) (4:3) (not specified perm.display)  Audio 1: Not Specified (Mpeg-1 ) 2ch 48Kbps 20bps (ID: 0xc0)   [b][color=SeaGreen]PGC_1[/color][/b] (program chain): [Title(TTN): 1] [00:02:15.16 / [b][color=SeaGreen]30 fps[/color][/b]] (Programs: 1) (Cells: 1) (uses VOB-IDs: 1)  [Ch 01] [Pg 01] [Cell 01] [V/C Id: 1/ 1] : time: 00:02:15.16 / 30 fps  [b][color=Magenta]PGC_2[/color][/b] (program chain): [Title(TTN): 2] [00:02:16.28 / [b][color=Magenta]30 fps[/color][/b]] (Programs: 1) (Cells: 1) (uses VOB-IDs: 2)  [Ch 01] [Pg 01] [Cell 01] [V/C Id: 2/ 1] : time: 00:02:16.28 / 30 fps  [b][color=Magenta]PGC_3[/color][/b] (program chain): [Title(TTN): 3] [00:01:47.06 / [b][color=Magenta]30 fps[/color][/b]] (Programs: 1) (Cells: 1) (uses VOB-IDs: 3)  [Ch 01] [Pg 01] [Cell 01] [V/C Id: 3/ 1] : time: 00:01:47.06 / 30 fps  [color=Magenta][b]PGC_4[/b][/color] (program chain): [Title(TTN): 4] [00:04:04.03 / [color=Magenta][b]30 fps[/b][/color]] (Programs: 2) (Cells: 2) (uses VOB-IDs: 4,5)  [Ch 01] [Pg 01] [Cell 01] [V/C Id: 4/ 1] : time: 00:02:16.28 / 30 fps [Ch 02] [Pg 02] [Cell 02] [V/C Id: 5/ 1] : time: 00:01:47.06 / 30 fps


    Problem: * dies sind alles PAL (25fps) Filme und somit kann es sehr große Abspielprobleme geben.

    --------------------------------------------------------------------

    C: in der VTS_01_0.IFO steht:

    Code
    PGC Command Table: 
    [000000ec] Number of Pre Commands 0 [0000]
    [000000ee] Number of Post Commands 1 [0001]
    [000000f0] Number of Cell Commands 0 [0000]
    [000000f2] Size of Command table in bytes 15 [000f]
    [000000f4] [color=Red][b]1.Post Command Exit[/b][/color] [30 01 00 00 00 00 00 00 ]



    nach jedem PGC ist in der IFO Struktur ein 1.Post Command = Exit drin und somit spielt er maximal den ersten Film ab und dann ist Ende.

    --------------------------------------------------------------------

    Aber lieber Sonic77, es wird schon! Gruß Katjarella

  • So, nach einigen nahezu schlaflosen Nächten, gibt's nun ein großes Update!
    Es wird automatisch ein Menü generiert, jeder Film kommt in ein eigenes Titleset, und für Filme mit mehreren Tonspuren wird ein Audio Menü generiert!

  • Zitat von Sonic77

    So, nach einigen nahezu schlaflosen Nächten, gibt's nun ein großes Update!
    Es wird automatisch ein Menü generiert, jeder Film kommt in ein eigenes Titleset, und für Filme mit mehreren Tonspuren wird ein Audio Menü generiert!

    Das klinkt ja sehr gut, aber:

    Code
    F:\temp\SVCD_BIN2VIDEO_TS\bin2video_ts.cmd F:\temp\_DVDSourcen\BIN F:\temp\SVCD_BIN2VIDEO_TS\TMP======================================================= Sonic's SVCD-BIN 2 VIDEO_TS conversion script V0.3 =======================================================Using settings file "F:\temp\SVCD_BIN2VIDEO_TS\\bin2video_ts_settings.cmd"***** CONVERSION FAILED *****Error encountered. Conversion did not finish.Drücken Sie eine beliebige Taste . . .

    auch

    Funktioniert NICHT.

    Anbei die MD5 Checksumme aller Files.

  • so, nachdem ich den Fehler aus dem Script entfernt habe, scheint der erste Test durchgelaufen zu sein...
    ***** CONVERSION SUCCESSFUL *****

    so morgen, wenn Zeit werde ich weitere Tests machen, evt. hast Du dann ja auch schon eine neue Version oben...

  • Welchen Fehler hast Du denn korrigiert?
    Ich habe diesen Fehler ja nicht, auch ein Freund konnte ihn nicht reproduzieren. Leider hat mein Skript in dem Log, den Du gepostet hast, ja auch keine brauchbare Fehlermeldung ausgegeben.

  • Zitat von Sonic77

    Welchen Fehler hast Du denn korrigiert?
    Ich habe diesen Fehler ja nicht, auch ein Freund konnte ihn nicht reproduzieren. Leider hat mein Skript in dem Log, den Du gepostet hast, ja auch keine brauchbare Fehlermeldung ausgegeben.

    schau mal bei:

    Code
    for %%b in ("%INPUT_DIR%\*.bin") [COLOR=Red]do if errorlevel 1 (goto failure) else [/COLOR](
    
    
    und 
    
    
    for %%m in ("%OUTPUT_DIR%\avseq??.mpg") [COLOR=Red]do if errorlevel 1 (goto failure) else [/COLOR](

    da ist die Verschachtelung total Falsch. ist echt sehr seltsam, warum das bei euch funktionieren soll.

  • Also ich seh den Fehler irgendwie immer noch nicht.
    Ich hab mich auch gewundert, was man mit cmd.exe so für verschachtelte Schleifen in eine Batch Datei zaubern kann, aber im Endeffekt funktionierte es halt bei mir. Die Microsoft Beispiele sind leider alle nicht ausreichend komplex, daher steckt da ziemlich viel try & error drin.

    Wäre nett wenn Du Deine korrigierte Schleife mal posten oder mailen könntest.

    EDIT: Soweit ich das sehe, sind FOR schleifen über mehrere Zeilen nicht so sauber. Echt komisch, daß es hier läuft... :huh:
    Ich werd alle FOR-Schleifen in einfache Einzeiler umarbeiten.

  • So, Update auf 0.3b ist fertig.

    P.S. extrem verspätete Antwort an Fr_An auf:
    "Was mich noch interessiert. Hast Du den VCDImager selbst compiliert? Oder hat es einen anderen Grund, dass alle Dateien von 18.01.2005, 20:42 sind?"

    Ja, das hab ich mal selbst kompiliert. Ich hatte davon und auch von mpgtx anfangs keine Win32 Binaries gefunden (hatte an dem Tag irgendwie Tomaten auf den Augen). Cygwin ist aber auf jeden Fall ne schöne Sache, ich war sehr überrascht wie schnell das trotz anfänglicher Probleme geklappt hat mit dem selber übersetzen.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!