MKV Buddy - Kleiner Helfer fürs tägliche Video basteln... (3 Viewers)

Status
Not open for further replies.

bta489

Portal Pro
March 17, 2013
180
104
Home Country
Germany Germany
Dass du im Urlaub bist muss dir aber nicht leid tun ;).

Für mich ist das kein Problem, ich wollte es nur berichten. Der Buddy werkelt ja sonst einwandfrei (und bekommt über die Feiertage keinen Urlaub :p)

Frohe Eiersuche :D
 

Kolbenschieber

MP Donator
  • Premium Supporter
  • April 4, 2011
    579
    111
    Hamburg
    Home Country
    Germany Germany
    Wo hier gerade von kleinen Einschränkungen des Buddys die Rede ist: Hat noch jemand das Problem, dass Untertitel gelöscht werden, obwohl "Untertitel optimieren" nicht ausgewählt ist? Ich habe das jetzt auf mehreren Rechnern durchprobiert und der Buddy setzt sich einfach über meinen Wunsch hinweg, die Untertitel nicht anzufassen. In der MKV-Buddy.ini steht jeweils ini_useoptimizer_subs=4, was eigentlich, wenn ich die Syntax der ini richtig verstanden habe, heißen sollte, dass die subs nicht optimiert werden sollen.

    Mein Workaround besteht im Moment darin, den Sub-Optimizer einzuschalten und jeweils 10 deutsch- und englischsprachige Untertitel kopieren zu lassen. Die Einträge in der ini dazu sehen so aus:
    ini_useoptimizer_subs=1
    ini_sublanguages=ger,eng
    ini_tracksperlanguage_forced=10
    ini_tracksperlanguage_sub=10

    Funktioniert, ist aber nicht "schön". @Lehmden , vielleicht kannst Du das in der kommenden Version beheben?
     

    Lehmden

    Retired Team Member
  • Premium Supporter
  • December 17, 2010
    12,565
    3,946
    Lehmden
    Home Country
    Germany Germany
    Hi.
    und der Buddy setzt sich einfach über meinen Wunsch hinweg, die Untertitel nicht anzufassen
    Bei den Untertiteln ist es leider viel zu oft der Fall, das sie weder beim Transkodieren mit Handbrake noch beim Ummuxen mit FFMpeg sauber kopiert werden. Deswegen kann ich da leider nicht viel machen, da der Fehler nicht wirklich beim MKV Buddy liegt. Mir hat sich die "Logik" dahinter (also welche Typen von Untertiteln in welchen Versionen erhalten bleiben und welche nicht) noch nicht ganz erschlossen. Ich selbst schmeiße die Untertitel ja in aller Regel komplett raus, mit Ausnahme von deutschen "forced" Untertiteln. Aber auch die verschwinden gerne mal, ohne das ich was ändern kann. Ist mir das wichtig, muxe ich hinterher die Untertitel aus der Original- Datei in die Aufgearbeitet Datei mit MKVMerge rein. Das funktioniert besser, aber leider nur bei viel zu wenigen Eingangs- Containern, weswegen MKVMerge nicht als generelles Remux- Tool geeignet ist und ich deswegen FFMpeg verwende.

    ini_useoptimizer_subs=4, was eigentlich, wenn ich die Syntax der ini richtig verstanden habe, heißen sollte, dass die subs nicht optimiert werden sollen.
    Ja, das hast du richtig durchschaut. In aller Regel frage ich aber auf "1" ab, was "Ja" entspricht und bei allen anderen Werten ist eben "Nein". AutoIt setzt bei Checkmarks eben gesetzt = 1 und nicht gesetzt = 4. Übernehme ich das so, muss ich nichts umwandeln.
     

    Kolbenschieber

    MP Donator
  • Premium Supporter
  • April 4, 2011
    579
    111
    Hamburg
    Home Country
    Germany Germany
    Danke für die schnelle und wie immer aufschlussreiche Antwort. Wenns nicht anders geht, lass ich halt meinen Workaround so bestehen. Nur: Die Untertitel werden ja damit immer kopiert, also werden sie auch erkannt, also kann es eigentlich nicht daran liegen, dass sie "in den vorgeschalteten Programmen" nicht richtig kopiert wurden :D:confused:

    Zuständig für die Untertitel scheint die Option "-s" beim Aufruf der HandbrakeCli.exe zu sein. Steht im Buddy-Log eine Zeile in dieser Art:
    29.03.2016 12:02:15 - Debug - -i 'G:\input\Videodatei.mkv' -o 'G:\output\Videodatei.mkv' -e x265 -q 20 -w 720 -l 576 -r 25 -m --chapters 1-99 --custom-anamorphic --keep-display-aspect --modulus 2 --crop 0:0:0:0 --cfr -a 1,2,3 -E copy -d bob -s 1,2,3,4,5"
    werden die Untertitel (in diesem Fall fünf) kopiert. Fehlt das "-s ...." fehlen auch die Untertitel. Ich hätte jetzt gedacht, dass man der Handbrake.Cli.exe einfach "sagen" kann, dass sie sämtliche vorhandene Untertitel kopieren soll (sprich: dass Du vielleicht vergessen haben könntest, den entsprechenden Parameter beim Aufruf mitzugeben). Im einfachsten Fall "-s all" oder "-s 1-99" (analog zu "chapters"), aber so einfach scheint es dann doch nicht zu sein (?). Ich habe jedenfalls auf die Schnelle auf https://trac.handbrake.fr/wiki/CLIGuide auch nichts passendes gefunden.
     

    Lehmden

    Retired Team Member
  • Premium Supporter
  • December 17, 2010
    12,565
    3,946
    Lehmden
    Home Country
    Germany Germany
    ch hätte jetzt gedacht, dass man der Handbrake.Cli.exe einfach "sagen" kann, dass sie sämtliche vorhandene Untertitel kopieren soll
    Kann man leider nicht. Man muss explizit angeben, welche Untertitel kopiert werden sollen, eben durch 1,2,3,... nach dem -s Trotzdem wird nicht jeder Untertitel kopiert, selbst wenn man den Track explizit angegeben hat. Leider verhält sich FFMPeg hier genau so. Speziell SRT bzw SubRip wird sehr häufig nicht mitgenommen.

    Der generelle Ablauf ist, ich jage zuerst mal MediaInfo über die Datei und speichere die ausgelesenen Infos in einer SQLite Datenbank. Diese Infos bestimmen ja in vielen Bereichen, wie der Buddy weiter arbeiten soll. Z.B. wird an Hand der Auflösung und der Bitrate ja entschieden, ob die Datei transkodiert oder nur umgemuxt wird. Da ist so eine Datenbank einfach von Vorteil gegenüber z.B, einem Array. Wenn jetzt die Optimizer- Logik zum Tragen kommt, wird nach Tracks, die den Kriterien entsprechen (also z.B. in Deutsch und "Forced") in dieser SQLite DB gesucht. Die dabei zurückgegebenen Werte legen dann die Kommandozeile fest, also welche Audio- und Untertitel Spuren kopiert werden und welche nicht. Schließlich sind die Vorgänge ja recht komplex, da man ja noch mal nach Sprache und "Erzwungen" separieren muss. Die Logik im Buddy selbst funktioniert. Das habe ich durch manuell vorgegebene Werte in der Datenbank ausgiebig getestet. Mögliche Fehlerquellen sind also noch MediaInfo oder eben die ausführenden Kommandozeilen- Programme. Da es stört, wenn man Tracks angibt, die gar nicht existieren (also z.B. -s 1,2,3,4,5 schreibt, obwohl es nur 2 Untertitel gibt) wird die Datenbank auch dann ausgewertet, wenn nicht optimiert werden soll. Dann werden halt alle (Ton- oder) Untertitel Spuren die in der DB existieren, zum kopieren ausgewählt. Ein -all Parameter wäre hier extrem hilfreich, doch der existiert leider weder bei Handbrake noch bei FFMpeg. Man kann nicht mal 1-99 schreiben, sondern muss 1,2,3,4,...,98,99 schreiben...

    Generell ist es ziemlich "tricky" nur an Hand von externen Daten so komplexe Vorgänge zu steuern. Alleine das Ermitteln der Bitrate ist eine Wissenschaft für sich. Die Ausgabe von MediaInfo ist leider weder konsistent noch genormt. Mal wird die Bitrate als Mbps, mal als Gbps und mal als Kbps ausgegeben. Mal steht die Maximale Bitrate als erstes da, mal die Mittlere, mal die des gesamten Videos incl aller Audio Spuren, mal nur die Bitrate der Video Spur,... Bei manchen Codecs oder Containern fehlt sie auch ganz im allgemeinen Teil und taucht nur in den einzelnen Abschnitten der Tracks auf, usw...
     

    Lehmden

    Retired Team Member
  • Premium Supporter
  • December 17, 2010
    12,565
    3,946
    Lehmden
    Home Country
    Germany Germany
    Hi.
    Mit dem Untertitel Problem bin ich etwas weiter gekommen, nur leider noch nicht näher an eine Lösung. Das Kernproblem ist wohl die mediaInfo.dll. Die zeigt sehr oft SRT Untertitel nicht an, obwohl die UT da sind und auch einwandfrei funktionieren. Wenn MediaInfo aber meldet, es gibt keine Untertitel, dann kopiert der Buddy auch keine... Ich werde die Tage mal versuchen, ob es mit einer anderen (neuer oder älter) Version der DLL besser funktioniert.
     

    Kolbenschieber

    MP Donator
  • Premium Supporter
  • April 4, 2011
    579
    111
    Hamburg
    Home Country
    Germany Germany
    Ich habe da nur noch ein Verständnisproblem: Wenn es so ist, wie Du es beschreibst, dass SRT-Untertitel oft nicht angezeigt werden und deshalb nicht kopiert werden, wieso funktioniert das dann anscheinend trotzdem, wenn ich "Untertitel optimieren" auswähle und (zum Beispiel) 10 deutsche und 10 englische Untertitel zum kopieren zulasse? Das funktioniert zu 100 Prozent, alle vorhandenen deutschen und englischen Untertitel werden dann übernommen. Immer.
    Wenn es schon an deren Erkennung scheitern würde, müsste dieser workaround nach meinem Verständnis aber ins Leere laufen, denn wo nichts ist (weil nichts erkannt wurde), kann auch nichts kopiert werden.
    Und: Ich überprüfe das Vorhandensein der Untertitel mit dem Programm MediaInfo. Wenn es sich jetzt nicht um eine zufällige Namensgleichheit handelt also mit der gleichen dll, die auch der Buddy verwendet (?). Untertitel, die MediaInfo im Ausgangsvideo nicht anzeigt, würde ich beim bearbeiteten Video also gar nicht vermissen :)
    Ich denke, der Fehler muss noch irgendwo anders zu suchen sein
     

    Lehmden

    Retired Team Member
  • Premium Supporter
  • December 17, 2010
    12,565
    3,946
    Lehmden
    Home Country
    Germany Germany
    Mir ist das beim Optimieren meiner Spielfilme aufgefallen. Wenn ich den Film in MKVMergeGUI rein schiebe, sind Untertitel da, nutze ich MediaInfo werden manchmal keine angezeigt und manchmal doch. Da ist der Buddy ja überhaupt nicht im Spiel.
    also mit der gleichen dll, die auch der Buddy verwendet
    Deswegen will ich ja verschiedene Versionen der DLL durchtesten. Es geistern nämlich unzählige Versionen der mediainfo.dll in der Weltgeschichte herum. Nahezu jedes Programm, das mit Medien arbeitet (also auch MKV Buddy oder MP) nutzt diese DLL, nur eben in tausend verschiedenen Versionen.
     

    frankteb

    MP Donator
  • Premium Supporter
  • April 5, 2005
    1,118
    92
    Home Country
    Germany Germany
    So habe mich mal wieder mit MKVBuddy 2 beschäftigt. Wollte jetzt mal anfangen meine Serien mit Metadaten zu taggen, aber leider funktioniert das nicht. Anbei mal die Logs. Zuerst habe ich versucht es über das übergeordnete Verzeichnis zu taggen, beim 2. Versuch habe ich direkt das Serienverzeichnis genommen.

    Verzeichnisaufbau
    F:\Videso\Serienname\Folge.mkv

    Leider läuft MKVBuddy durch, macht aber nichts :-(.
     

    Lehmden

    Retired Team Member
  • Premium Supporter
  • December 17, 2010
    12,565
    3,946
    Lehmden
    Home Country
    Germany Germany
    Hi.
    Zum einen hast du eine alte Version vom Buddy im Einsatz. Du nutzt 2.0.1.1. Aktuell veröffentlicht ist aber 2.0.1.5 und hier lokal nutze ich bereits die 2.0.1.7 (die ist noch nicht veröffentlicht, wird es auch wohl nie)

    beim 2. Versuch habe ich direkt das Serienverzeichnis genommen.
    Das funktioniert auf keinen Fall. Der Serien - Ordner - Name wird zum Identifizieren der Serie genutzt, und zwar nur der, sofern (noch) keine "tvshow.nfo" existiert. Das kann aber nur funktionieren, wenn der Serien Ordner innerhalb des Arbeitsordners liegt. Deswegen hat der Buddy zumindest im zweiten Durchlauf keine einzige Datei gefunden. Ob beim ersten Durchlauf was gefunden wurde, kann ich nicht sagen, da die Datenbank jedesmal neu gemacht wird und ich somit nur die DB vom zweiten Versuch habe. Die ist jedenfalls komplett leer...

    Das mit dem Ordner war aber auch beim "alten" Buddy schon genau so...

    Existiert zufällig noch eine "nfo4MPv2.Error.log"? bei der alten Version von dir kann es sein, dass die noch nicht im eigentlichen Log- Ordner gelandet ist. Und höchstwahrscheinlich ist der exakte Fehler dort drin zu sehen.
    Also erst mal den Buddy aktualisieren und dann neu versuchen, aber nur nach "Methode 1" ;) ...
     
    Status
    Not open for further replies.

    Users who are viewing this thread

    Top Bottom