staging.inyokaproject.org

Bash-Script mpx; Optionen aus der Playliste an mpv weiterleiten.

Status: Ungelöst | Ubuntu-Version: Kein Ubuntu
Antworten |

martin630601111

Anmeldungsdatum:
25. Mai 2010

Beiträge: 42

Hallo Leute!

Ich habe ein Script (mpx) erstellt, welches als Erweiterung für den mpv-Player verwendet werden kann. Das Script kann Zeitstempel in die Playliste (m3u) schreiben und sie verarbeiten. Es können zudem in der Playliste globale Optionen oder für jeden einzelnen Videoeintrag Optionen angegeben werden, die dann an den mpv durchgereicht werden.

Der Hintergrund: Ich suchte nach einer effektiven Möglichkeit, dass Mediaplayer Zeitstempel (Welches Video gerade gespielt wurde und an welcher Stelle es war.) direkt in der Playliste speichern. Dadurch habe ich den Vorteil, dass beim Aufruf der Playliste der Zeitstempel direkt gelesen wird. Es merkt sich also die Stelle nicht der Mediaplayer, sondern die Playliste selbst. Der Zeitstempel wird beim Starten gelesen und beim Beenden wieder in die Playliste zurückgeschrieben. Zudem kann ich jedem einzelnen Video in der Playliste Optionen voranstellen, um es zu drehen, deinterlacen oder an einer bestimmten Stelle beginnen oder enden zu lassen. Den einzelnen Optionen sind jeweils "#" vorangestellt, damit sie von anderen Programmen als ganz normaler Kommentar interpretiert werden.

Das Script verwendet zusätzlich das Programm "wmctrl" mit dem es möglich ist, Fenster zu manipulieren. Es wird verwendet, um das mpv-Fenster zu maximieren. Die Option "--maximize-window" hat bei mir nicht funktioniert. Mein Debian ist wahrscheinlich zu alt dafür.

Beim Aufruf des Scripts wird die Playliste als Parameter angegeben. Wird das Script ohne Option aufgerufen, erfolgt eine Hilfeausgabe.

1
mpx /home/martin/m3u/playlistfile.m3u

Hier ist ein Beispiel für ein Playlistfile. Der Zeitstempel wird gelesen und das entsprechende Video an der angegebenen Stelle abgespielt. Die Optionen werden an den mpv-Player durchgereicht.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# Zeitstempel
#ext-mpv-topt: 1 00:03:20 a
# Globale-Option
#ext-mpv-gopt: --deinterlace=yes

#ext-mpv-opt: -vf mirror --start 03:10.000 --end 05:00.000
/home/martin/videos/training/video1.mkv
#ext-mpv-opt: --start 02:01.000 --end 08:00.000
/home/martin/videos/training/video2.mkv
/home/martin/videos/training/video3.mkv
#ext-mpv-opt: --start 10:10.000 --end 15:00.000 --deinterlace=no
/home/martin/videos/training/video4.mkv

Damit das Script mpx feststellen kann, wo der mpv-Player nach Beendigung gewesen ist, um den Zeitstempel zu speichern, muss im File ~/.config/mpv/mpv.conf folgende Zeile eingefügt werden:

1
term-status-msg="mpv-info: ${playlist-pos}/${time-pos}/${duration}"

Ich hoffe, dass es jemand brauchen kann und Freude damit hat. Das Script steht zur freien Verfügung.

Ich habe das Script nach bestem Wissen und Gewissen erstellt und habe es jeden Tag im Einsatz. Trotzdem kann ich nicht für Schäden haften, bzw. kann ich nicht garantieren, dass es funktioniert.

Schöne Grüße Martin

mpx (20.2 KiB)
Download mpx

itoss

Avatar von itoss

Anmeldungsdatum:
4. April 2014

Beiträge: 419

für Rhythmbox paßt das wohl leider nicht :/

Antworten |