- Thread starter
- #31
Hi.
Bis eine neue Version raus kommt, musst du die Optimizer Option aktiviert lassen und einfach eine sehr große Zahl einstellen. Dann sollte eigentlich auch alle Untertitel kopiert werden. Lokal habe ich das hoffentlich bereits behoben (muss ich zunächst noch testen), aber aktuell kann ich ohnehin keine neue Version veröffentlichen, da ich zu viel umgebaut habe, was noch nicht fertig ist...
Der Umstieg von dll auf exe war notwendig, da die dll die "fortlaufende" Track- Nummer nicht ausgibt, sondern nur die Nummerierung von einem Typ. Also als Beispiel ist die dll Ausgabe für ein Video mit einer Video Spur, vier Audio Spuren und sechs Untertitel Spuren Video 0 für Audio 0,1,2,3, und für Untertitel 0,1,2,3,4,5. Benötigen würde ich aber die laufende Track Nummer, die in diesem Fall für Video 0, für Audio 1,2,3,4 und für Untertitel 5,6,7.8.9,10 ist. FFMpeg möchte nämlich diese fortlaufenden Track- Nummern und das Ganze nicht nach Typ unterschieden haben. Die mediainfo.exe gibt mir diese benötigten Nummern direkt aus.
So lange wie zuerst die einzige Video Spur, danach die Audio Spuren und dann die Untertitel Spuren in der Datei gemuxt sind (wie es bei 99% aller Videos der Fall ist), kann man die "laufende" Nummer ja ganz einfach berechnen. Aber erwischt man dann doch mal ein Video, bei dem zuerst die Audio Spur(en) und erst dann die Video Spuren kommen, dann stürzt FFMpeg ab. Übergibt man FFMpeg als Video- Spur wie eigentlich üblich "Spur 0" und es bekommt statt einer Video Spur eine Audio Spur serviert, dann war's das halt...
Ich habe echt lange gesucht, als mir beim Testen zufällig so eine Datei mal unter gekommen ist und plötzlich nichts mehr ging. Hat mich Tage gekostet, das raus zu finden. Aber es ist in den Specs nicht vorgeschrieben, das Spur 0 zwingend eine Video Spur sein muss. Deswegen muss Media-Buddy natürlich auch solche Videos unterstützen, wenngleich im vorliegenden Fall ein simples ummuxen mit mkvtoolnix viel schneller zum Ziel geführt hätte. Nun funktioniert das jetzt eben jedes Mal, wenn so ein "exotisches" Video auftaucht. Also musste ich unbedingt von MediaInfo.dll auf MediaInfo.exe umsteigen...
Ja, stimmt, das ist ein Fehler, der bei der Umsetzung von Handbrake auf FFMpeg entstanden ist. Handbrake hat, wenn man keine Untertitel Option mitgeschickt hat, automatisch alle Untertitel kopiert, die Handbrake unterstützt hat (was nicht sehr viele Typen waren). FFMPeg macht das nicht. Hier muss eine extra Kommandozeilen Option mitgeschickt werden, damit alle Untertitel Spuren kopiert werden. Da ich prinzipiell immer alle Untertitel (bis ggfs auf einen einzigen erzwungenen Untertitel) raus schmeiße ist mir das nie aufgefallen.Bei Audiospuren funktioniert es, aber Untertitel kommen im Endergebnis nicht mehr vor, wenn MediaBuddy sein Werk getan hat.
Bis eine neue Version raus kommt, musst du die Optimizer Option aktiviert lassen und einfach eine sehr große Zahl einstellen. Dann sollte eigentlich auch alle Untertitel kopiert werden. Lokal habe ich das hoffentlich bereits behoben (muss ich zunächst noch testen), aber aktuell kann ich ohnehin keine neue Version veröffentlichen, da ich zu viel umgebaut habe, was noch nicht fertig ist...
Die Sprachcodes für Untertitel werden von Mediainfo ausgelesen und somit festgelegt. Leider sind sich mediainfo.dll und mediainfo.exe hier nicht einig. Die dll schreibt ISO 639-2 Codes (also 3 stellig). Deswegen war früher beim Media-Buddy ISO 639-2 notwendig (so wie du es in deinem Screenshot gemacht hast). Die mediaInfo.exe schreibt aber ISO 639-1 Codes (also 2 stellig). Deswegen müssen die Sprachen jetzt als ISO 639-1 Codes eingegeben werden. Mehrere Sprachen werden mit einem Komma (",") getrennt. Das hat sich nicht geändert. In diesem Fall wäre also "de,en" richtig. Mal sehen, vielleicht baue ich noch einen Konverter ein, damit man beide Codes verwenden kann. Hat aber nur eine ganz niedrige Priorität...Ich habe nicht herausgefunden, wie der Syntax für das Eingabefeld "Sprachen" genau lautet. Wäre das so wie oben zu sehen in Ordnung?
Der Umstieg von dll auf exe war notwendig, da die dll die "fortlaufende" Track- Nummer nicht ausgibt, sondern nur die Nummerierung von einem Typ. Also als Beispiel ist die dll Ausgabe für ein Video mit einer Video Spur, vier Audio Spuren und sechs Untertitel Spuren Video 0 für Audio 0,1,2,3, und für Untertitel 0,1,2,3,4,5. Benötigen würde ich aber die laufende Track Nummer, die in diesem Fall für Video 0, für Audio 1,2,3,4 und für Untertitel 5,6,7.8.9,10 ist. FFMpeg möchte nämlich diese fortlaufenden Track- Nummern und das Ganze nicht nach Typ unterschieden haben. Die mediainfo.exe gibt mir diese benötigten Nummern direkt aus.
So lange wie zuerst die einzige Video Spur, danach die Audio Spuren und dann die Untertitel Spuren in der Datei gemuxt sind (wie es bei 99% aller Videos der Fall ist), kann man die "laufende" Nummer ja ganz einfach berechnen. Aber erwischt man dann doch mal ein Video, bei dem zuerst die Audio Spur(en) und erst dann die Video Spuren kommen, dann stürzt FFMpeg ab. Übergibt man FFMpeg als Video- Spur wie eigentlich üblich "Spur 0" und es bekommt statt einer Video Spur eine Audio Spur serviert, dann war's das halt...
Ich habe echt lange gesucht, als mir beim Testen zufällig so eine Datei mal unter gekommen ist und plötzlich nichts mehr ging. Hat mich Tage gekostet, das raus zu finden. Aber es ist in den Specs nicht vorgeschrieben, das Spur 0 zwingend eine Video Spur sein muss. Deswegen muss Media-Buddy natürlich auch solche Videos unterstützen, wenngleich im vorliegenden Fall ein simples ummuxen mit mkvtoolnix viel schneller zum Ziel geführt hätte. Nun funktioniert das jetzt eben jedes Mal, wenn so ein "exotisches" Video auftaucht. Also musste ich unbedingt von MediaInfo.dll auf MediaInfo.exe umsteigen...