Es ist vollkommen egal, welchen Ziel-PrimaryFarbraum oder auch Ziel HDMI-Level (Full oder Limited) ich unter MPV konfiguriere:
Bist du denn sicher, dass deine Konfigurationsdatei überhaupt eingelesen wird?
Sie sind in Begriff, Heimkinoverein zu verlassen, um auf die folgende Adresse weitergeleitet zu werden:
Bitte beachten Sie, dass wir für den Inhalt der Zielseite nicht verantwortlich sind und unsere Datenschutzbestimmungen dort keine Anwendung finden.
Es ist vollkommen egal, welchen Ziel-PrimaryFarbraum oder auch Ziel HDMI-Level (Full oder Limited) ich unter MPV konfiguriere:
Bist du denn sicher, dass deine Konfigurationsdatei überhaupt eingelesen wird?
FoLLgoTT : Ja, da dies aus dem Log hervorgeht und weil die Änderungen anderer Parameter (bspw. für das OSD oder auch Target-Peak) auch entsprechende Auswirkungen zeigen.
Du nutzt doch auch Linux, oder? Hast Du denn mal in der Config den HDMI-Level verändert und hat dies die gewohnten Auswirkungen im Bild gezeigt? Welches OS und welche Grafikkarte nutzt Du?
Hab mal ein paar Passagen kopiert, vielleicht hilft dir das bei deinem Problem?:
- "If you're not sure, but want hardware decoding always enabled by default, put hwdec=auto-safe into your mpv.conf, and acknowledge that this use case is not "really" supported and may cause problems."
- "Use the Ctrl+h shortcut to toggle hardware decoding at runtime. It toggles this option between auto and no.
Always enabling HW decoding by putting it into the config file is discouraged. If you use the Ubuntu package, delete /etc/mpv/mpv.conf, as the package tries to enable HW decoding by default by setting hwdec=vaapi (which is less than ideal, and may even cause sub-optimal wrappers to be used). Or at least change it to hwdec=auto-safe."- "If you only want to enable hardware decoding at runtime, don't set the parameter, or put hwdec=no into your mpv.conf (relevant on distros which force-enable it by default, such as on Ubuntu). Use the Ctrl+h default binding to enable it at runtime."
- "Most non-copy methods only work with the OpenGL GPU backend. Currently, only the vaapi, nvdec and cuda methods work with Vulkan."
Danke für die Hinweise. Das Thema SW-/HW-Decoding bezieht sich ja darauf, wie die Dekodierung des Content-Materials erfolgt. Das von mir geschilderte Problem liegt ja rein im Bereich des Outputs. Aber dennoch werde ich auch mit diesen Einstellungen nochmals testen.
Bitte vergesst alles was ich zum Thema Farbraum und Videolevel geschrieben habe. Das Problem war ein Level8-Problem (und bitte nicht fragen welches )
PEBKAC?
(Problem exists between keybard and chair)
Jaja, macht Euch mal lustig
Wir wollen Details!!!
Vielleicht bewahrt es andere vor so nem Problem…
Ich denke nicht, dass da andere drauf reinfallen:
Ich arbeite, zur Erstellung des Installationsguide, parallel mit mehreren Installationsinstanzen und mit Multimonitor/TV/Beamer. Wenn man dann die Config nicht für den jeweils beobachteten Output anpasst, dann wird sich da auch nichts tun.
Naja einen zweiten Monitor zu Einstellzwecken haben so manche. Also guter Hinweis!
Bei mir sind es 3 Monitore + Beamer + TV. Dennoch selten dämlich.
solche Sachen passieren immer mal wieder. Ich habe bei mir zwei Configs und ändere auch mal Ausversehen die Falsche
Hauptsache du hast das Problem gefunden
Gott sei Dank liegt es nicht an mpv 😂
Moin,
hat irgendwer zufällig zu dem relativ neuen Parameter
tone-mapping-mode=
etwas ausführlichere Doku gefunden?
In der normalen Doku ist er scheinbar noch nicht drin.
mpv selbst sagt nur
`--tone-mapping-mode`, replacing `--tone-mapping-desaturate` and `--tone-mapping-desaturate-exponent`.
Und:
--tone-mapping-mode=help
Valid values for option tone-mapping-mode are:
auto
rgb
max
hybrid
luma
EDIT: Hier sind die neuen Optionen schon erläutert: https://github.com/mpv-player/…ster/DOCS/man/options.rst
Dank Dir, die Seite hatte mir Google verschwiegen.
....und ich deinen Post nicht mehr im Kopf
Nur mal ein kurzer Zwischenstand bezüglich des von mir gerade in der Mache befindlichen Kodi/MPV-Setups:
Grundlegend funktionieren die wichtigsten Dinge bereits, aber ich möchte es wirklich rund haben und so sind es dann Kleinigkeiten die Zeit kosten.
Ich habe auch mittlerweile Displaycal integriert, welches ich dann direkt per Kodi-Addon aufrufbar machen will, so dass man dann für die ICC-Profilerstellung nicht noch ein anderes System benötigt. Mit Displaycal ist es leider nicht mehr so einfach, da es seit 2019 nicht mehr weiterentwickelt wurde, noch auf Python2 basiert und damit aus allen aktuellen Repros rausgeflogen ist. Aber es gibt eine Möglichkeit das Ganze in einer Sandbox laufen zu lassen, was aber beim Setup etwas tricky ist, da Displaycal aus der Sandbox heraus auf die USB-Schnittstellen der Messgeräte zugreifen muss.
Mal grob die (unvollständigen) Todos:
- Einbindung NAS-Laufwerk: Auf Netzwerk warten und vor MPV-Aufruf warten, dass das Netzlaufwerk ggf. aus dem Standby aufwacht.
- Boot- und ggf. Shutdown-Logo
- Fertigstellung Displaycal-Integration
- Customize Kodi-Start-/Shutdown-Menü (Eintrag "Verlassen" macht bspw. keinen Sinn)
- Ich habe mich im Übrigen für die FLIRC-Integration zur Steuerung per Fernbedienung entschieden, da ich denke, dass es so für alle User am einfachsten ist und das Ding mit ca. 25€ auch nicht die Welt kostet.
- Finalisierung des LUA-Scripts zum optionalen Framerate-/Resolution-Switching (funktioniert, ist aber derzeit noch quick&dirty)
- Größte noch offene Baustelle: Wenn möglich ein zentrales Install-Script mit der ein oder anderen Konfigurationsmöglichkeit
Nicht enthalten sein wird eine Optimierung der MPV-Konfigurationsparameter oder spezielle hier auch schon diskutierte LUA-Scripts für Leinwand-Formatanpassungen etc., da hier die Anforderungen seitens der User zu verschieden sind.
Und ansonsten: Habe ich schon gesagt, dass ich eines an Linux richtig hasse: Weshalb müssen die Entwickler dauernd die Pfade für irgendwelche Dinge ändern? Sieht manchmal echt konzeptlos aus.
Mule Danke, daß du dir die Arbeit machst!!
Zu deinen Punkten würde ich folgendes anmerken...
Boot- und Shutdown-Logo sieht man idealerweise nicht. Mein System ist jetzt bspw schon bereit, wenn der Beamer sich noch aufwärmt, obwohl beide zusammen gestartet werden. Bei Windows war das noch etwas langsamer. Welches Logo würdest du denn nehmen wollen? Ein generisches, Kodi- oder HKV-Logo, ....
Der Eintrag "Verlassen" macht u.U. schon Sinn. Weiss nicht, wie es bei dir momentan konfiguriert ist. Ich nutze es bspw. um aus der Default-Kodi-Session in eine XFCE-Session zu wechseln.
Zudem muss das vermutlich im Skin selbst geändert werden, was mit Updates ein Problem werden könnte. User die andere Skins nutzen, hätten den Eintrag auch weiterhin.
Und ansonsten: Habe ich schon gesagt, dass ich eines an Linux richtig hasse: Weshalb müssen die Entwickler dauernd die Pfade für irgendwelche Dinge ändern? Sieht manchmal echt konzeptlos aus.
Vielleicht hilft Dir das weiter: https://wiki.archlinux.org/title/XDG_Base_Directory
Hier ein Script mit freundlichen Grüßen von ((( atom ))), mit dem MPV Dateien in Kodi als gesehen markiert. Ich selbst habe es nicht getestet.
In Kodi muss unter "Services" noch die HTTP-Steuerung aktiviert werden.
Kodi:
#!/bin/sh
# script needs package "jq" to disassemble json
debug=0
get_id(){
cat <<EOF
{
"jsonrpc": "2.0",
"method": "Player.GetItem",
"params": {
"playerid": 1,
"properties": ["title"]
},
"id": "1"
}
EOF
}
get_movie_status(){
cat <<EOF
{
"jsonrpc": "2.0",
"method": "VideoLibrary.GetMovieDetails",
"params": {
"movieid": $1,
"properties": ["playcount"]
},
"id": "1"
}
EOF
}
mark_movie_watched(){
cat <<EOF
{
"jsonrpc": "2.0",
"method": "VideoLibrary.SetMovieDetails",
"params": {
"movieid": $1,
"playcount": $2
},
"id": "1"
}
EOF
}
mark_episode_watched(){
cat <<EOF
{
"jsonrpc": "2.0",
"method": "VideoLibrary.SetEpisodeDetails",
"params": {
"episodeid": $1,
"playcount": $2
},
"id": "1"
}
EOF
}
dataset=$(curl -s --user foo:bar --header "Content-Type: application/json" --data-binary "$(get_id)" "http://localhost:8080/jsonrpc")
type=$(echo "$dataset" | jq -r .result.item.type)
id=$(echo "$dataset" | jq -r .result.item.id)
[ "$debug" != "0" ] && \
echo "Type is: $type" && \
echo "ID is: $id" && \
echo "$dataset" | jq -r
case "$type" in
"movie" )
[ "$debug" != "0" ] && result_get=$(curl -s --user foo:bar --header "Content-Type: application/json" --data-binary "$(get_movie_status "$id")" "http://localhost:8080/jsonrpc" ) && echo "Result of get: "$result_get
result_set=$(curl -s --user foo:bar --header "Content-Type: application/json" --data-binary "$(mark_movie_watched "$id" "$1")" "http://localhost:8080/jsonrpc" ) && [ "$debug" != "0" ] && echo "Result of set: "$result_set
[ "$debug" != "0" ] && result_get=$(curl -s --user foo:bar --header "Content-Type: application/json" --data-binary "$(get_movie_status "$id")" "http://localhost:8080/jsonrpc" ) && echo "Result of get: "$result_get
;;
"episode" )
result=$(curl -s --user foo:bar --header "Content-Type: application/json" --data-binary "$(mark_episode_watched "$id" "$1")" "http://localhost:8080/jsonrpc" )
;;
"unknown" )
echo "It seems, nothing is being played"
exit 1
;;
esac
[ "$1" = "0" ] && setstatus="unwatched" || setstatus="watched"
echo -n "Setting status flag to "$setstatus": " && echo $result_set | jq -r .result
Alles anzeigen
Und die zugehörigen LUA-Teile (müsst ihr selbst in eure Scripte integrieren) für MPV:
require 'mp'
mp.add_periodic_timer(2,
function()
--print(watched_isset)
if watched_isset == nil then
print("Watched flag is empty, setting status in kodi to unwatched")
os.execute("/usr/bin/kodi-mark-as-watched 0")
watched_isset = 0
elseif mp.get_property_number"percent-pos" ~= nil and mp.get_property_number"percent-pos" < 80 then
--print("Under 80%")
if watched_isset == 1 then
print("Elapsed time below 80%, setting status in kodi to unwatched")
os.execute("/usr/bin/kodi-mark-as-watched 0")
watched_isset = 0
end
elseif watched_isset == 0 then
print("Elapsed time above 80%, setting status in kodi to watched")
os.execute("/usr/bin/kodi-mark-as-watched 1")
watched_isset = 1
end
end
)
function on_end(reason)
print("Quitting and setting watched/unwatched status in Kodi.")
os.execute("/usr/bin/kodi-mark-as-watched " .. watched_isset .. " &")
end
mp.register_event("end-file", on_end)
Alles anzeigen
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!