mpvMatroska ist momentan in der Entwicklung und ist auf GitHub verfügbar.
Das ganze Projekt hat mal als Ziel, ein funktionierendes Matroska Menü, aber das wird wohl noch etwas dauern.
Im mpv GitHub gibt es dazu auch eine Unterhaltung.
Die aktuelle Version von mpvMatroska kann in den GitHub-Releases heruntergeladen werden.
Fehler, Vorschläge usw. können hier oder besser auf GitHub gemeldet werden.
Alter Text
Hallo
Wie der Titel bereits vermuten lässt geht es um den Media Player mpv und dessen Fähigkeit Scripte zu verarbeiten.
Ich bin blutiger Anfänger mit mpv und habe seit ein paar Tagen angefangen die Docu zu lesen und alles was es auf GitHub zu finden gibt.
Dabei hat mich natürlich am meisten interessiert wie mpv mit Matroska Dateien zurecht kommt, und da meine ich "meine" ganz speziellen mkv's welche Chapter-Segment-Linking nutzen und andere tolle Matroska Features.
Auf GitHub habe ich dann ein paar Issues unter die Lupe genommen und bin dabei am Ende auf folgendes Script gestossen.
https://github.com/CogentRedTester/mpv-segment-linking
Es geht hierbei um das Hard-Linking, welches so nicht direkt in mpv implementiert ist, aber mittels diesem Scripts wird es "simuliert".
Der Code ist gut nachvollziehbar und der Entwickler hat nach seinem Wissensstand auch alles sehr gut umgesetzt.
Ich bin da echt schwer beeindruckt was man alles mit mpv tun kann.
Jedenfalls sieht es wohl so aus als könnte ich das Matroska Menü mit mpv verwirklichen.
Mir ist schon klar das ich erstmal jede Menge zu lernen habe wie das alles so läuft mit den Scripts und mpv.
Ich kann etwas JavaScript, von Lua habe ich allerdings keine Erfahrung. Lua sieht für mich bissl wie eine Mischung aus FreePascal und C aus.
1) Ist es egal welche Script-Sprache man nutzen will oder gibt es ein zwingendes Muss für eine der beiden Sprachen?
Das Script benutzt das "EDL" system: davon habe ich noch nie was gehört, aber es sieht auch nicht so kompliziert aus.
Das tolle daran ist, das alle Dateien viturell zu einer "Datei/Inahlt" verbunden werden. somit könnte ich sogar Nested-Ordered-Chapters support ermöglichen.
2) kann ich das EDL system auch mittels parameter an die mpv.exe übergeben?
3) Welchen Code Editor nutz man um Lua zu coden?
In dem Script nutzt der Entwickler mkvinfo.exe um angewisse Infos der Dateien zu gelangen.
4) In wie weit kann ich mit den Scripten Dateien selber parsen? Ist es da möglich die Bytes einer Datei auszulesen?
Nun mal etwas konkretes zu einer Funktion aus dem Script in Zeile 84
local function get_uids(file, fail_silently)
local cmd = mp.command_native({ name = "subprocess", playback_only = false, capture_stdout = true, args = {"mkvinfo", file} })
dieses bisschen code startet anscheind die mkvinfo.exe.
Und das ganze wird aber irgendwie von dem "mp"-system "gesteuert".
Kann mir das einer genauer erklären bitte.
Ich würde mich über jeglich Info und Hilfe von euch freuen.