Media-Buddy, die "eierlegende Wollmilchsau" unter den Medien-Tools. (1 Viewer)

Lehmden

Retired Team Member
  • Premium Supporter
  • December 17, 2010
    12,554
    3,936
    Lehmden
    Home Country
    Germany Germany
    Hi.
    @Kolbenschieber
    Hast du schon mal probiert, ob es mit den zusätzlichen Parametern funktioniert? -fix_sub_duration habe ich hier lokal eingebaut, ohne negative Auswirkungen zu spüren. Das wird also drin bleiben. Nur ob das reicht, um das Problem mit den hdmv Untertiteln wirklich zu beseitigen, weiß ich natürlich noch nicht...
    Vielen Dank schon mal fürs nachschauen...
     

    Kolbenschieber

    MP Donator
  • Premium Supporter
  • April 4, 2011
    579
    111
    Hamburg
    Home Country
    Germany Germany
    Moin @Lehmden ,
    sorry, das RL hat mir einen Strich durch die geplanten Tests gemacht, ich bin erst heute dazu gekommen, mich wieder mit dem Problem zu beschäftigen.
    Also:
    ffmpeg.exe -hwaccel auto -fix_sub_duration -i "H:\MakeMKV\2019-07-26\Robin Hood\tt4532826.mkv" -map 0:0 -c:v hevc_qsv -q:v 18 -map a -c:a copy -map 0:2 -c:s copy -y "L:\MediaBuddy-Out\Robin Hood\tt4532826.mkv"

    bringt nichts, die Fehlermeldung "Could not find codec parameters for stream 5 (Subtitle: hdmv_pgs_subtitle (pgssub)): unspecified size" ff. bleibt bestehen.

    Ebenso bringt
    ffmpeg.exe -hwaccel auto -fix_sub_duration -analyzeduration 100M -probesize 100M -i "H:\MakeMKV\2019-07-26\Robin Hood\tt4532826.mkv" -map 0:0 -c:v hevc_qsv -q:v 18 -map a -c:a copy -map 0:2 -c:s copy -y "L:\MediaBuddy-Out\Robin Hood\tt4532826.mkv"

    keine Änderung, ebenso nicht mit jeweils 200M.

    ffmpeg.exe -hwaccel auto -fix_sub_duration -analyzeduration 2000M -probesize 2000M -i "H:\MakeMKV\2019-07-26\Robin Hood\tt4532826.mkv" -map 0:0 -c:v hevc_qsv -q:v 18 -map a -c:a copy -map 0:2 -c:s copy -y "L:\MediaBuddy-Out\Robin Hood\tt4532826.mkv"

    lässt die Fehlermeldung verschwinden, aber verlängert die Bearbeitungszeit schon merklich um gefühlt 1-2 Sekunden auf meinem Rechner.
    ffmpeg gibt trotzdem keine Datei aus, sondern behauptet, die Ausgabedate bzw. der Pfad existiere nicht (siehe letzte Zeile der logs)
    Logisch, der soll ja im Zielverzeichnis auch erst angelegt werden, ich nehme an, dafür ist beim Originalaufruf durch Mediabuddy ein anderer Teil des Programms zuständig.
    Also habe ich den Zielpfad händisch angelegt. Jetzt kommt ffmpeg ein Stückchen weiter, aber meckert nun über zu viele packets für Stream 0:3, welches aber laut Ausgabe einige Zeilen weiter oben der englische TrueHD Audiostream sein sollte.... und gibt immer noch keine Datei aus....
    ....die Logdateien aller vier Versuche hänge ich hier an.
    Ich werde jetzt noch die Gegenprobe mit ein, zwei anderen Ausgangsvideos machen um auzuschließen dass es vielleicht doch an einem Problem der Ausgangsdatei liegt.
    Ich habe in meinem Leben noch nie, zumindest nicht wissentlich, ein Video mit hdmv Untertiteln in den Fingern gehabt, egal ob es sich um eine BluRay oder einen Download gehandelt hat. Von daher kann ich das nicht nachstellen und selber testen...
    Die letzten Kauf-BluRays, die ich habe, sind alle mit Untertiteln dieses Formats versehen. Zumindest gibt MakeMKV sie so aus.
    Allerdings finde ich persönlich Untertitel generell extrem nervtötend, weswegen die immer gnadenlos raus fliegen. Nur wenn im Film partiell Klingonisch oder Farsi oder so geredet wird, dann lasse ich die einfachste (Text- basierte) "forced" Untertitel Spur drin.. Bunte Bildchen zum Text lesen brauche ich aber auf keinen Fall. Weiße Schrift mit schwarzem Rand kann man auf jedem Untergrund problemlos lesen. Alles andere ist Unsinn, imho...
    Hier wird halt auch mal die Originalsprache geschaut (neben Englisch auch mal spanisch oder italienisch), da ist es schon hilfreich, die Untertitel der jeweiligen Sprache oder deutsch oder englisch mal wahlweise dazuschalten zu können. Bunt oder mit Bildchen muss das gar nicht sein und ist mir bis jetzt auch nicht untergekommen.
    Aber für mich sind die Untertitel wichtig und ich teste gern weiter, wenn Du eine mögliche Lösung dazu anbieten kannst.
    Sonst müsste ich wie gesagt auf eine ältere Version mit Handbrake-Unterbau ausweichen oder gleich wieder Handbrake zum konvertieren hernehmen, wenn das mit ffmpeg partout nicht funktioniert...
     

    Attachments

    • -fix_sub_duration -analyzeduration 100M -probesize 100M-log.txt
      7.3 KB
    • -fix_sub_duration -analyzeduration 2000M -probesize 2000M-log.txt
      6.7 KB
    • -fix_sub_duration -analyzeduration 2000M -probesize 2000M-Zielpfad händisch angelegt-log.txt
      7.1 KB
    • -fix_sub_duration-log.txt
      7.3 KB

    Lehmden

    Retired Team Member
  • Premium Supporter
  • December 17, 2010
    12,554
    3,936
    Lehmden
    Home Country
    Germany Germany
    Hi.
    Erst mal Danke fürs testen.
    Es ist auf jeden Fall noch ein Fehler in der Kommandozeile, habe ich gerade gesehen. Und zwar muss das -map 0:2 raus. Dadurch wird die dritte Spur (meist eine Audio Spur) zweimal gemappt... Theoretisch möglich, bringt aber beim Auto Mapping (was hier sonst aktiv ist) alles durcheinander. Weswegen das übrig geblieben ist 8wird benötigt, wenn man den Optimizer tatsächlich auch verwendet), weiß ich ehrlich gesagt nicht...

    Versuche bitte noch mal folgende Zeile:

    ffmpeg.exe -hwaccel auto -fix_sub_duration -i "H:\MakeMKV\2019-07-26\Robin Hood\tt4532826.mkv" -map 0:0 -c:v hevc_qsv -q:v 18 -map a -c:a copy -c:s copy -y "L:\MediaBuddy-Out\Robin Hood\tt4532826.mkv"

    Danke.
     

    Kolbenschieber

    MP Donator
  • Premium Supporter
  • April 4, 2011
    579
    111
    Hamburg
    Home Country
    Germany Germany
    Versuche bitte noch mal folgende Zeile:

    ffmpeg.exe -hwaccel auto -fix_sub_duration -i "H:\MakeMKV\2019-07-26\Robin Hood\tt4532826.mkv" -map 0:0 -c:v hevc_qsv -q:v 18 -map a -c:a copy -c:s copy -y "L:\MediaBuddy-Out\Robin Hood\tt4532826.mkv"

    Leider nicht, siehe log1.txt
    Mit probesize und analyze duration auf jeweils 1000M ist die Untertitel-Fehlermeldung weg und er hängt wieder an dem audiostream problem, analog zu "*zielpfad händisch angelegt-log.txt" aus dem vorherigen posting.

    Sag mal, muss man ffmpeg irgendwie mitteilen, welche streams als Audio- und welche als Untertitel zu behandeln sind?
    Ich frage deshalb, weil zwischenzeitlich "25km/h" mit der Kommandozeile aus "zielpfad händisch angelegt" durchgelaufen ist (Habe nur den Pfad zur Ausgangsdatei umgebogen, sonst alles so gelassen). Video- und Audiostreams sind vorhanden, Untertitelspuren aber nicht. Ich probier das jetzt nochmal mit der "neuen" Kommandozeile, die sollte ja wenn ichs richtig verstanden habe einfach alle audio- und Untertitelspuren kopieren(?).
     

    Attachments

    • log1.txt
      7.7 KB

    Kolbenschieber

    MP Donator
  • Premium Supporter
  • April 4, 2011
    579
    111
    Hamburg
    Home Country
    Germany Germany
    ffmpeg.exe -hwaccel auto -fix_sub_duration -analyzeduration 1000M -probesize 1000M -i "H:\MakeMKV\2019-07-26\Robin Hood\tt4532826.mkv" -map 0:0 -c:v hevc_qsv -q:v 18 -map a -c:a copy -c:s copy -y "L:\MediaBuddy-Out\Robin Hood\tt4532826.mkv"

    probiert mit "Robin Hood", Aquaman" und "25km/h"
    Die ersten beiden brechen ab mit
    [...]
    Press [q] to stop, [?] for help
    Too many packets buffered for output stream 0:3.
    Conversion failed!

    Die Streambezeichnung könnte auch bei Aquaman und Robin Hood verschieden sein, hab ich nicht drauf geachtet.
    25km/h läuft noch, aber ich gehe davon aus, dass dort wieder keine Untertitel enthalten sein werden.
    Im Anhang mal die Mediainfos der drei Ausgangsdateien.
     

    Attachments

    • Robin-Hood_Mediainfo.txt
      9.7 KB
    • Aquaman_Mediainfoe.txt
      14.3 KB
    • 25kmh_Mediainfo.txt
      6.1 KB

    Kolbenschieber

    MP Donator
  • Premium Supporter
  • April 4, 2011
    579
    111
    Hamburg
    Home Country
    Germany Germany
    OK, 25km/h ist durchgelaufen, Film und Audiostreams vollständig, Untertitel fehlen. Im Anhang die ffmpeg-Ausgabe aus der Eingabeaufforderung kopiert. die drittletzte Zeile ist im Original rot geschrieben, könnte also eine Fehlermeldung sein. Ich bringe dies aber nicht mit den fehlenden Untertiteln zusammen, eher hätte ich erwartet, dass ein Stück vom Film fehlt. Dem ist aber nicht so...
     

    Attachments

    • 25kmh-log.txt
      9.6 KB

    Lehmden

    Retired Team Member
  • Premium Supporter
  • December 17, 2010
    12,554
    3,936
    Lehmden
    Home Country
    Germany Germany
    Hi.
    Endlich mal gute Nachrichten. Zum einen habe ich mir die Robin Hood BluRay ausleihen können und somit kann ich selbst testen. Ein erster Erfolg war, das ich mir mit Xmediarecode einen Schnipsel aus dem Film schneiden konnte, der alle Spuren enthielt. Da XMediaRecode ebenfalls FFMpeg nutzt, muss es grundsätzlich also gehen.

    Ich denke, ich habe es inzwischen auch hin bekommen. Das Mappen der Spuren funktioniert leider nicht so, wie es sinnvoll oder logisch wäre. Aber ich denke, ich habe es jetzt kapiert,
    Versuch mal folgendes:

    ffmpeg.exe -hwaccel auto -fix_sub_duration -analyzeduration 20000M -probesize 20000M -i "H:\MakeMKV\2019-07-26\Robin Hood\tt4532826.mkv" -map 0:v -c:v hevc_qsv -q:v 18 -map 0:a -c:a copy -map 0:s -c:s copy -y "L:\MediaBuddy-Out\Robin Hood\tt4532826.mkv"

    So müsste es eigentlich funktionieren, hat es bei mir zumindest. Die MediaInfo Ausgabe hängt zum Beweis dran. Dann muss ich nur noch sehen, wie ich das in die Media-Buddy Logik einbaue, damit das auch dann noch funktioniert, wenn man nicht alle Untertitel haben will... mal sehen, ob ich das noch vor meinem Urlaub hin bekomme...
    Vielen Dank für deine Mitarbeit. Ohne dich hätte ich diesen Fehler nie entdeckt...
     

    Attachments

    • Robin Hood.mkv.txt.zip
      2 KB

    Lehmden

    Retired Team Member
  • Premium Supporter
  • December 17, 2010
    12,554
    3,936
    Lehmden
    Home Country
    Germany Germany
    Hi.
    ich habe das soweit mal in den Media-Buddy eingebaut. Dabei habe ich auch gleich noch eine Optimizer Funktion für Video Streams mit integriert. Auch wenn es sehr selten ist, gibt es aber doch Videos, die mehrere Video Spuren enthalten. Da kann man jetzt auf Wunsch auch nur eine begrenzte Zahl von Video Spuren in das Ausgabe- Video übernehmen. Das spart im Zweifel sehr viel Platz, da Video Spuren besonders groß sind. Die Optimizer Optionen kann man nun auch tatsächlich an-- und aus- schalten (funktioniert hier zumindest).

    Sprachen müssen wie schon erwähnt im 2- stelligen Sprachen-Code (de, en, usw,...), also ISO 639-1 eingegeben werden und sofern man mehrere Sprachen haben will, müssen diese ohne Leerzeichen aber mit einem Komma (,) getrennt eingegeben werden. Also etwa "de,en,fr,it,es" für Deutsch, Englisch, Französisch, Italienisch und Spanisch.

    Wer es probieren mag, einfach das angehängte Archiv in den Media-Buddy Installations- Ordner entpacken und die alte Datei überschreiben.

    Das Videospur- Optimieren funktioniert bisher nur beim Transkodieren. Beim einfachen Ummuxen werden wie bisher immer noch alle Video Spuren übernommen. Da ich hier von MKVMerge weg und hin zu FFMpeg umstellen will (FFMpeg kann viel mehr Eingangs- Spuren muxen als MKVMerge) habe ich mir hier die Arbeit nicht gemacht, da sie sowieso bald obsolet wäre. Das wird dann im Zuge der Umstellung gleich mit erledigt.
     

    Attachments

    • Media-Buddy.7z
      958.9 KB

    Kolbenschieber

    MP Donator
  • Premium Supporter
  • April 4, 2011
    579
    111
    Hamburg
    Home Country
    Germany Germany
    Moin @Lehmden ,
    ffmpeg.exe -hwaccel auto -fix_sub_duration -analyzeduration 20000M -probesize 20000M -i "H:\MakeMKV\2019-07-26\Robin Hood\tt4532826.mkv" -map 0:v -c:v hevc_qsv -q:v 18 -map 0:a -c:a copy -map 0:s -c:s copy -y "L:\MediaBuddy-Out\Robin Hood\tt4532826.mkv"
    Noch nicht ganz. 25 km/h funktioniert damit inklusive Untertitel, aber Aquaman und Robin Hood brechen bei mir mit "Too many packets buffered for output stream 0:3." ab, siehe angehängte logs.

    Über googeln bin ich dann auf den parameter
    max_muxing_queue_size 1024
    gekommen. Und tatsächlich, Aquaman läuft damit durch und die Untertitel sind vorhanden! Siehe ebenfalls log. Du müsstest also dem Buddy einen ffmpeg-Aufruf in dieser Form beibringen:
    ffmpeg.exe -hwaccel auto -fix_sub_duration -analyzeduration 20000M -probesize 20000M -i "H:\MakeMKV\2019-07-26\Aquaman\tt1477834.mkv" -map 0:v -c:v hevc_qsv -q:v 18 -map 0:a -c:a copy -map 0:s -c:s copy -y -max_muxing_queue_size 1024 "L:\MediaBuddy-Out\Robin Hood\tt4532826.mkv"

    Damit teste ich jetzt noch Robin Hood. Allerdings finden sich im Log auch noch Warnhinweise:

    [...]
    [matroska @ 000002309184f280] Timestamps are unset in a packet for stream 3. This is deprecated and will stop working in the future. Fix your code to set the timestamps properly

    Keine Ahnung, was das nun wieder bedeutet, aber es sieht für mich so aus, als würde es so in zukünftigen Versionen nicht mehr funktionieren...
    ...was ein Bastelkram. Ich bewundere Deine Geduld!
     

    Attachments

    • 25 kmh Log.txt
      10.1 KB
    • Aquaman Log.txt
      9.8 KB
    • Aquaman -max_muxing_queue_size 1024 Log.txt
      18.2 KB
    • Robin Hood Log.txt
      7.4 KB

    Lehmden

    Retired Team Member
  • Premium Supporter
  • December 17, 2010
    12,554
    3,936
    Lehmden
    Home Country
    Germany Germany
    Hi.
    Keine Ahnung, was das nun wieder bedeutet
    Das bedeutet, MakeMKV hat da Mist gebaut. Das hat weder was mit FFMpeg noch mit Media-Buddy zu tun. Vielleicht solltest du auch mal dein MakeMKV überprüfen, denn bei mir tauchen diese Warnungen nicht auf... Robin Hood läuft bei mir auch komplett durch.

    The default value of this option should be high enough for most uses, so only touch this option if you are sure that you need it.
    Das steht bei -max_muxing_queue_size in der FFMpeg Dokumentation. Also daran möchte ich wirklich nur ungerne drehen...

    All diese zusätzlichen Parameter sind eigentlich nicht so gut. Sie verlangsamen die Bearbeitung und das Ganze wird immer störanfälliger. Dieses Zeugs ist alles nur nötig, um unsaubere Videos irgendwie doch noch zu verarbeiten. "Anständige" Videos haben das alles nicht nötig. Deine Kommandozeile verstellt inzwischen gleich 4 Parameter weg vom Standard hin zu irgendwas weit abseits des Normalen. Ob das als "Standard- Einstellung wirklich sinnvoll ist, wage ich zu bezweifeln. Ich denke, das wird so nicht fest eingebaut. Das ist mir zu gewagt. Nicht das nachher "normale" Videos nicht mehr funktionieren. Vielleicht mache ich das konfigurierbar, um solche Problemfälle abzudecken... Speziell die beiden großen Werte für das Suchen bereiten mir Kopfschmerzen. So lange man nur Videos mit genug Spieldauer verarbeitet, bremst das nur aus und schadet sonst weiter nicht. Aber wenn man mal kürzere Videos erwischt (Trailer zum Beispiel) dann wird das mit hoher Wahrscheinlichkeit schief gehen...

    Das Grundproblem sind aber auf jeden Fall die vermaledeiten Bildchen- Untertitel. Generell ist das großer Nonsense. Text- Untertitel tun es genau so (auf dne Bitmaps ist letztendlich auch nur Text zu sehen), sind aber zum einen viel platzsparender (Text- Untertitel sind ein paar Kilobyte groß, Bild- Untertitel viele Megabyte) und zum anderen viel leichter zu händeln. Aus den Bitmap Untertiteln muss nämlich "on the fly" ein Video Stream berechnet werden, um sie darstellen zu können. Bei solchen Untertiteln muss (je)der Player also immer zwei Video Streams gleichzeitig decodieren und per PIP abspielen. Das ist natürlich viel mehr Aufwand.
    Dazu kommt, das man die Bild- Untertitel nicht mal eben so in Text Untertitel umrechnen könnte. Nein, das geht nicht, da es sich ja nicht um Text sondern um Bitmaps handelt. Um das umzurechnen bräuchte man eine (sicher funktionierende) OCR Engine.

    Nur gut, das ich mich mit diesem Unfug normalerweise nicht herum ärgern muss...
     

    Users who are viewing this thread

    Top Bottom