PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : (Python) - TsMuxer ausführen



TwIXx
17.04.2021, 20:34
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

subprocess.call(['exe/tsMuxeR.exe', "ts/" + match + ".meta", 'bluray/' + match])

Das Meta File sieht wie folgt aus:

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?

Ant45
18.04.2021, 11:56
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.



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

TwIXx
18.04.2021, 12:09
Moin Ant45

Danke dir für deinen Input. Leider läuft es auf den gleichen Fehler raus :(

Nimbus
18.04.2021, 13:51
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).

banane
18.04.2021, 20:47
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.