StreamServerSeek - Video On Demand for the streamserver

  • Hi mal kurz angetestet klasse Sache :thumbs_up:
    Is das cool .


    Was bei mir auf der 7080 noch hin und wieder ist das sich der Dreamliveserver stoppt auf (inaktive) geht .Kann das ganze zwar per Telnet wieder restarten , könnte man da noch eine Anfrage einbauen ob er noch läuft ? Oder ist das eher ein @Ghost Ding :face_with_rolling_eyes:



    MFG
    KURTI

  • Wie genau meinst Du das? Es ist korrekt, dass dreamliveserver sich beendet, wenn kein Client verbunden ist. Er wird dann wieder durch dreamliveserver.socket gestartet, wenn ein Client auf Port 554 oder 8080 connected.
    Das kannst Du auch mit "netstat -apn | grep 554" kontrollieren. Da sollte man sehen, dass "init" auf dem Port lauscht.

  • Aso dann hab ich das falsch gesehen es war so wollte einen Film starten über den streamserverseek und nach der pufferzeit kam streamserverseek inaktiv oder so ähnlich und auch wenn ich es paar mal versucht hab immer das gleiche Ergebnis . Machte ich dann ein systemctl restart dreamliveserver.service dann ging’s wieder ohne Probleme .
    Beobachte das mal . Danke


    MFG
    KURTI

    • Offizieller Beitrag

    als auch einen Web-Player

    Hmm, dann haben wir jetzt zwei web player. Ich hatte noch extra gesagt du sollst dir da keine doppelte Arbeit machen aber das ging wohl unter.
    Was machen wir da nu?
    Ich hatte vor das im laufe der Woche rauszugeben aber jetzt bin ich grad etwas verwirrt :thinking_face:

  • Na wir nehmen Deinen. :smiling_face:


    Ich habe da keine große Arbeit reingesteckt, der ist eher so nebenbei entstanden. Das sind nur ein paar Zeilen Code zusätzlich zu dem was ich eh schon für die seek bar gemacht hatte. Ist halt video-js mit contrib-hls.


    Aber ich hätte da einen Feature-Request: Support von m3u8 mit Typ VOD (also feststehenden Playlists, die sich nicht mehr ändern). Ich bastel da nämlich gerade an was, das zwar nicht vom Web-Player abhängt, aber wäre toll, wenn der Player das dann auch kann. video-js kann das :smiling_face:


    Hast ne PN

    Einmal editiert, zuletzt von maluhi ()

  • @Reichi Danke für den Web-Player. Läuft soweit. :thumbs_up:


    Nur ein kleinerer Darstellungsfehler, die Steuerelemente sind auf dem iPad in Safari etwas zu weit unten:


    Wenn als einziges Tab ohne Tableiste knapp sichtbar


    Und bei zwei Tabs gar nicht mehr

  • Die neue Version 1.0 stellt Filme nun per HLS als Video On Demand bereit. Dazu wird eine Playlist an HLS-Clients ausgeliefert, die bereits alle segmente enthält. Je nachdem welches segment der Client nun abruft, merkt StreamServerSeek, dass der Client die aktuelle Position geändert hat und seeked daraufhin an die richtige Position. Im Hintergrund wird der dreamliveserver ganz regulär über fortlaufende segments angesprochen und weiss gar nichts davon, dass der Client eine Seek-Bar hat.


    StreamServerSeek benutzt jetzt Dreambox TV - Beta von @Reichi als Player. Danke dafür, der ist super :smiling_face:


    Wen es interessiert: Dazu müssen einige Timestamps in den segments geändert werden. Das war mir in Python aufgrund der Datentypen zu blöd und außerdem dürfte das in C sowieso deutlich schneller gehen (es dauert in C nur ca. 2-3ms). Diese Funktionalität ist in libsss-segment enthalten (auch im ersten Post). Source-Code dazu gibt es hier: https://github.com/opendreambox/libsss-segment

  • Hi hab das mal jetzt versucht wieder mit dm7080 und am iPad wenn ich auf das Play Symbol drücke öffnet sich Dreambox tv . Aber dann Hack der Stream und beginnt immer von vorn nach 3 sec zirka . Hier mal ein snipes vim log



    MFG
    KURTI

  • Ich sende dem Client HTTP Status 503 zurück, wenn ein segment noch nicht verfübar ist. Auf meinem iPhone funktioniert das und der Client fragt das segment einfach nochmal neu an. Dein iPad scheint aber einfach das nächste segment anzufordern. Ich muss mal schauen, wie ich das hier reproduzieren und fixen kann :thinking_face:

  • Komisch. Ich habe aber zum Testen auch ein iPhone 6 mit iOS 10 benutzt. Evtl hat sich da in iOS 11 was geändert. Ist aber auch egal, ich habe eine Idee, wie ich das Problem umgehen kann. Bin aber im Moment mit den Kids unterwegs und eigentlich heute Abend auch verplant. Evtl. komme ich da erst Montag zu - aber ich schau mal, was sich machen lässt.

  • So hab jetzt noch mal länger was laufen lassen und da kommt es vor das nach 10 min oder kürzer/länger das Bild schwarz wird . Hier wieder ein kurzer log wenn das Bild schwarz ist .



    MFG
    KURTI

    2 Mal editiert, zuletzt von Kurti79 ()

  • U hast das Log mit -u gemacht oder? Lass mal bitte einfach nur "journalctl -f" laufen. Sieht mir nämlich ganz danach aus, dass dreamliveserver gecrashed ist und das sieht man leider mit -u nicht. Ansonsten würde nicht aus heiterem Himmel StreamServerControl._onSourceStateChanged aufgerufen werden.
    Also davon ab, dass das Problem wahrscheinlich also durch einen Bug in dreamliveserver hervorgerufen wurde, werde ich mir mal gedanken machen, wie ich einen Workaround dafür bastele und das abfange

  • Hi hier nochmal ohne -u diesesmal ist es über 30min gelaufen mit springen . Falls du einen längeren log brauchst sag Bescheid



    MFG
    KURTI