Hi,
wie kann man den delay aus dem filename z.Bsp. nach dem demuxen per commandline ablesen um ihn dann sofort in BeSweet einzubauen. Machen ja viele tools - nur ich weis nicht wie das geht Kann da jemand helfen?
Hi,
wie kann man den delay aus dem filename z.Bsp. nach dem demuxen per commandline ablesen um ihn dann sofort in BeSweet einzubauen. Machen ja viele tools - nur ich weis nicht wie das geht Kann da jemand helfen?
Kommt auf die Programmiersprache an, die du nutzen willst. In BATCH alleine wird es wohl mindestens schwierig, falls das denn überhaupt ginge. Immerhin würde es erfordern, Positionen von Schlüssel-Worten in Zeichenketten herauszufinden, diese weiter zu berechnen, Teil-Zeichenketten auszuschneiden... Vollständige Programmiersprachen können das besser als nur ein Kommandozeilen-Interpreter.
Zitat von LigHKommt auf die Programmiersprache an, die du nutzen willst. In BATCH alleine wird es wohl mindestens schwierig, falls das denn überhaupt ginge. Immerhin würde es erfordern, Positionen von Schlüssel-Worten in Zeichenketten herauszufinden, diese weiter zu berechnen, Teil-Zeichenketten auszuschneiden... Vollständige Programmiersprachen können das besser als nur ein Kommandozeilen-Interpreter.
Das ist blöd. Ich kann ja gerade mal ein wenig DOS. Mit DOS habe ich es geschafft, die Grösse eines Audiofiles abzulesen, in eine Formel der Bitratenberechnung einzufügen und mit DOS rechnen zu lassen. Der nächste Schritt wäre jetzt dieser hier. Haste nicht nen Tip?
in den files steht ja immer folgendes *delay -186ms* oder anders: *delay Leerzeichen Vorzeichen Delaywert*
Zitat von LigHKommt auf die Programmiersprache an, die du nutzen willst.
DOS ist keine Programmiersprache.
Und der Kommando-Interpreter von "Windows NT (+)" = CMD.EXE ist leistungsfähiger als der von "Windows 9x" = COMMAND.COM, aber es gibt technisch immer noch leistungsfähigere, wie z.B. 4DOS / 4NT.
Du brauchst eine Sprache, die in der Lage ist, solche Konstruktionen zu beschreiben:
Teilstring((Position("DELAY" in Dateiname)+ 6) bis (Position(" MS" in Dateiname)-1))
Ob Windows-2000-Batch dazu denn überhaupt in der Lage ist, weiß ich noch gar nicht mit Sicherheit; 4NT kann es sicher, aber den Kommandointerpreter hat ja nicht jeder.
Moin,
unter NT4 aufwärts sollte das klappen...
..poste mal mehrere (möglichst viele) Beispiele mit positivem und negativem Delay.
Gruß Karl
Da mach ich mal mit einem Beispiel mit: "Klaus AC3 T01 2_0ch 192Kbps DELAY 0ms.ac3"
Beliebige Phantasiebezeichnungen kann man auf dem Wege natürlich nicht auswerten! Es gibt Chancen, wenn die DInger (aus der gleichen Quelle!)- immer identisch aufgebaut sind. Ansonsten sollte man zumindest einen Zwischenschritt per Perl und regular expressions - oder wie auch immer wählen.
Mal schaun...
Gruß Karl
Zitat von Der KarlBeliebige Phantasiebezeichnungen kann man auf dem Wege natürlich nicht auswerten! Es gibt Chancen, wenn die DInger (aus der gleichen Quelle!)- immer identisch aufgebaut sind.
Die sind immer gleich aufgebaut aus DGIndex. Grundsätzlich gibt es drei Typen, delay 0, delay negativ, delay positiv.
Also so:
- Text kommt auf den Film an DELAY 0ms.ac3
- Text kommt auf den Film an DELAY -120ms.ac3
- Text kommt auf den Film an DELAY +120ms.ac3
Du machst mir Hoffnung
hab mal in die Softwareentwicklung geschoben
Zitat von JoeBKann da jemand helfen?
Vielleicht solltest Du uns erklären, was Du machen willst und wir schreiben Dir dafür was passendes?
Oder Du beschäftigst Dich selbst mit einer Programmiersprache. Ein kostenloser Compiler sollte nicht das Problem sein.
Ein Bekannter hat sich vor Jahren ein DOS-Menü-System zum Starten verschiedener Programme erstellt. Dies war eine Mischung aus BATCH- und Pascal-Dateien.
Bei Borland kann man im "Museum" Turbo Pascal 5.5, Turbo C++ 1.01 und Turbo C 2.01 herunterladen. Die Downloadlinks stecken dort in den weiterführenden Artikeln.
Delphi 3 Professional gibt es in der ersten Auflage des Buches "Delphi für Kids" (25,51 €). In der zweiten Auflage (24,95 €) gibt es Delphi 7 Personal, welches man auch über die Nachbestellung eines CT-Heftes (4,50 €) oder kostenlos von manchen Uni-Server bekommen kann.
Moin,
mal ein plumpes Beispiel - ist absichtlich so umständlich, damit Du nachvollziehen kannst, was da passiert. Kann man durchaus einen eleganten 1-2 Zeiler draus machen...
Gruß Karl
Test.cmd:
@echo off
:: in die VAriable "string" gehört der auszuwertende Dateiname
set string=Text kommt auf den Film an DELAY +120ms.ac3
:: Zwischendatei löschen und Variable "old" initialisieren
del out.txt
set old=""
:: Der Dateiname wird in die peer Leerzeichen getrennten Substrings zerlegt
:: und zur Verständlichkeit in eine Zwischendatei geschrieben
for %%a in (%string%) do @echo %%a>>out.txt
:: Die Zwischendatei wird Zeile für Zeile eingelesen und dabei auch
:: das .AC3 ("delims=.") und das "ms" abgetrennt ("delims=m")
for /f "tokens=1,2 delims=.m" %%p in (out.txt) do call :loop %%p
pause
goto :end
:: Der letzte Wert aus der Zwischendatei wird in der Variable "old" gemerkt
:: Der nächste ist dann der für uns interessante ms-Wert
:loop
if %old% == DELAY @echo %1
set old=%1
:end
Alles anzeigen
Habe es getestet und es läuft
Aber: folgende Zeile ist schwierig, da am Ende von DGIndex ja nicht bekannt ist, wie der AC3 stream eigentlich heisst.
Ich muss den Namen aber genau kennen bei:
-
set string=video T01 3_2ch 384Kbps DELAY -16ms.ac3
-
Das geht dann natürlich nicht gut. Oder wie kann ich den Namen einlesen und dort einfügen?
Perfekt, herzlichen Dank
Zitat von JoeBAber: folgende Zeile ist schwierig, da am Ende von DGIndex ja nicht bekannt ist, wie der AC3 stream eigentlich heisst.
Ich muss den Namen aber genau kennen bei:
-
set string=video T01 3_2ch 384Kbps DELAY -16ms.ac3
Du musst in der Befehlszeile für DGIndex den Dateinamen angeben. Dieser wird beim Video um .demuxed.m2v und bei beim Audio ab der Tracknummer erweitert.
Zitat von JoeB...wie kann man den delay aus dem filename z.Bsp. nach dem demuxen per commandline ablesen um ihn dann sofort in BeSweet einzubauen. Machen ja viele tools - nur ich weis nicht wie das geht...
Moin Jungs!
Bin gerade über diesen Thread hier gestolpert.
Äähh.., mache ich jetzt einen Denkfehler, wenn ich der Meinung bin, dass ich es bisher immer vorgezogen hatte/habe, für ein solches Vorhaben das gute, alte DVD2AVI herauszukramen..? Und dieses das mit dem DELAY-Auslesen ziemlich gut drauf hat..?
Ist es DAS, was JoeB wissen will..? Wie man das z.B. DAMIT bewerkstelligen könnte..? :hm:
Dabei ist das (relative) DeMuxen (Ergebnis ist ja (z.B.) 'ne "AC3"-Audio, samt Video "*.d2v-Spur) sehr einfach und dauert auch nur ein paar Minuten! :cool:
Und dann steht im Ergebnis sowas wie: "ABC (=Titel) AC3 T01 3_2ch 448 kbps (DELAY 0ms)" vor der gemuxten Datei-Längen-Angabe..! Nebenbei steht dann ja auch noch darunter die "*.d2v"-Datei..! Isses DAS, was er sucht..?
Gruß, Rudi
JoeB will BeSweet per Commandline aufrufen und BeSweet einen von DVD2VI bzw. dem neueren DGIndex demuxten Audiostream füttern. Da man den Delay im CLI Mode aber manuell eingeben muß würde er das gerne automatisieren.
Sein Problem ist also wie er aus dem Dateinamen die Information extrahieren kann, dass er sie BeSweet füttern kann.
Cu Selur
Zitat von SelurJoeB will BeSweet per Commandline aufrufen und BeSweet einen von DVD2VI bzw. dem neueren DGIndex demuxten Audiostream füttern. Da man den Delay im CLI Mode aber manuell eingeben muß würde er das gerne automatisieren.
Sein Problem ist also wie er aus dem Dateinamen die Information extrahieren kann, dass er sie BeSweet füttern kann.
Cu Selur
Und das klappt sehr gut mit dem Skript von Der Karl mit der Egänzung von Bigotti, nochmal dicken Dank.
In der BeSweet commandline von meinem batchfile steht jetzt -ota( -d %delay% -g max ) wobei der delay ja nun festgelegt wurde. Somit muss ich jetzt nichtmehr manuell eingreifen mit delaycut oder BeSweet mit der GUI starten und den delay eintippen. Geht jetzt alles in einem Rutsch - super.
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!