[gelöst] mpv: Videoinhalt abhängig vom Dateinamen drehen?
[gelöst] mpv: Videoinhalt abhängig vom Dateinamen drehen?
Hallo,
ich habe ein Verzeichnis voller Videodateien, sowohl im Hoch- als auch im Querformat. Abhängig vom Video muss also der Bildschirm (im weitesten Sinn ein "Tablet") gedreht werden.
Nun habe ich zwei dieser Geräte und aufgrund äußerer Umstände ist es bei dem einen Gerät praktischer, es nach links ins Hochformat zu drehen und beim Anderen ist es besser es nach rechts zu drehen.
Anstatt nun alle Hochformat-Videos doppelt, sowohl links - als auch rechtsgedreht, vorzuhalten, kam mir die Idee, die Videos auf einem Gerät mittels mpv und der Option --video-rotate=180 zu drehen. Aber das darf natürlich nur für die Hochformat-Videos passieren, denn sonst stünden Querformat-Videos auf dem Kopf.
mpv kann mittels Lua gescriptet werden, womit ich aber keine Erfahrung habe. Mir kam nun die Idee, den Hochformat-Videos einen speziellen Dateinamen zu geben (z.B. ihm ein "r_" voranzustellen) und wenn mpv dies beim Laden des Videos findet, die Rotation anzuwenden.
Ich habe (noch nicht umfänglich) nach Lösungsbeispielen gesucht, aber bisher Keine gefunden, wo beim Laden eines Videos etwas in Abhängigkeit des Dateinamens getan wird. Kann mich bitte jemand in die richtige Richtung schubsen?
ich habe ein Verzeichnis voller Videodateien, sowohl im Hoch- als auch im Querformat. Abhängig vom Video muss also der Bildschirm (im weitesten Sinn ein "Tablet") gedreht werden.
Nun habe ich zwei dieser Geräte und aufgrund äußerer Umstände ist es bei dem einen Gerät praktischer, es nach links ins Hochformat zu drehen und beim Anderen ist es besser es nach rechts zu drehen.
Anstatt nun alle Hochformat-Videos doppelt, sowohl links - als auch rechtsgedreht, vorzuhalten, kam mir die Idee, die Videos auf einem Gerät mittels mpv und der Option --video-rotate=180 zu drehen. Aber das darf natürlich nur für die Hochformat-Videos passieren, denn sonst stünden Querformat-Videos auf dem Kopf.
mpv kann mittels Lua gescriptet werden, womit ich aber keine Erfahrung habe. Mir kam nun die Idee, den Hochformat-Videos einen speziellen Dateinamen zu geben (z.B. ihm ein "r_" voranzustellen) und wenn mpv dies beim Laden des Videos findet, die Rotation anzuwenden.
Ich habe (noch nicht umfänglich) nach Lösungsbeispielen gesucht, aber bisher Keine gefunden, wo beim Laden eines Videos etwas in Abhängigkeit des Dateinamens getan wird. Kann mich bitte jemand in die richtige Richtung schubsen?
Re: mpv: Videoinhalt abhängig vom Dateinamen drehen?
Ein Shell-Wrapper waere auch ein Ansatzpunkt, bloss wuerde der wohl nicht fuer jedes Videoargument unterschiedlich agieren koennen, also wenn du den Player mit mehreren unterschiedlich gedrehten Videos auf einmal aufrufst.
Use ed once in a while!
Re: mpv: Videoinhalt abhängig vom Dateinamen drehen?
Ja, genau den Gedankengang hatte ich zuerst auch und habe ihn aus dem selben Grund wieder verworfen.
Re: mpv: Videoinhalt abhängig vom Dateinamen drehen?
Ich würde zu sowas hier tendieren. Einfach umzusetzen und funktioniert auch bei nicht speziell benannten Videos:
https://askubuntu.com/questions/1212733 ... cut-in-mpv
https://askubuntu.com/questions/1212733 ... cut-in-mpv
Re: mpv: Videoinhalt abhängig vom Dateinamen drehen?
Videos per Keybinding zu drehen ist die aktuelle Lösung. Aber dazu müssen die Bedienelemente mangels Hardwaretastatur als Schaltflächen auf dem Monitor liegen, was wiederum bedeutet, dass das Video nicht im Vollbild laufen kann.
Re: mpv: Videoinhalt abhängig vom Dateinamen drehen?
Verwendest du sonstige wechselnde Kommandozeilenoptionen? Musst du in der Playlist vor und zurueck springen koennen? Wenn zweimal Nein, dann kannst du es doch mit einem Shellscript-Wrapper machen:
Wobei das halt eher ein moeglichst einfache, unperfekte Loesung ist, falls du nicht den allgemeinen Fall abdecken musst.
Code: Alles auswählen
#!/bin/sh
for i do
case "$i" in
r_*) rotarg="--video-rotate=180"
*) rotarg=""
esac
mpv $rotarg "$i"
done
Use ed once in a while!
Re: mpv: Videoinhalt abhängig vom Dateinamen drehen?
Ja. Als mir bewusst wurde, dass ich auf Playlists, nicht auf Einzeldateien arbeite, habe ich die Idee mit dem Wrapper-Script verworfen.Meillo hat geschrieben:15.05.2023 10:18:01Musst du in der Playlist vor und zurueck springen koennen?
Re: mpv: Videoinhalt abhängig vom Dateinamen drehen?
Aus unzähligen Beispielen habe ich mir dieses funktionierende Script zusammengepuzzlet:
Code: Alles auswählen
function rotate(event)
filename = mp.get_property("filename")
if string.find(filename, "^r_") then
mp.set_property_number("video-rotate", 180)
else
mp.set_property_number("video-rotate", 0)
end
end
mp.register_event("file-loaded", rotate)
Re: [gelöst] mpv: Videoinhalt abhängig vom Dateinamen drehen?
Coole Sache! 
Wo legt man es denn ab?

Wo legt man es denn ab?
Use ed once in a while!
Re: [gelöst] mpv: Videoinhalt abhängig vom Dateinamen drehen?
Als ~/.config/mpv/scripts/xyz.lua oder mpv per --script=xyz.lua mitgeben.