suche: Tag-Reader (cli)

  • damit ich den zwischenschritt mit wav auf die platte schreiben umgehen kann.?


    Ja, so meinte ich das. Ich weiß vom Nero-CLI-Encoder, dass er Pipes unterstützt. Da ich aber meist GUIs benutzte kenne ich mich da nicht so aus. (Dimzon hat ein Tool geschrieben, das "BePipe" heißt, dass vllt. für dich interessant sein könnte.)

  • es würde mir keinen nennenwerten geschwindigkeists vorteil bringen
    werde es trozdem mal in betracht ziehen...

    viel schlimmer ist meine taggingfunktion
    die für jeden einzelen tag die datei immer wieder einelesen muss

    gibt es eigendlich onbord mittel wma in wav zu wandeln?

    [edit:] die tagging funkion habe ich jetzt beschleunigt
    indem ich sie mit start "" /b parrallelisiert habe

  • ...also ich bin weit mit meiner Taging funktion... wirklich weit...
    ich konne die meisten Dateitypen mit der Tag.exe verarbeiten

    leider unterstützt Tag.exe keine wma & mp4 tag's
    so da ich MediaInfo wieder verwenden musste

    leider ist es bei MP4-Verarbeitung unhandlich...

    a)
    wenn ich die Ausgabe von MediaInfo in eine Datei ausgebe um sie auszuwerten

    Code
    mediainfo.exe %1 > ztemp.tmpfor /f "tokens=2 delims=:" %%i in ('findstr /c:"Encoded date" ztemp.tmp') do echo.%%i


    dann liest er zwei Werte ein und ich kann nur den letzten Wert speichern

    Code
    2000 UTC 2008-01-24 20

    das liegt daran das MediaInfo den Tag 'Encoded date' zwei mal verwendet...

    Code
    General #0Complete name        : D:\TEMP\_test\Abmischung.q0.50.lc.mp4Format               : MPEG-4Format/Info          : ISO 14496-1 version 2Format/Family        : MPEG-4File size            : 836 KiBPlayTime             : 28s 612msBit rate             : 239 KbpsStreamSize           : 6.91 KiBAlbum                : album dfgTrack name           : titel edfgTrack name/Position  : 1Track name/Position_ : 0Performer            : artist dsfgGenre                : (Binary)[COLOR='Red']Encoded date         : 2000[/COLOR]Tagged date          : UTC 2008-01-24 20:06:12Comment              : sfdgjh skdjfhWriting application  : Nero AAC codec / Aug  6 2007Audio #0Codec                : AAC LCCodec/Info           : AAC Low ComplexityPlayTime             : 28s 612msBit rate             : 237 KbpsBit rate mode        : CBRChannel(s)           : 2 channelsChannel positions    : L RSampling rate        : 48 KHzResolution           : 16 bitsStreamSize           : 829 KiB[COLOR='Red']Encoded date         : UTC 2008-01-24 20:06:10[/COLOR]Tagged date          : UTC 2008-01-24 20:06:12Chapters #01                    : 00:00:00.054 - titel edfg


    kann man hier irgendwie nur die erste Zeile der zwei Werte speichern?


    b)
    ich hab auch schon versucht MediaInfo über ein anderen Weg den Wert zu entlocken

    Code
    if "%~x1"==".m4a" FOR /F "Delims=" %%i in ('Mediainfo.exe --Inform'[COLOR='Gray']^[/COLOR][COLOR='Red']=[/COLOR]General'[COLOR='Gray']^[/COLOR][COLOR='Red'];[/COLOR]%%Encoded_Date%% %1') do echo.%%i


    leider bringen die Sonderzeichen '=' und ';' bei der Verarbeitung probleme
    ohne Escapezeichen '^' ist die Befehlzeile falsch
    mit Escapezeichen kommt einfach keine Ausgabe...


    ich bin absolut Ratlos
    hoffendlich hat wer Zeit und kann bei meinem kleinem Problem helfen...

  • Guten Morgen,

    ich habe eine Lösung gefunden und das Beste daran ist, ich hatte seit längerem ein ähnliches Problem. Somit ist uns beiden geholfen. Es fällt auch der nervige Umweg mit dem erstellen einer temporären Textdatei weg.

    um Missverständnisse zu vermeiden:

    Code
    MediaInfo --VersionMediaInfo Command line,MediaInfoLib - v0.7.5.7


    also beide (dll, exe) in der aktuellen Version

    hier die Lösung:

    Code
    FOR /f "delims=" %k IN ('mediainfo --Inform[COLOR='Red']^[/COLOR]=General[COLOR='Red']^[/COLOR];[COLOR='Red']^[/COLOR]%Encoded[COLOR='Red']^[/COLOR]_Date[COLOR='Red']^[/COLOR]% sample.csi.m4a') DO @SET "tmp=%k" [B]&&[/B] FOR /f "delims=" %l IN ('ECHO "%tmp:~4,4%"') DO @ECHO.%~l

    kurze Erklärung, erster Teil bis zu den beiden &&:
    * nimm MediaInfo und lies das Encoded Date aus und packe das ganze in die Variable tmp
    * wichtig beim Aufruf von MediaInfo sind die ^ an den Stellen, wo die Sonderzeichen sind
    * die Variable tmp müsste dann ungefähr folgendes beinhalten

    Code
    UTC 2007-08-13 08:40:44

    wenn erfolgreich die Variable tmp zugewiesen wurde, erfolgt der zweite Teil der Abarbeitung, nach den beiden &&:
    * der Aufruf in der Klammer nimm die Variable tmp und läss die ersten 4 Zeichen weg und nimm nur die danachfolgenden 4 Zeichen, also steht dann als Ausgabe da

    Code
    2007

    ich hoffe es ist verständlich und hat dir geholfen
    ahoi

  • dein Code-Schnipsel hat mir sehr geholfen
    aber es ist nicht alles nötig was du da machst

    wenn man mit MediaInfo den Wert direkt abruft,
    gibt er für %%Encoded_Date%% nur ein wert aus
    und zwar die Jahreszahl für MP4 dateien

    ich hab nur ein Detail ändern müssen und schon hat es (endlich geklappt)

    Code
    FOR /F "Delims=" %%i in ('Mediainfo.exe --Inform^=General^;%%Encoded[COLOR='Red']^[/COLOR]_Date%% %1') do echo.%%i


    Ausgabe

    Code
    2007

Jetzt mitmachen!

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