-
TsMuxer ausführen
Moin zusammen,
Ich bastle mir gerade ein kleines Python Script mit welchem ich Serien per TsMuxer in UHD BluRay Folder demuxe.
Ich hole mir mit FFProbe die nötigen Infos welche ich brauche und Speichere diese im *.meta File ab.
Dann rufe ich den TsMuxer wie folgt auf:
match = Staffel und Folge also z.B. S01E01
Code:
subprocess.call(['exe/tsMuxeR.exe', "ts/" + match + ".meta", 'bluray/' + match])
Das Meta File sieht wie folgt aus:
Code:
MUXOPT --no-pcr-on-video-pid --new-audio-pes --blu-ray-v3 --vbr --auto-chapters=5 --vbv-len=500
V_MPEGH/ISO/HEVC, "ts/S02E08.ts", fps=23.976, track=256
Ich bekomme immer folgenden Fehler: No tracks selected
Wenn ich aber den TsMuxer bei mir Manuell per CMD mit dem selben Meta File ausführe funktioniert es.
Hat von euch allenfalls jemand ne Idee?
-
Hi TwIXx,
ich bin jetzt kein Python-Profi, aber ich nehme mal an, dass dein Aufruf durch Python irgendwo einen Fehler hat, wenn es sonst funktioniert. Ich würde mal versuchen, den Befehl ohne die eckigen Klammern auszuführen.
Code:
origin = "ts/" + match + ".meta"
destination = 'bluray/' + match
command = f'exe/tsMuxeR.exe {origin} {destination}'
subprocess.check_call(command, shell=True)
Ist jetzt vielleicht nicht der effizienteste Code, aber vielleicht hilft dir das weiter.
MfG
Ant45
-
Moin Ant45
Danke dir für deinen Input. Leider läuft es auf den gleichen Fehler raus :(
-
Hab keine Ahnung von den Programmen, die du da benutzt.
Hast du den Befehl mal ohne Python nachgestellt während du im Verzeichnis bist aus dem heraus das Script diese Aufrufe macht?
Könnte mir nämlich vorstellen, dass es eventuell ein Problem mit den relativen Pfaden ist.
Spontan fällt mir nur auf, dass das Meta-File auf "ts/S02E08.ts" verweist und sich im TS Ordner befindet. Abhängig davon, wie relative Pfade an dieser Stelle gehandhabt werden könnte ich mir auch vorstellen, dass dass dann auf "ts/ts/S02E08.ts" herausläuft (oder ähnliches).
-
Kenne mich mit dem Programm auch nicht aus,
Du könntest die einzelnen Parameter testweise mal in einer normalen Variablen speichern und diese einfach an den Programmaufruf anhängen, anstatt sie in einer Liste zu übergeben.