ich habe das Selbe Problem. Der VDR friert häufig ein wenn eine Wiedergabe gestoppt wird.
Moin,gibt es hier eigentlich neue Erkenntnisse?Das Problem iss echt eklig und betrifft ja anscheinend ne Menge Leute...
Lars
ich habe das Selbe Problem. Der VDR friert häufig ein wenn eine Wiedergabe gestoppt wird.
Moin,gibt es hier eigentlich neue Erkenntnisse?Das Problem iss echt eklig und betrifft ja anscheinend ne Menge Leute...
Lars
Guten Morgen,
vom Grundsatz läuft das Plugin nun sehr gut (yavdr 0.6.1). Als Startparameter habe ich in der /etc/conf.avail/mpv.conf folgendes eingetragen:
Soweit, so gut - files werden abgespielt und mit der Stop Taste beendet. Wenn ich jetzt allerdings
das plugin nochmal aufrufe ist der "alte" Pfad zum Video gespeichert und es wird nicht wieder bei /media
begonnen, d.h. ich kann nur auf das zuletzt verwendete Verzeichnis zugreifen und nicht auf die anderen.
Liegt das Problem am integrierten filebrowser ?
Gruss
Imsadi
Bei mir stoppt abspielen von einem mkv Datei nicht. Und VDR wird mit Hilfe des watchdog neue gestartet. Ein segfault wird aber nicht erstellt. Wie ist es eigentlich bei euch? Was mir noch aufgefallen ist, mpv gibt mir keinen Ton, obwohl das selbe Audio Einstellung im /etc/asound.conf für VDR eingetragen ist. VDR ist direkt am Fernseher verbunden.
Oct 21 21:49:33 vdrhost vdr[1457]: [1457] [mpv] cMpvControl
Oct 21 21:49:33 vdrhost vdr[1457]: [1457] [softhddev]SetPlayMode: 0
Oct 21 21:49:33 vdrhost vdr[1457]: [1457] [softhddev]SetVideoDisplayFormat: 1
Oct 21 21:49:33 vdrhost vdr[1457]: [1457] [softhddev]GetSpuDecoder:
Oct 21 21:49:33 vdrhost vdr[1457]: [1457] CAM 1: unassigned
Oct 21 21:49:33 vdrhost vdr[1457]: [1457] [softhddev]SetPlayMode: 5
Oct 21 21:49:33 vdrhost vdr[1457]: [1457] [softhddev] play mode external
Oct 21 21:49:33 vdrhost vdr[1457]: [1605] device 1 TS buffer thread ended (pid=1457, tid=1605)
Oct 21 21:49:33 vdrhost vdr[1457]: [1604] buffer stats: 365284 (6%) used
Oct 21 21:49:33 vdrhost vdr[1457]: [1604] device 1 receiver thread ended (pid=1457, tid=1604)
Oct 21 21:49:33 vdrhost vdr[1457]: [1457] [mpv] SwitchOsdToMpv
Oct 21 21:49:33 vdrhost vdr[1457]: [1457] get locale en_US.UTF-8
Oct 21 21:49:33 vdrhost vdr[1457]: [1457] [mpv] API error: error setting option
Oct 21 21:49:33 vdrhost vdr[1457]: [1457] [mpv] playing //mnt/Storage/film-720.mkv
Oct 21 21:49:33 vdrhost vdr[1457]: [1619] [mpv]: event: 11 idle
Oct 21 21:49:33 vdrhost vdr[1457]: [1619] [mpv]: event: 6 start-file
Oct 21 21:49:33 vdrhost vdr[1457]: [1619] [mpv]: property filename
Oct 21 21:49:33 vdrhost vdr[1457]: [1619] [mpv]: property pause
Oct 21 21:49:33 vdrhost vdr[1457]: [1619] [mpv]: property speed
Oct 21 21:49:33 vdrhost vdr[1457]: [1619] [mpv]: property media-title
Oct 21 21:49:34 vdrhost vdr[1457]: [1619] [mpv]: event: 19 metadata-update
Oct 21 21:49:34 vdrhost vdr[1457]: [1619] [mpv]: event: 18 audio-reconfig
Oct 21 21:49:34 vdrhost vdr[1457]: [1619] [mpv]: event: 8 file-loaded
Oct 21 21:49:34 vdrhost vdr[1457]: [1619] [mpv]: event: 18 audio-reconfig
Oct 21 21:49:34 vdrhost vdr[1457]: [1619] [mpv]: event: 18 audio-reconfig
Oct 21 21:49:34 vdrhost vdr[1457]: [1619] [mpv]: event: 17 video-reconfig
Oct 21 21:49:34 vdrhost vdr[1457]: [1619] [mpv]: event: 17 video-reconfig
Oct 21 21:49:34 vdrhost vdr[1457]: [1619] [mpv]: property fps
Oct 21 21:49:34 vdrhost vdr[1457]: [1619] [mpv]: property length
Oct 21 21:49:34 vdrhost vdr[1457]: [1619] [mpv]: property chapters
Oct 21 21:50:13 vdrhost vdr[1457]: [1457] [mpv]ProcessKey: key=3
Oct 21 21:50:16 vdrhost vdr[1457]: [1457] [mpv]ProcessKey: key=3
Oct 21 21:50:16 vdrhost vdr[1457]: [1457] [mpv] ~cMpvOsd
Oct 21 21:50:16 vdrhost vdr[1457]: [1457] [mpv] OsdClose
Oct 21 21:50:16 vdrhost vdr[1457]: [1457] [mpv] OsdClose
Oct 21 21:50:25 vdrhost vdr[1457]: [1457] [mpv]ProcessKey: key=25
Oct 21 21:50:25 vdrhost vdr[1457]: [1457] [mpv]~cMpvControl
Oct 21 21:50:25 vdrhost vdr[1457]: [1457] [mpv] OsdClose
Oct 21 21:51:55 vdrhost vdr[1457]: [1457] PANIC: watchdog timer expired - exiting!
Oct 21 21:51:55 vdrhost systemd[1]: vdr.service: Main process exited, code=exited, status=1/FAILURE
Oct 21 21:51:55 vdrhost vdr[2029]: [2029] VDR version 2.2.0 started
Oct 21 21:51:55 vdrhost systemd[1]: vdr.service: Unit entered failed state.
Oct 21 21:51:55 vdrhost vdr[2029]: [2029] switched to user 'vdr'
Oct 21 21:51:55 vdrhost systemd[1]: vdr.service: Failed with result 'exit-code'.
Oct 21 21:51:55 vdrhost vdr[2029]: [2029] codeset is 'UTF-8' - known
Oct 21 21:51:55 vdrhost systemd[1]: vdr.service: Service hold-off time over, scheduling restart.
Oct 21 21:51:55 vdrhost vdr[2029]: [2029] override character table is 'ISO-8859-15'
Oct 21 21:51:55 vdrhost systemd[1]: Stopped Video Disk Recorder.
Oct 21 21:51:55 vdrhost vdr[2029]: [2029] found 28 locales in /usr/share/locale
Oct 21 21:51:55 vdrhost systemd[1]: Starting Video Disk Recorder...
Alles anzeigen
$ grep -v '^$\|^\s*\#' /etc/vdr/conf.d/50-mpv.conf
[mpv]
- /mnt/Storage/
-a alsa:device=[hdmi:CARD=NVidia,DEV=7])
-v vdpau:deint=2:hqscaling=1
Hi,
gestern haben sich mal zwei unserer MLD Entwickler (Christian und Roland) dran gemacht und den Grund für das Hängen beim beenden einer Wiedergabe gesucht. Herausgekommen ist dieser kleine Patch:
--- mpv/player.c.orig 2015-07-10 10:41:44.000000000 +0200
+++ mpv/player.c 2016-12-23 10:23:14.582843496 +0100
@@ -62,7 +62,7 @@
while (Player->PlayerIsRunning())
{
- mpv_event *event = mpv_wait_event(Player->hMpv, 10000);
+ mpv_event *event = mpv_wait_event(Player->hMpv, 5);
switch (event->event_id)
{
case MPV_EVENT_SHUTDOWN :
Alles anzeigen
Bei meinen kurzen Tests trat das Problem damit nicht mehr auf. Da der Fehler aber sowieso nicht jedes mal auftrat, wird die Zeit zeigen müssen, ob's das wirklich war.
Claus
Vielen dank Claus, hört sich gut an
Ich teste das mal,
Carel
Na das sind ja mal gute Nachrichten Mit Patch keine Abstürze mehr,hab das Teil wirklich mal gequält
Besten Dank an die easy Jungs
Lars
Na das sind ja mal gute Nachrichten Mit Patch keine Abstürze mehr,hab das Teil wirklich mal gequält
Besten Dank an die easy Jungs
Lars
'easy' Jungs?
'easy' Jungs?
Ach mann,vor lauter Euphorie...meinte natürlich MLD Jungs!Aber egal,sind ja beides tolle Distris
Btw. immer noch keine Hänger/Abstürze hier mit dem Patch Vielen Dank nochmal!!
Lars
Der Patch ist bei mir schon seit 1,5 Jahren drin, aber einer meiner VDRs hängt trotzdem beim Beenden einer Wiedergabe.
Der Patch ist bei mir schon seit 1,5 Jahren drin, aber einer meiner VDRs hängt trotzdem beim Beenden einer Wiedergabe.
Welchen Patch hast du seid 1,5 Jahren drin ?
Es sollte auch nichts dagegen sprechen, in mpv_wait_event nur 1 Sekunde zu warten statt 5
Welchen Patch hast du seid 1,5 Jahren drin ?
Die Zeile
wo gab es denn den Patch, wir haben lange gesucht, mit debuggen, den eigenen Patch gemacht.
Mod.: Bitte lesen: Richtig zitieren, URLs posten und Spoiler verwenden ...
Hast du zufällig noch den Patch, als 'diff' da, wäre intersseant.
rfehr steth doch im post Nr: 85 weiter oben: [Announce] mpv Plugin 0.0.4
Mod.: Bitte lesen: Richtig zitieren, URLs posten und Spoiler verwenden ...
wo gab es denn den Patch, wir haben lange gesucht, mit debuggen, den eigenen Patch gemacht.
Ok, habe mal nachgeforscht.
Im Anhang von Post #1 ist die Zeile so drin, also mit 5.
Im git mit commit https://projects.vdr-developer…d8378e38cef40c747c320d7f6 wurde 5 in 10000 geändert.
Das erklärt, warum die Zeile mit 5 auf einem meiner VDRs schon länger drin ist .
Ich sehe jetzt erst, dass es kurz nach dem release der 0.0.4 (03.07.15) noch etliche Änderungen gegeben hat. Leider scheint Maniac nicht mehr unter uns zu weilen, seine letzte Aktivität im Forum war am 11.07.15
Ich habe mal versucht nachzuvollziehen, was Maniac da eigentlich beabsichtigt hat.
In der 0.0.4 gab es noch diesen Code:
case MPV_EVENT_NONE :
if (!Player->IsPaused())
{
// no event since 5 secons and not paused -> player died
Player->running = 0;
}
break;
In den mpv-Sourcen gibt es diese Beschreibung:
"wait_event(timeout=-1)Wait for the next event, or until the timeout expires, or if
another thread makes a call to mpv_wakeup(). Passing 0 as timeout will
never wait, and is suitable for polling.
Parameters:timeout (float, optional) – Timeout in seconds, after which the
function returns even if no event was received.
A MPV_EVENT_NONE is returned on timeout. A value of 0 will
disable waiting. Negative values will wait with an infinite
timeout.
Returns:Event"
Danach sollte sich der player des Plugins wohl automatisch beenden, wenn ein Timeout von 5s auftrat.
Mit dem Hochsetzen des Wertes auf 10000 (das wären rund 2,7 Stunden!) wurde dann zugleich der obige Codeabschnitt entfernt. Ein MPV_EVENT_NONE führt nun nicht mehr zum Beenden des players, sondern nur noch zu einer Debug-Meldung.
Ich vermute, dass damit ein ungewolltes Beenden des Players verhindert werden sollte, wenn die Wiedergabe -z.B. aufgrund von Netzwerkproblemen- kurzzeitig hängt.
Nun scheint es ja so, als wenn die MLD-Jungs die Probleme beim Beenden mit der git-Version (die mit dem Wert 10000) hatten, zugleich aber auch Leute Probleme haben, die die 0.0.4 (mit 5s) benutzen. Man müsste jetzt mal bei beiden Versionen debuggen, ob es überhaupt an der gleichen Stelle crasht.
Was mich auf den ersten Blick etwas wundert ist, dass in mpv.c in der Funktion cMpvPlugin::~cMpvPlugin(void) kein Stop() ausgeführt wird.
Das müsste sich mal jemand anschauen, der etwas mehr Ahnung hat. Bei mir ist das zulange her, aber ich kann mich lebhaft daran erinnern, dass das crashfreie Beenden von readern und playern immer eine Herausforderung war.
Ok, habe mal nachgeforscht.
Im Anhang von Post #1 ist die Zeile so drin, also mit 5.
Im git mit commit https://projects.vdr-developer…d8378e38cef40c747c320d7f6 wurde 5 in 10000 geändert.
Das erklärt, warum die Zeile mit 5 auf einem meiner VDRs schon länger drin ist .
Das erklärt schon mal den Unterschied, da wir die 'letzte'Git Version nutzten.
Aber dan ist jetzt wirklich noch die Frage, warum es ein einigen mit dem Patch geht, und bei anderen nicht
Gruß,
Roland
Mod.: Grml, ist es so schwer die Antwort nicht zwischen die Quote-Tags zu schreiben ... ?
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!