HowTo: mplayer-Plugin mit mpv (mplayer-fork) benutzen

  • Schon vor geraumer Zeit hatte sich mit mplayer2 ein Fork von mplayer abgespaltet. Ich kann zumindest sagen, dass nur mplayer2 (im Gegensatz zum originalen mplayer) bei mir in der Lage war, auch bei 24p-Wiedergabe lippensynchron zu bleiben. Nun ist anscheinend bei mplayer2 die Luft raus, und die meisten Entwickler haben sich jetzt bei mpv zusammengefunden, um noch radikaler alte Zöpfe abzuschneiden. Meine Erfahrung ist, dass einige Files (z.B. mkv's in 1080i) mit mplayer2 nicht liefen und nun erstmals richtig abgespielt werden.


    Da es für Ubuntu 12.04 bzw. yavdr 0.5 keine Debian-Pakete gibt, habe ich mpv mal aus den Sourcen kompiliert und ein Debian-Paket gebaut. Um das ganze mit dem mplayer-Plugin zum Laufen zu bekommen, waren an meinem alten Script (das ich hier im Forum verschiedentlich schon mal gepostet hatte) etliche Anpassungen erforderlich, da sich die gesamte Syntax bei mpv geändert hat.


    Ich beschreibe hier mal Schritt für Schritt was zu tun ist, um das ganze auf einem yavdr 0.5 zum Laufen zu bekommen. Ziel ist, Videos z.B. im mkv-Format mittels vdpau abzuspielen und an einem LCD-TV mit 1920x1080 auszugeben, der standardmäßig auf 50Hz läuft. Das Skript ist in der Lage, den TV je nach Framerate des Videos automatisch auf z.B. 24Hz einzustellen und bei Rückkehr in den VDR-TV-Betrieb wieder auf 50Hz zurückzuschalten.


    Zunächst wechselt Ihr in Eurem yavdr in Euer home-Verzeichnis und ladet dort das Debian-Paket runter (ich habe kein repository und habe auch nicht vor, eines einzurichten):

    Code
    wget http://home.arcor.de/directorskinner/mpv_0.5.4_amd64.deb


    anschließend installiert Ihr das Paket manuell:

    Code
    sudo dpkg -i mpv_0.5.4_amd64.deb


    Es kommen wahrscheinlich Hinweise auf nicht erfüllte Abhängigkeiten. Diese löst Ihr wie folgt auf:

    Code
    sudo apt-get -f install


    mpv ist jetzt installiert!


    Falls Ihr das mplayer-Plugin noch nicht installiert habt, holt dies jetzt nach:

    Code
    sudo apt-get-install vdr-plugin-mplayer


    Hier werden jetzt vermutlich eine Reihe von zusätzlichen Paketen mit installiert.


    Im nächsten Schritt müssen wir nun dafür sorgen, dass ein auf mpv abgestimmtes mplayer-Script angelegt wird. Hierzu gehen wir den Weg, ein custom template zu erstellen:

    Code
    sudo mkdir -p /etc/yavdr/templates_custom/usr/share/vdr-plugin-mplayer/mplayer
    cd /etc/yavdr/templates_custom/usr/share/vdr-plugin-mplayer/mplayer
    sudo wget http://home.arcor.de/directorskinner/40_softhddevice


    Dieses Script benötigt noch einige Anpassungen je nach individuellem System. Es geht hierbei um die Zeilen für den Parameter AO (Audio Out) und CONNECTION (an welchem Anschluss der Grafikkarte hängt der LCD?).


    Vorbelegt ist meine Konfiguration, bei der der Ton per SPDIF des Mainboards und mit Passthrough für Dolby Digital und DTS ausgegeben wird. Den richtigen Anschluss für CONNECTION kann man mittels xrandr ermitteln:



    Da hier "HDMI-0 connected" steht, ist also CONNECTION="HDMI-0" richtig.
    Hinweis: Falls Euer TV nicht auf 1920x1080 Full-HD-Auflösung läuft, müsst Ihr noch an zwei Stellen im Script beim xrandr-Aufruf den mode-Parameter anpassen


    Für AO sind bereits andere Beispiele vorhanden und auskommentiert. Hier müsst Ihr selbst das richtige Gerät finden und konfigurieren. Nochmal der Hinweis: Die Syntax ist eine andere als bei mplayer!


    Wenn das Script-Template fertig konfiguriert ist, erstellen wir nun das neue Script /usr/share/vdr-plugin-mplayer/mplayer:

    Code
    sudo process-template /usr/share/vdr-plugin-mplayer/mplayer


    Wir sind aber noch nicht fertig. Für die Prüfung, welche Framerate ein Video hat, gibt es bei mpv die Option -identify nicht mehr. Diese Aufgabe übernimmt nun ein separates Script, das die mpv-Macher leider nicht dem Debian-Paket beifügen.

    Code
    sudo mkdir /usr/share/mpv
    cd /usr/share/mpv
    sudo wget https://github.com/mpv-player/mpv/raw/master/TOOLS/mpv_identify.sh
    sudo chmod +x mpv_identify.sh


    Nun definieren wir die Tasten, mit denen mpv per Fernbedienung gesteuert wird. (Ich habe hierzu die gültigen Namenskonvention benutzt, so wie sie auch in der lircd.conf stehen sollten. Wert seine Tasten dort anders benannt hat, muss das entsprechend anpassen.)
    Es wird die Datei /etc/lirc/lircrc editiert

    Code
    sudo nano /etc/lirc/lircrc


    und um folgende Einträge ergänzt:



    Zur Erläuterung:
    Der Zahlenblock bildet gewissermaßen ein Navigationskreuz für DVD-Menüs. Die 2 bzw. die 8 stehen für Pfeiltasten rauf und runter. Ebenso sind 4 bzw. 6 für Links und Rechts. In der Mitte dient die 5-Taste als Select- bzw. Entertaste. Ansonsten denke ich, ist das weitgehend selbsterklärend. Man muss natürlich daran denken, dass die eigene FB ggf. weniger Tasten hat, so dass nicht alle der oben verwandten Tasten in der lircd.conf auch angelegt sind.


    Damit das ganze richtig funktioniert, muss in den Plugin-Einstellungen des mplayer-Plugins der Kontroll-Modus "traditionell" eingestellt werden. Sobald das mplayer-Plugin einen Film aufruft, gibt es kein vdr-OSD-Menü mehr und vdr hört auf, auf die FB zu reagieren. Erst mit dem Beenden der Wiedergabe und Rückkehr ins vdr-Menü (mittels der KEY_ESC-Taste, die vdr für die Back-Funktion benutzt) reagiert der vdr wieder auf die Fernbedienung.


    mpv stellt ein rudimentäres eigenes Menü zur Verfügung.


    Wenn Ihr soweit seid, dass Ihr den ersten Film abspielen wollt, empfehle ich Euch zu Diagnosezwecken zwei Maßnahmen:
    Macht am besten per ssh zwei Konsolen auf. Auf der einen gebt Ihr

    Code
    sudo tail -f /var/log/syslog


    ein. Auf der anderen loggt Ihr die Ausgabe von mpv. Dazu ist es erforderlich, dass zunächst die log-Datei angelegt und für vdr berechtigt wird:

    Code
    sudo touch /var/log/mpv.log
    sudo chown vdr.vdr /var/log/mpv.log


    Anschließend machen wir eine vorübergehende Änderung im Script, aus Vereinfachungsgründen direkt ohne template:

    Code
    sudo nano /usr/share/vdr-plugin-mplayer/mplayer


    Hier wird am Ende der Datei die Auskommentierung geändert:

    Code
    #eval "$CMDLINE \"$FILE\""
    eval "$CMDLINE \"$FILE\""&> /var/log/mpv.log


    Ich empfehle dringend, dies wieder zurückzuändern, sobald die Einrichtung geklappt hat und Filme abgespeilt werden könnne. Es ist einfach zuviel, was da ständig geloggt wird.
    Einstweilen wird die Anzeige des logs gestartet:

    Code
    sudo tail -f /var/log/mpv.log


    Nun könnt Ihr einen Film auswählen, der in /media/Video entweder lokal oder im eingebundenen NFS liegt. Wenn der Film nicht startet, sondern nach wenigen Sekunden das vdr-Bild wiederkommt, liefern die beiden logs wichtige Hinweise, wo der Fehler zu suchen ist.

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    2 Mal editiert, zuletzt von Dr. Seltsam ()

  • tja, da habe ich das Interesse an einer solchen Lösung wohl deutlich überschätzt ?(


    Nutzt Ihr denn alle xbmc??

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Hi,


    Ich habe soeben erst deine super Ausführungen entdeckt und das liest sich wirklich interessant. Wir bei der MLD setzen auch nicht auf Debian-Pakete, daher werden wir nicht umher kommen uns deine Ausführungen genau für uns selber umzusetzen.


    Bisher hatte ich auch nicht den Wechsel und Weiterentwicklung vom mplayer so direkt gesehen. Also vielen Dank für diesen Hinstupser.


    Um diese Dateien abzuspielen, würde ich gerne nicht XBMC starten müssen. Daher werde ich mir mpv und deine Scripte mit deinen Erklärungen anschauen wollen.


    Bist Du einzig auf yavdr fixiert? Oder warum hast Du die Ausführungen so explizit für die Distri beschrieben?


    Gruß,


    Pit

  • Don't panic! Mich kotzt der Mplayer mit seinem Audioversatz schon seit längerem an. Mplayer2 hatte ich mal probiert, das Gefutzel mit avconv statt ffmpeg war mir auf Dauer dann aber doch zuviel, da ich meine Distri immer von Hand zusammenklöppel. Auf meiner neuen Installation mit Debian jessie hab ich den Kollegen aus den Sourcen schon installiert. Ging erfreulich einfach :) Jetzt muss ich mich nur noch um den Rest wie Bedienung und Anbindung an das mplayer-plugin kümmern. Dafür haste ja schon prima Vorarbeit geleistet.


    Mein Dank!
    iNOB <-- XBMC Verweigerer

  • Nicht so ungeduldig!
    Der Ansatz gefällt mir. Nur Anmerkungen:
    - das --index ohne Wert frisst mein mpv nicht
    - mit --quiet entfallen die ganzen statuszeilen in der vdr.out
    - test $ORIG_FPS -ne 0 fkt oft nicht, z.B. wenn ORIG_FPS=23.999, kann aber auch nicht so gemeint sein, denn nur 0 oder < 0 wären doch FATAL?
    auch ist 25 oft 24.999
    - 1920x1080 einfach durch Variable DISPLAYSIZE ersetzen macht es konfigurierbarer
    sonst ist mpv nach erstem Eindruck wesentlich brauchbarer als mplayer-xx

    vdr-2.6.4

    softhddevice, dbus2vdr, dvd, epgsearch, femon, graphtftng, hbbtv, menuorg,
    osdteletext, radio, recsearch, satip, tvguide, vnsiserver

    ubuntu focal, yavdr-ansible, linux-5.15 ,AsRock J4105, CIne CT-V7 DVB-C

  • Hier scheint es die offiziellen Ubuntu-Pakete zu mpv zu geben. Für precise ist natürlich nichts dabei. Hast du dich da bedient für das debian-Verzeichnis? Gibt es da noch spezielle Anpassungen?
    mpv 0.5.4 ist da natürlich noch nicht verpackt. Sonst können wir ja auch mal überlegen, es ins yavdr-PPA zu packen, damit man nicht suchen muss.


    Lars.

  • Noch weitere Anmerkungen zum angepassten mplayer-Skript
    - Bei mir ist DVD-VCD unter /usr/share/vdr-plugin-mplayer, mag aber sein, dass unter /var/lib/vdr/plugins ein link sein sollte
    - bei DVDs sollte mpv_identify.sh nicht mit --dvddevice=$DVD dvd://, sondern nur mit $DVD aufgerufen werden (siehe mpv_identify.sh)

    vdr-2.6.4

    softhddevice, dbus2vdr, dvd, epgsearch, femon, graphtftng, hbbtv, menuorg,
    osdteletext, radio, recsearch, satip, tvguide, vnsiserver

    ubuntu focal, yavdr-ansible, linux-5.15 ,AsRock J4105, CIne CT-V7 DVB-C

  • Hallo Zusammen,


    entschuldige bitte falls ihr es als Offtopic empfindet, aber ich frage mich gerade ob es nicht Sinn macht das "vdr-plugin-mplayer" neu aufzubauen, auf Basis der Sourcen.


    Weil,

    • die Source bereits schon vom mp3-Plugin damals portiert/erweitert worden sind
    • die Basis auch noch mit alten Makefile übersetzt wird (zumindest habe ich kein aktuelles gefunden X( )
    • das für die mpv-player Unterstützung doch Sinn machen würde. Die Aufrufstrukturen haben sich doch stark geändert.
    • alternativ könnte man natürlich auch einen Fork vom vdd-plugin-mplayer erstellen und dort weiter machen.


    Daher meine Frage, hat schon mal jemand mit dem Entwickler Kontakt aufgenommen, oder ist er nicht mehr aktiv?


    Das letzte Changelog von ihm zu diesem Plugin ist von 2009...Link


    Gruß,


    Pit


    P.S: Gerne kann auch die Diskussion in einem neuen Thread begonnen werden, wenn ihr es lieber wollt.

  • Moin,
    ehe ich später noch auf alle anderen Fragen und Hinweise eingehe, kurz eine Info zum Stand des mplayer-Plugins:
    Ich habe die Sourcen sowohl vom mp3 als auch mplayer-Plugin schon vor einiger Zeit komplett überarbeitet und voneinander getrennt, auch mit neuen Makefiles. Es kompiliert jetzt auch ohne warnings.
    Der Author hat schon seit Jahren nicht mehr auf emails geantwortet, so dass ich kein Problem damit hätte, die beiden Sourcen bei vdr-developer als community-maintained Projekt hochzuladen, notfalls auch in umbenannter Form als fork.
    Es ist aber noch nicht 100% fertig - bei mp3 crasht die alsa-Ausgabe gelegentlich noch beim Spulen oder es klemmt beim Beenden. Auch ist der Code zum Bestimmen des richtigen Audiodekoders grottig - es werden einfach mehrere nacheinander durchprobiert, und mitunter wird der falsche als richtig erkannt. Das ist insbesondere dann ein Problem, wenn man die Internetradiofunktion nutzen will.


    Das mplayer-Plugin enthält sehr viel Code für den slave-Betrieb, d.h. es schickt direkt Kommandos an mplayer. Das macht aber nur Sinn, wenn während der Wiedergabe auch das vdr-OSD verfügbar ist, was aber nur bei FF-Karten und der PVR350 technisch überhaupt möglich ist. Da wir den traditionellen-Kontrollmodus verwenden (mpv bietet übrigens auch gar keinen slave-Modus mehr), werden also etliche Funktionen, die das mplayer-Plugin enthält, sowieso nicht mehr benötigt.
    Möglicherweise lässt sich das ganze auch mit dem externalplayer-Plugin realisieren - allerdings fehlen sowohl bei mplayer als auch mpv m.E. die für eine Dateiauswahl nötigen eigenen Menüs.


    Ich habe ansonsten auch schon mit mp3-Wiedergabe per mplayer-Plugin und vlc oder mplayer experimentiert. Aber das schöne am mp3-Plugin ist, dass man ganze Ordner absoielen kann, da es eigene Playlisten anlegt.

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Hi Dr. Selstam,


    ja das hört sich doch nach einem Weg an :D


    Ich habe mir im Moment den Weg über den Externalplayer vorgenommen. Aber wenn Du dann doch mal dein "vdr-plugin-mpv" öffentlich machst, werde ich gerne auch darauf umschwenken.


    Mal schauen, ob der Externalplayer sauber sich implementieren lässt.


    Bis später,


    Pit

  • so, ich fange mal an mit Antworten

    Zitat


    Bist Du einzig auf yavdr fixiert? Oder warum hast Du die Ausführungen so explizit für die Distri beschrieben?


    nein, ich habe auch einen selbst aufgesetzten VDR, wo ich es analog nutze. Aber meine Überlegung war, dass diejenigen, die sich ein vdr-System selbst zusammenfrickeln, kein Problem mit der Anpassung haben werden, während gerade unter den yavdr-Usern doch viele dabei sind, die da eine etwas genauere Anleitung benötigen.


    Zitat

    - das --index ohne Wert frisst mein mpv nicht


    richtig, da habe ich eine falsche Version hochgeladen, ist gefixt. Es muss index=default sein.


    Zitat

    - mit --quiet entfallen die ganzen statuszeilen in der vdr.out


    was ist die vdr.out für eine Datei? kenne ich nicht.


    Zitat

    - test $ORIG_FPS -ne 0 fkt oft nicht, z.B. wenn ORIG_FPS=23.999, kann aber auch nicht so gemeint sein, denn nur 0 oder < 0 wären doch FATAL?


    da habe ich Mist gebaut, als ich die ursprüngliche Umsetzung in meinem alten mplayer-Script für mpv vereinfacht und ORIG_FPS direkt abgeleitet habe.


    So müsste es richtig sein:




    Code
    auch ist 25 oft 24.999


    im Moment würde das zumindest dazu führen, dass der Film nicht in 24p startet, denn dafür muss die Bedingung

    Code
    if [ $TEMP_FPS -ge "23000" -a $TEMP_FPS -le "24499" ]; then


    erfüllt sein. Wäre sie hier bei 24.999 nicht, so dass die BIldwiederholrate bliebe wie sie standardmäßig ist, also wohl 50Hz. Das wäre dann auch richtig, falls es wirklich 25Hz sind.
    Warum ich hier 24.499 als Grenze genommen habe, kriege ich im Moment nicht mehr zusammen. Wahrscheinlich wollte ich ab 24,5 auf 25 aufrunden.


    Zitat

    - 1920x1080 einfach durch Variable DISPLAYSIZE ersetzen macht es konfigurierbarer


    vielleicht kann man das sogar aus dem xrandr-Aufruf rausfiltern?


    martin@ubuntuvdr1:/usr/share/vdr-plugin-mplayer$ xrandr
    Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 16384 x 16384
    DVI-I-0 disconnected (normal left inverted right x axis y axis)
    VGA-0 disconnected (normal left inverted right x axis y axis)
    DVI-I-1 disconnected (normal left inverted right x axis y axis)
    HDMI-0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 160mm x 90mm


    Kann mir da jemand helfen? Man müsste wohl nach dem Begriff "connected" suchen und dann alle Stellen greifen, die vor dem nächsten darauf folgenden x stehen, und alle Stellen nach dem x, die vor dem ersten + stehen.
    Oder einfach suchen, ob die Folge 1920x1080 oder 1280x720 gefunden wird? Was anderes wird ja kaum vorkommen oder?
    Bash ist nicht so mein Ding...


    Zitat

    - Bei mir ist DVD-VCD unter /usr/share/vdr-plugin-mplayer, mag aber sein, dass unter /var/lib/vdr/plugins ein link sein sollte


    ich habe das eben nochmal auf einem frisch installierten yavdr 0.5a geprüft. nachdem das mplayer-Plugin installiert ist, finden sich diese Dummy-Dateien unter /var/lib/vdr-plugin-mplayer/
    So ist es im Script auch eingetragen. Die Dummys stammen noch aus dem mplayer.sh-Script von Juri:


    Zitat

    The following is deprecated and might go away. Please use the DVD- or VCD-plugin instead.
    If you want to use the DVD or VCD support, you need to create a directory (e.g. /video/plugins/DVD-VCD). Then create two files called 'DVD' and 'VCD' in this directory ('touch DVD' and 'touch VCD'). It is important that these files are exactly named 'DVD' and 'VCD' (all in capital letters)!!! Now adjust the path and the DVD device in the mplayer.sh.conf and append the following line to your mplayersources file:


    /video/plugins/DVD-VCD;DVD or VCD;0


    That should be all.


    Es muss dann noch die /etc/vdr/plugins/mplayersources.conf angepasst werden:

    Code
    /var/lib/vdr-plugin-mplayer/DVD-VCD;DVD oder VCD;0


    Diese Dummy-Dateien werden aber nicht benötigt, wenn man nur VIDEO_TS-Ordren oder images (iso) von DVDs ansehen will, die auf Platte liegen.


    Zitat

    - bei DVDs sollte mpv_identify.sh nicht mit --dvddevice=$DVD dvd://, sondern nur mit $DVD aufgerufen werden (siehe mpv_identify.sh)


    klingt sinnvoll, da das Script den Parameter --dvddevice ja nicht kennt. Aber kann es überhaupt etwas mit dem "dvd://"-Aufruf anfangen? Hast Du das schon mal getestet?


    Zitat

    Hier scheint es die offiziellen Ubuntu-Pakete zu mpv zu geben. Für precise ist natürlich nichts dabei. Hast du dich da bedient für das debian-Verzeichnis? Gibt es da noch spezielle Anpassungen?
    mpv 0.5.4 ist da natürlich noch nicht verpackt. Sonst können wir ja auch mal überlegen, es ins yavdr-PPA zu packen, damit man nicht suchen muss.


    Ich habe das Paket auf meinem yavdr selbst gebaut, und ich glaube, es war nach dieser Anleitung
    Nehmt es gerne bei Euch irgendwo auf, ich weiss nicht wieviel traffic ich bei arcor habe - bin da eigentlich schon ewig kein zahlender Kunde mehr...

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    3 Mal editiert, zuletzt von Dr. Seltsam ()

  • wenn Ihr Filme habt, die bei 24Hz ruckeln, dann beobachtet mal, ob im syslog eine Framerate von 24.000384 fps angezeigt wird. Damit haben etliche TVs Probleme, denn sie sie sind im 24Hz-Modus für 23.976 fps optimiert.
    Mir sind solche Filme vereinzelt untergekommen (meist europäische Produktionen), und ich glaube, ich habe sie irgendwann entnervt mit 50Hz geschaut. Da müsste man evtl. noch eine Ausnahme im Script hinterlegen.

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • ich denke so kriegt man den Wert für eine neue Variable DISPLAYSIZE am besten ermittelt:


    Code
    martin@martin-desktop:~$ xrandr | grep \* | awk '{print $1}'
    1280x1024


    und für CONNECTION:


    Code
    martin@martin-desktop:~$ xrandr | grep -e " connected [^(]" | sed -e "s/\([A-Z0-9]\+\) connected.*/\1/"
    HDMI1

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Servus Dr. Seltsam,


    so nach ein paar stürmischen Wochen werde ich wohl am Wochenende (endlich) mal wieder an den Rechner kommen und würde gerne an dem Thema weiter kommen. Gibt es schon etwas Neues von Dir oder hat jemand schon weiter gemacht?


    Ich hatte mal einen Versuch mit dem Externalplayer unternommen, bin aber nicht wirklich erfolgreich gewesen....Nur bevor ich da weiter mich verwurstle wollte ich sicher sein, das ihr auch nicht schon etwas veröffentlicht habt.


    Kann man schon dein angedeutes "überarbeitetes" MPlayer-Plugin bekommen? Oder ist die Entwicklung vom mlv-player von hier etwas worauf man warten sollte?


    Bin ja so gespannt...


    Gruß,


    Pit

  • Hallo Pit,


    die Anleitung und die verlinkten Dateien sind soweit aktuell, auch die Funktion getfps ist gefixt.
    Noch nicht umgesetzt habe ich die Aufnahme einer Variable DISPLAYSIZE, d.h. wenn der Bildschirm eine andere Auflösung als 1920x1080 hat, muss man das derzeit noch 2x im Script anpassen. Das steht aber auf der ToDo-Liste.
    Zwar könnte man das im Sinne von zero-config auch im Script mittels xrandr ermitteln, aber das möchte im Moment eigentlich nicht umsetzen. Es hätte zur Folge, dass bei jedem Starten eines Films ein xrandr-Aufruf zusätzlich ausgeführt würde.


    Mein mpv-Paket habe ich glaube ich im September gebaut. Ich würde erst dann wider ein neues Paket aus dem mpv-git bauen, wenn ich in der Praxis bermeke, dass irgednein Format nicht richtig läuft. Bisher konnte ich -im Gegensatz zu mplayer2- alles abspielen.


    Was das mplayer-Plugin angeht: Meine Version hat-was die Funktion angeht- grundsätzlich keine Vorteile ggü. dem Originalplugin aus den Sourcen des mp3-Plugins. Mein Paket ist komplett vom mp3-Plugin getrennt, hat ein aktuelles Makefile und kompiliert fehlerfrei ohne irgendwas patchen zu müssen. Wenn Du mir per PN Deine Mailadresse schickst, schicke ich Dir das gerne mal zum Testen.
    Ich weiss noch nicht genau, was ich damit machen will. Eigentlich müsste man alles mplayer-spezifische rausschmeissen, da der slave-Modus ja nicht mehr benötigt wird. Schön wäre es, wenn der Dateimanager (das Menü zum Auswählen des abzuspielenden Films) eine Sortierfunktion (A-Z oder nach Datum) hätte. Aber ob ich das mit meinen beschränkten Fähigkeiten überhaupt hinkriegen würde, weiss ich noch nicht.

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • tja, da habe ich das Interesse an einer solchen Lösung wohl deutlich überschätzt ?(


    Nur langsam. ;)
    Habe die ruhigen Tage nach Weihnachten genutzt und meine beiden VDRs mit Deinem mpv-Plugin beglückt. Genau nach Anleitung hatte es einen Moment gedauert, bis ich es am Laufen hatte.


    Irgendwie hatte sich bei mir immer noch ein mplayer gestartet. Bis ich bemerkte, dass man Dein Script im Verzeichnis "/etc/yavdr/templates_custom/usr/share/vdr-plugin-mplayer/mplayer" auf jeden Fall von "40_softhdevice-mpv" nach "40_softhdevice" umbenennen sollte. Da man sonst nach dem process_template eine Mischung aus Deinem Script und dem originalen mplayer-Startscript des yaVDR erhält. Nebeneffekt, jetzt verstehe ich das Template System des yaVDR ein wenig besser. ;)


    Da bei mir der Ton über HDMI ausgegeben wird, musste ich die entsprechende Zeile anpassen. Die Syntax von Deinem Vorschlag passte nicht:

    Code
    #HDMI:
    #AO="-ao alsa:device=hw=[hw:1,3] --ad=spdif:ac3,spdif:dts"


    bei mir steht jetzt, entsprechend der Syntax für Deine SPDIF-Ausgabe:


    Code
    #HDMI:
    AO="--ao=alsa:device=[hw:0,7] --ad=spdif:ac3,spdif:dts"
    
    
    #Mainboard SPDIF:
    #AO="--ao=alsa:device=[hw:0,1] --ad=spdif:ac3,spdif:dts"
    #AO="--ao=alsa:device=iec958,AES0=0x06 --ad=spdif:ac3,spdif:dts"


    Und wo wir gerade bei der Ausgabe des Tons über HDMI sind. Ich habe die Entwicklund von mpv noch nicht verfolgt, aber weisst Du, wie es mit der Ausgabe der HD-Tonformate (DTS-HD bzw. Dolby TrueHD) bestellt ist? Ich habe ein paar MKVs mit solchen Tonspuren und würde sie gerne ausgeben.


    Aber jetzt erst mal ein fettes Dankeschön für die Bereitstellung des Plugins. Ich nähere mich meinem Idealzustand, wo ich fast nur noch einen Zuspieler benötige. Zur Zeit muss ich halt noch für 3D-MKVs und MKVs mit HD-Tonformate auf einen externen Mediaplayer zurückgreifen. Wobei ich, zumindest für letzteres, guter Hoffnung bin, auch bald das Plugin nehmen zu können.


    Vielen Dank nochmal.


    Ciao Stefan

  • Hi Stefan,


    ich war bei meiner Anleitung davon ausgegangen, dass der User zuvor noch kein eigenes template für mplayer erstellt hatte. Insofern ist Dein Hinweis richtig und wichtig. Ich habe die Anleitung ergänzt.
    Auch den falschen AO-Eintrag für den HDMI-Ton habe ich im Beitrag und im Script berichtigt.


    Wegen DTS-HD und Dolby TrueHD: Ich habe leider keine solchen Dateien zum Testen. Im manual von mpv heisst es:


    In älteren Versionen des manuals stand dazu noch "Note: this feature is broken". Keine Ahnung, ob das schon gefixt war, als ich das mpv-Paket gebaut habe. Du kannst ja mal

    Code
    --ad-spdif-dtshd=yes


    im AO-Parameter ergänzen und schauen, was passiert. Und auch mal mit Dolby TrueHD testen!
    Und dann wäre noch interessant, ob mit diesem Parameter auch normales DTS bzw. DD noch wiedergegeben wird. Das kann evtl. auch vom AV-Receiver abhängen.

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • gerade mal getestet :D


    mpv spielt sogar x265 ab

    Dirk

  • Hallo Dr. Seltsam,


    vielen Dank für Deine schnelle Reaktion.


    ich war bei meiner Anleitung davon ausgegangen, dass der User zuvor noch kein eigenes template für mplayer erstellt hatte.

    Aber gerade in der Anleitung stand doch, dass man das Plugin für den Mplayer installieren soll. ;)


    Wegen DTS-HD und Dolby TrueHD: Ich habe leider keine solchen Dateien zum Testen.

    Könnte ich Dir zur Verfügung stellen, aber wie im Manual steht, funktioniert die Ausgabe ja nur über HDMI.


    --ad-spdif-dtshd=yes

    Hatte nur einen kurzen Test gemacht. Aber leider funktioniert es nicht, es ist sogar schlimmer, denn die Ausgabe des Tones erfolgt dann nur noch im Zweikanalton. Werde es morgen noch mal weiter testen. Mit neu erstellten MKVs, in denen nur eine Tonspur drin ist. Denn das Umschalten des Tons funktioniert bei dieser Konfiguration nicht korrekt. Muss mir dann die Log-Dateien genauer anschauen.


    Ciao Stefan

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!