mpg automatisch demuxen und audio auf 48 khz transcoden - katjarella's script

  • Katjarella hat im thread http://forum.gleitz.info/showthread...highlight=mpgtx
    ein script erstellt, das oben genannte Aufgaben erledigt.

    Ich wollte dieses script auf meine Bedürfnisse anpassen, aber leider habe ich total versagt, was dazu geführt hat, dass meine original mpeg's weg waren...:nein: (jaja Schuster bleib bei deinen Leisten...).

    ich habe folgendes Problem:
    meine TV-Karte zeichnet zwar in DVD Auflösung auf, aber der Ton wird nur in 44.1khz aufgezeichnet. Zudem werden die Dateien als mpeg und nicht als system streams gespeichert.

    meine Idee war folgende:
    meine Software speichert die Dateien unter dem Aufnahmedatum in ein bestimmtes Verzeichnis (bei mir e:\incoming\tv4me\)

    jetzt sollte das script folgendes machen:

    1. alle mpeg's aus dem verzeichnis demuxen
    2. den ton mit ffmpeg umwandeln
    3. die original mpegs löschen.

    elegant wäre es noch, wenn ein eigenes verzeichnis für jedes demuxte mpegfile erstellt würde, wäre aber nur das i-tüpfelchen, geht natürlich auch ohne...

    zu 1:
    für katjarellas script muss eine Datei mit den zu demuxenden files erstellt werden (quellen.txt). Dazu habe ich einfach die Befehle
    del quellen.txt
    dir *.mpg>quellen.txt
    benutzt. Damit wird in die Quellen.txt zwar keine Pfadangabe reingeschrieben, sollte aber gehen, wenn sich die encode.cmd im gleichen Verzeichnis wie die mpg's befinden.

    Weiter bin ich nicht gekommen.
    Ich habe dann versucht, das script so zu ändern, dass die Punkte 2 und 3 bearbeitet werden, hat aber nicht geklappt....

    Kann mir jemand helfen?

    Dirk

  • Ich hoffe es funkt :)

    SET BIN=J:\dvdauthor\bin < dies solltest Du ändern, ich weiß ja nicht wo Deine Programme liegen.

    Auch Original Daten lösche ich nicht. Am Ende geht was falsch und ich bin schuld. Ne Ne mein Lieber, auf die DEL Taste drückst Du schön selber

    Die CMD in Dein Verzeichnis kopieren, wo auch Deine ORI-MPEGs sind. UnterOrdner werden NICHT durchsucht. Weil Du seltsame Anforderungen stellst :(

  • also der Ordnerinhalt sieht so aus:

    SCART AV-IN0403222010.mpg
    SCART AV-IN0403211210.mpg
    Jumanji.mpg
    ...

    Meine Aufnahmesoftware generiert diese Name nach dem Prinzip:
    Kanal, Datum, Zeit
    Manche Dateien nenne ich per Hand um (siehe jumanji.mpg)

    diese Dateien sollten dann demuxed werden in
    SCART AV-IN0403222010.m2v
    SCART AV-IN0403222010.mp2
    jumanji.m2v
    jumanji.mp2
    ...

    die demuxten Dateien sollten dann in einen eigenen Order (z.B. \tv4me\DVD\)

  • noch einmal vielen Dank, funktioniert SUPER!!!

    Warum würdest Du das denn nie so machen?

    Mit der 2. Platte habe ich mir auch schon überlegt.
    Ich habe bis jetzt das immer so gemacht:
    Aufnahme -> 1.
    Demuxen -> 1.
    Schneiden mit MPEG2Schnitt -> 2.
    Authoren -> 1.

    Es wäre ja wirklich sinnvoll die Platte immer zu wechseln...
    Wo müsste man im script denn die Pfadangabe einfügen/ändern, wenn man auf eine andere Platte demuxen möchte?

    Dirk

  • Zitat von katjarella

    UnterOrdner werden NICHT durchsucht. Weil Du seltsame Anforderungen stellst :(


    so seltsam sind die Anforderung nur, wenn man eine so seltsame Karte (tv4me von Dazzle) eingebaut hat...

    Dirk

  • mir ist etwas aufgefallen:
    das script liefert als ergebnis eine *.mp2 datei.

    wenn ich die tonspur in dvdlab einlese, dann wird diese nicht als dolby ac3 erkannt.

    wandelt ffmpeg denn nicht in ac3 um?
    wie müsste man das script abändern, um eine ac3 tonspur zu erhalten?

    dirk

  • Ich denke Du wolltest MP2 ?

    Zitat


    diese Dateien sollten dann demuxed werden in
    SCART AV-IN0403222010.m2v
    SCART AV-IN0403222010.mp2
    jumanji.m2v
    jumanji.mp2

    Wenn Du alles in AC3 haben willst, solltest Du das Script daraufhin ändern. Jedoch gibt es jetzt das Problem. das Du ALLE Audiospuren konvertieren mußt. Wenn Zeit ändere ich es...

  • Zitat von katjarella

    Ich denke Du wolltest MP2 ?


    nee, wollte ac3, ich wußte gar nicht, dass ffmpeg auch mp2 macht.
    bis jetzt habe ich immer die gui benutzt, da war ac3 immer standard.

    bis jetzt habe ich immer mit tmpgenc demuxt und die dateien hatten die endung *.mp2. die mp2 datei habe ich dann mit ffmpeg in ac3 umgewandelt....

    Zitat von katjarella

    Wenn Zeit ändere ich es...

    ...danke

    dirk

  • Nun schnell das Script mit AC3.
    Es gibt jetzt einen Parameter SET MAX=1.
    Wenn Du 1 einstellst, wird das MP2 über BeSweet geleitet um den Sound an den Maximalen Pegel anzupassen. Danach geht es erst zu ffmpeg. Aber dazu können Dir die Leute von der Audio-Section mehr erzählen.
    Ansonsten (SET MAX=0) wird es direkt mit ffmpeg gewandelt.

  • vielen Dank...

    noch eine Frage:
    wenn ich die filme auf eine 2. platte demuxen möchte, wo muss ich das im script einstellen?

    dann ist mir was merkwürdiges aufgefallen:
    manche filme werden nicht bearbeitet (kein gültiges mpeg), obwohl die filme mit den gleichen einstellungen gemacht worden sind.
    gibt es eine größenbeschränkung bei mpgtx?

    Dirk

  • zu 2Platte: dann brauchen wir wieder ein TMP verzeichnis ( bei diesem Script wird ja alles gleich in DVD\ demuxt )

    zu kein gültiges mpeg: mpgtx demuxt manche MPGs nicht, weil er keinen MPEG Header findet.

    Zitat

    mmm, this file does not start with a pack, offset: -2
    use the desperate_mode switch as the first option -X to search for a header in the whole file!
    if you want to force the operation. May yield to an endless loop if no valid header is found!
    Does not even begin with a 00 00 01 xx sequence!

    jedoch kannst Du ja mal dein MPEG so aufrufen:
    mpgtx -d -X -b basename original.mpg :)

    um dieses Ergebniss zu verwenden... puhhhh muß man ja echt umbauen :(

    Damit Du mal einen Vergleich hast:
    gutes MPEG:

    Zitat

    BBDMUX.EXE "gutes.mpg"

    gutes.mpg is an MPEG-1 Program Stream

    Found stream id 0xBE = Padding Stream
    Found stream id 0xE0 = Video Stream 0
    Found stream id 0xC0 = MPEG Audio Stream 0

    schlechtes MPEG:

    schlechtes MPEG (mit TMPGEnc Remultiplext):

    Zitat

    BBDMUX.EXE "schlechtesReplex.mpg"

    File schlechtesReplex.mpg is an MPEG-1 Program Stream

    Found stream id 0xBE = Padding Stream
    Found stream id 0xE0 = Video Stream 0
    Found stream id 0xC0 = MPEG Audio Stream 0

    Und dieses würde wieder NORMAL funktionieren :)
    mal sehen, wie ich es das "NEU" multiplexen einbauen kann. evt. hat jemand ein TIP ?

  • Zitat

    Und dieses würde wieder NORMAL funktionieren :)
    mal sehen, wie ich es das "NEU" multiplexen einbauen kann. evt. hat jemand ein TIP ?

    Hm, hab ich das richtig verstanden ? Du möchtest feststellen,
    ob ein 'gutes oder 'schlechtes' mpg vorliegt ?
    Kann man nicht die Ausgabe von BBDMUX.EXE bzw. mpgtx.exe statt auf
    den Bildschirm in eine Datei ausgeben ?
    Dann bräuchte man dessen Inhalt 'nur' analysieren, und schon weiß das
    Script, ob's ein gutes o. schlechtes mpg ist (?)

  • Wie die Analyse, Auswertung funktioniert weiß ich. Jedoch bin ich beim demuxen auf sehr große Probleme gestoßen ( siehe Demultiplexen von MPEGs ) und da ich KEINE Transportstreams habe, brauche ich auch nicht neu multiplexen.

    Das einzige Progi, was ich nocht nicht getestet habe ist Project X. Mal sehn, wenn Zeit...

  • Zitat von Aldiman

    Hm, also ProjectX hab ich auch noch nicht probiert.
    Mal mpgcut http://mpgcut.sourceforge.net/ versucht ?
    TransMux von PixelTools für fast 1000$ fällt wohl raus,
    kenne das auch nicht weiter ...

    mpgcut currently supports MPEG 1 video and MPEG 1/2/3 audio layers (i.e. mp1, mp2, mp3)
    mpgcut doesn't support MPEG 2 nor MPEG 4 video. Nor does it support multiplexing and joining.

    mal rumfragen, ob das TransMux was taugt. Aber 1000$ für ein so kleines Tool ? Da müßte es ja echte Wunder vollbringen !

Jetzt mitmachen!

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