[gelöst] mpv: Videoinhalt abhängig vom Dateinamen drehen?

Sound, Digitalkameras, TV+Video und Spiele.
Antworten
Benutzeravatar
hikaru
Moderator
Beiträge: 13594
Registriert: 09.04.2008 12:48:59

[gelöst] mpv: Videoinhalt abhängig vom Dateinamen drehen?

Beitrag von hikaru » 15.05.2023 09:14:00

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?

Benutzeravatar
Meillo
Moderator
Beiträge: 8818
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: mpv: Videoinhalt abhängig vom Dateinamen drehen?

Beitrag von Meillo » 15.05.2023 09:30:34

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!

Benutzeravatar
hikaru
Moderator
Beiträge: 13594
Registriert: 09.04.2008 12:48:59

Re: mpv: Videoinhalt abhängig vom Dateinamen drehen?

Beitrag von hikaru » 15.05.2023 09:34:41

Ja, genau den Gedankengang hatte ich zuerst auch und habe ihn aus dem selben Grund wieder verworfen.

tobo
Beiträge: 1996
Registriert: 10.12.2008 10:51:41

Re: mpv: Videoinhalt abhängig vom Dateinamen drehen?

Beitrag von tobo » 15.05.2023 09:50:37

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

Benutzeravatar
hikaru
Moderator
Beiträge: 13594
Registriert: 09.04.2008 12:48:59

Re: mpv: Videoinhalt abhängig vom Dateinamen drehen?

Beitrag von hikaru » 15.05.2023 10:04:46

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.

Benutzeravatar
Meillo
Moderator
Beiträge: 8818
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: mpv: Videoinhalt abhängig vom Dateinamen drehen?

Beitrag von Meillo » 15.05.2023 10:18:01

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:

Code: Alles auswählen

#!/bin/sh

for i do
	case "$i" in
	r_*) rotarg="--video-rotate=180"
	*) rotarg=""
	esac
	mpv $rotarg "$i"
done
Wobei das halt eher ein moeglichst einfache, unperfekte Loesung ist, falls du nicht den allgemeinen Fall abdecken musst.
Use ed once in a while!

Benutzeravatar
hikaru
Moderator
Beiträge: 13594
Registriert: 09.04.2008 12:48:59

Re: mpv: Videoinhalt abhängig vom Dateinamen drehen?

Beitrag von hikaru » 15.05.2023 10:25:27

Meillo hat geschrieben: ↑ zum Beitrag ↑
15.05.2023 10:18:01
Musst du in der Playlist vor und zurueck springen koennen?
Ja. Als mir bewusst wurde, dass ich auf Playlists, nicht auf Einzeldateien arbeite, habe ich die Idee mit dem Wrapper-Script verworfen.

Benutzeravatar
hikaru
Moderator
Beiträge: 13594
Registriert: 09.04.2008 12:48:59

Re: mpv: Videoinhalt abhängig vom Dateinamen drehen?

Beitrag von hikaru » 15.05.2023 18:50:38

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)

Benutzeravatar
Meillo
Moderator
Beiträge: 8818
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: [gelöst] mpv: Videoinhalt abhängig vom Dateinamen drehen?

Beitrag von Meillo » 15.05.2023 19:05:49

Coole Sache! :THX:

Wo legt man es denn ab?
Use ed once in a while!

tobo
Beiträge: 1996
Registriert: 10.12.2008 10:51:41

Re: [gelöst] mpv: Videoinhalt abhängig vom Dateinamen drehen?

Beitrag von tobo » 15.05.2023 19:14:16

Als ~/.config/mpv/scripts/xyz.lua oder mpv per --script=xyz.lua mitgeben.

Antworten