Bei Wiedergabe großer Aufnahmedateien startet VOMP mittendrin von vorne

  • Hallo Zusammen,


    vorab: Habe mir einen Raspberry Pi2 zugelegt und wollte meinen VOMP-Server reaktivieren und den RPi als VOMP-Client nutzen. Mir ist bewusst, dass es Distris mit vollständigen VDR Implementierungen für den RPi gibt. Aber aufgrund der Erfahrungen in der Vergangenheit gefällt mir VOMP auch wegen des guten WAF-Faktors.


    Habe den RPi2 mit dem VOMP-Client gemäß Anleitung im Wiki installiert (einziger Unterschied: Version 0.4.1 statt 0.4.0 wie dort beschrieben). Der Server ist ein yaVDR-Backend mit dem yaVDR-VOMPServer Plugin. Der Client funktioniert auch einwandfrei - mit einer Ausnahme:
    Bei der Wiedergabe von Aufnahmen bei rund 1h fängt die Wiedergabe einer HD-Aufnahme nach Ablauf dieser Zeit von vorne an - im OSD wird es so dargestellt, als ob die Aufnahme normal fortgesetzt wird. Springe ich in der Wiedergabe testweise auf 80%, zeigt er zwar im OSD je nach Länge der Aufnahme z. B. 1:35h an, gibt aber den Inhalt der Position 0:50h wieder. Verlasse ich dann die Aufnahme, starte ich sie erneut mit "Fortsetzen" ist das OSD bei 0:50h. Tritt bei unterschiedlichen HD-Aufnahmen bis dato immer zwischen Minute 45 und 1h auf - bei der gleichen Aufnahme ist es reproduzierbar immer die gleiche Stelle. Dort ist keine Schnittmarke gesetzt. De facto kann ich keinen Film > 1h zu Ende sehen. VDR Server ist so eingestellt, dass die Aufnahmedateien nicht gesplittet werden - kann es ggf. daran liegen?


    Durchgeführte Kreuztests:
    - VOMP-Client für Windows 0.4.1 -> Gleicher Fehler
    - yaVDR-Client per streamdev -> normales Wiedergabeverhalten


    Habe bereits Google - hoffentlich mit den richtigen Suchbegriffen - befragt, bin aber nicht fündig geworden. Ist das Verhalten bekannt?


    Update:
    Habe das Logging des VOMP-Server aktiviert. Zum betreffenden Fehlerzeitpunkt ist dort folgendes zu sehen:


    12:57:56.606524 [debug] RecPlayer - FILENAME: /srv/vdr/video.00/Top_Gun/2015-03-07.20.13.13-0.rec/00001.ts
    12:57:56.606631 [debug] RecPlayer - File 1 found, totalLength now 9520623056, numFrames = 15256239635194640758
    12:57:56.606694 [debug] RecPlayer - FILENAME: /srv/vdr/video.00/Top_Gun/2015-03-07.20.13.13-0.rec/00002.ts
    12:57:56.606808 [debug] RRProc - Rescan recording, wrote new length to client
    12:57:56.606850 [debug] RRProc - threadMethod waiting
    12:57:56.607251 [debug] Client - Received chan=1, ser=3900, op=7, edl=140385301037068
    12:57:56.607300 [debug] RRProc - recvReq
    12:57:56.607349 [debug] RRProc - recvReq set req and signalled
    12:57:56.607390 [debug] Client - Waiting
    12:57:56.607401 [debug] RRProc - thread woken with req, queue size: 1
    12:57:56.607477 [debug] RRProc - getblock pos = 4251731032 length = 100000
    12:57:56.607518 [debug] RecPlayer - openFile called for index 1 string:/srv/vdr/video.00/Top_Gun/2015-03-07.20.13.13-0.rec/00001.ts


    Offenbar sucht er nach der 00002.ts, obwohl es diese nicht gibt und startet dann aus Verzweiflug die 00001.ts wieder. Habe den Thread-Titel aktualisiert.


    Jetzt wäre es trivial, das Splitting der Aufnahmedateien wieder einzuschalten aber mit mehreren Aufnahmedateien pro Film hat mein Plex-Server Stress.


    Kann man das anderweitig abstellen?




    Danke & Gruß
    DonCamillo

  • Die folgende Lösung hat unter yaVDR 0.5 funktioniert, erhebt aber keinen Anspruch auf Vollständigkeit. Ist meine Premiere im compilieren.


    Development-Tools installieren und Sourcecode des vompserver Plugins laden:


    Code
    sudo apt-get update
    sudo apt-get install vdr-dev
    apt-get source vdr-plugin-vompserver
    cd vdr-plugin-vompserver


    Änderungen an Datei recplayer.c gemäß Thread im Loggytronic Forum . Danke an MartenR und ulrhom.



    Paket mit Änderungen compilieren, installieren und VDR neu starten:


    Code
    dpkg-source --commit
    dpkg-buildpackage
    cd ..
    sudo dpkg -i vdr-plugin-vomp*.deb
    sudo service vdr restart




    Gruß
    DonCamillo

Jetzt mitmachen!

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