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
mpg automatisch demuxen und audio auf 48 khz transcoden - katjarella's script
-
-
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
Code
Alles anzeigen@ECHO OFF CLS SET BIN=J:\dvdauthor\bin DEL /Q TMP\*.* IF NOT EXIST DVD MD DVD IF NOT EXIST TMP MD TMP FOR %%A IN (*.mpg) DO CALL :SUCHE "%%A" DEL /Q DVD\*.txt GOTO :ENDE :SUCHE SET ZIEL=%~n1 ECHO ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ECHO ³ ³ ECHO ³ verarbeite %ZIEL% ECHO ³ ³ ECHO ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ "%BIN%\mpgtx.exe" -i %1 -N > "TMP\%ZIEL%_INFO.txt" findstr /I /C:"[Video/Audio]" "TMP\%ZIEL%_INFO.txt">nul IF NOT "%ERRORLEVEL%"=="0" ( ECHO. ECHO ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ECHO Û Û ECHO Û FEHLER Û ECHO Û Û ECHO Û Die Datei ist KEINE MPEG oder Û ECHO Û wird im Moment nicht unterst?zt ! Û ECHO Û Û ECHO ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ECHO. GOTO :ERROR ) "%BIN%\mpgtx.exe" -d -b "TMP\%ZIEL%" -N %1 ECHO. ECHO ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ECHO º º ECHO º DEPLEX FERTIG º ECHO º º ECHO ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ECHO. FOR %%B IN (TMP\*.mp2) DO CALL :AUDIO "%%B" MOVE /Y TMP\*.* DVD\ ECHO :ERROR ECHO. ECHO. GOTO :EOF :AUDIO ECHO ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ECHO ³ ³ ECHO ³ verarbeite %~nx1 ECHO ³ ³ ECHO ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ findstr /I /C:"48000 Hz" "TMP\%ZIEL%_INFO.txt">nul IF /I "%ERRORLEVEL%"=="0" ( ECHO. ECHO ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ECHO Û Û ECHO Û Audio ist schon 48kHz Û ECHO Û Û ECHO ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ECHO. ECHO "%~f1" MOVE /Y "%~f1" DVD\ ) ELSE ( ECHO. ECHO ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ECHO º º ECHO º wandle Audio º ECHO º º ECHO ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ECHO. "%BIN%\ffmpeg.exe" -v 0 -f mp2 -i "%~f1" -hq -ab 224 -ar 48000 -ac 2 -acodec mp2 -y "DVD\%~nx1" DEL "%~f1" ECHO. ECHO ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ECHO º º ECHO º AUDIO FERTIG º ECHO º º ECHO ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ECHO. ) GOTO :EOF :ENDE ECHO. ECHO. ECHO ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ECHO Û Û ECHO Û FERTIG Û ECHO Û Û ECHO ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ECHO. PAUSE
-
-
bitte gebe mal eine auflistung von deinem tv4me Ordner... Und wo es hin soll ?
Quelle :
tv4me\2004_03_11\Film001.mpg
tv4me\2004_03_12\Film001.mpg
tv4me\2004_03_13\Film001.mpgziel :
tv4me\DVD\2004_03_11_Film001.mpg
tv4me\DVD\2004_03_12_Film001.mpg
tv4me\DVD\2004_03_13_Film001.mpgso etwa ????
-
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\) -
siehe Platzhalter
und in einem so wie Du das möchtest, würde ich das NIE machen !!!
Quell Ordner und Ziel Ordner, sollten eigentlich immer auf 2 verschiedenen HDs sein (Speed !!!) -
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 -
-
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.mp2Wenn 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 katjarellaWenn 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.Code
Alles anzeigen@ECHO OFF CLS SET BIN=J:\dvdauthor\bin SET MAX=1 IF NOT EXIST DVD MD DVD FOR %%A IN (*.mpg) DO CALL :SUCHE "%%A" GOTO :ENDE :SUCHE SET ZIEL=%~n1 ECHO ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ECHO ³ ³ ECHO ³ verarbeite %ZIEL% ECHO ³ ³ ECHO ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ "%BIN%\mpgtx.exe" -i %1 -N > "DVD\%ZIEL%_INFO.txt" findstr /I /C:"[Video/Audio]" "DVD\%ZIEL%_INFO.txt">nul IF NOT "%ERRORLEVEL%"=="0" ( ECHO. ECHO ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ECHO Û Û ECHO Û FEHLER Û ECHO Û Û ECHO Û Die Datei ist KEINE MPEG oder Û ECHO Û wird im Moment nicht unterst?zt ! Û ECHO Û Û ECHO ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ECHO. GOTO :ERROR ) "%BIN%\mpgtx.exe" -d -b "DVD\%ZIEL%" -N %1 ECHO. ECHO ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ECHO º º ECHO º DEPLEX FERTIG º ECHO º º ECHO ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ECHO. FOR %%B IN (DVD\*.mp2) DO CALL :AUDIO "%%B" ECHO :ERROR ECHO. ECHO. GOTO :EOF :AUDIO ECHO. ECHO ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ECHO º º ECHO º wandle Audio º ECHO º º ECHO º verarbeite %~n1 ECHO º º ECHO ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ECHO. IF "%MAX%"=="1" ( "%BIN%\BeSweet.exe" -core^( -input "%~f1" -output "DVD\%~n1.wav" -2ch -logfile "DVD\%~n1.BeSweet.log" ^) -ota^( -hybridgain ^) -ssrc^( --rate 48000 --twopass ^) "%BIN%\ffmpeg.exe" -v 0 -i "DVD\%~n1.wav" -hq -ab 224 -ar 48000 -ac 2 -acodec ac3 -y "DVD\%~n1.ac3" DEL "DVD\%~n1.wav" ) ELSE ( "%BIN%\ffmpeg.exe" -v 0 -f mp2 -i "%~f1" -hq -ab 224 -ar 48000 -ac 2 -acodec ac3 -y "DVD\%~n1.ac3" ) DEL "%~f1" ECHO. ECHO ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ECHO º º ECHO º AUDIO FERTIG º ECHO º º ECHO ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ECHO. GOTO :EOF :ENDE ECHO. ECHO. ECHO ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ECHO Û Û ECHO Û FERTIG Û ECHO Û Û ECHO ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ECHO. PAUSE
-
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.
Zitatmmm, 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.mpgum dieses Ergebniss zu verwenden... puhhhh muß man ja echt umbauen
Damit Du mal einen Vergleich hast:
gutes MPEG:ZitatBBDMUX.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 0schlechtes MPEG:
ZitatBBDMUX.EXE "schlechtes.mpg"
File schlechtes.mpg is an MPEG-1 Transport Stream
Found PID 0x0C84, Other Stream
Found PID 0x0E63, Other Stream
Found PID 0x1D58, Other Stream
Found PID 0x19AE, Other Stream
Found PID 0x1C94, Other Stream
Found PID 0x1030, Other Stream
Found PID 0x0FE9, Other Stream
Found PID 0x0C37, Other Stream
Found PID 0x1168, Other Stream
Found PID 0x1834, Other Stream
Found PID 0x0A4B, Other Stream
Found PID 0x01AD, Other Stream
Found PID 0x1C01, Other Stream
Found PID 0x1C44, Other Stream
Found PID 0x0DF0, Other Stream
Found PID 0x11B1, Other Stream
Found PID 0x00B7, Other Stream
Found PID 0x000A, Other Stream
Found PID 0x0610, Other Stream
Found PID 0x0D04, Other Stream
Found PID 0x1090, Other Stream
Found PID 0x067B, Other Stream
Found PID 0x1B85, Other Streamschlechtes MPEG (mit TMPGEnc Remultiplext):
ZitatBBDMUX.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 0Und 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...
-
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 ... -
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!