[gelöst] mcli ERROR: video data stream broken

  • Zitat

    Der -U Teil hat ja funktioniert aber das -K nicht mehr.

    Keine Ahnung ob der -K Teil von lftp unterstützt wird.


    Wir könnten -K mal gegen -R austauschen

    Einfach mal diesen Versuch testen aus dem Anhang

  • Nein daran liegt es nicht ... weil auf der Konsole funkt der Befehl ja auch genau so ... siehe oben.


    Es ist im Zusammenspiel der Änderungen im cam_menu.c und der von pbrb im netcvupdate.c


    kannst du bitte mal deine Änderungen posten ...

    Liebe Grüße g ;)

    NCV6dvbS2+Alphacrypt+ORF, BM2LTS4.4 NUC11i3 NVMe+HDD, BM2LTS2.94.4 AVG1 T7400 SSD+HDD NvidiaGT720

  • Nein daran liegt es nicht ... weil auf der Konsole funkt der Befehl ja auch genau so ... siehe oben.


    Es ist im Zusammenspiel der Änderungen im cam_menu.c und der von pbrb im netcvupdate.c


    kannst du bitte mal deine Änderungen posten ...

    wie oben beschrieben , einfach ein -n eingefügt -- Damit wurden Keine Änderungen in der netcvupdate.c benötigt. Der neue Schalter kommt dann dorthin und wird das -n ersetzen. (Damit wird dieser Eingriff nicht mehr nötig sein)

    cString c = cString::sprintf("rm -f %s; cd %s; netcvupdate -n -i %s%s%s -D", TMP_FILE, TMP_PATH, uuid, m_iface ? "  -d " : "", m_iface ? m_iface : "");


    Das Problem -K würde aber bleiben.

    (VDR) NUC11PAH & GEEKOM MINI-IT11-11. Generation * BM2LTS * DD NET S2 Max * NC * (Sound) Cinebar Lux Set * (Stream) Apple TV 4K (2022) *

    (Light) PHILIPS Hue Play HDMI Sync Box & Gradient Lightstrip * (OLED TV) LG OLED65G29LA

  • Das ist Zeile 140 die funkt ja und wie sieht 176 aus ?


    Code
    cString c = cString::sprintf("netcvupdate -i %s%s%s -U %s -K", uuid, m_iface ? " -d " : "", m_iface ? m_iface : "", TMP_FILE);
    //isyslog("EXEC2 %s", (const char *)c);

    Liebe Grüße g ;)

    NCV6dvbS2+Alphacrypt+ORF, BM2LTS4.4 NUC11i3 NVMe+HDD, BM2LTS2.94.4 AVG1 T7400 SSD+HDD NvidiaGT720

  • cString c = cString::sprintf("netcvupdate -n -i %s%s%s -U %s -K", ...


    auch mit -n


    Ich mache hier mal Schluß bis die Änderungen zu diesem Problem in das Git eingeflossen sind -- dann baue ich wieder eine Version vom MCLI

    (VDR) NUC11PAH & GEEKOM MINI-IT11-11. Generation * BM2LTS * DD NET S2 Max * NC * (Sound) Cinebar Lux Set * (Stream) Apple TV 4K (2022) *

    (Light) PHILIPS Hue Play HDMI Sync Box & Gradient Lightstrip * (OLED TV) LG OLED65G29LA

  • pbrb lass es uns zuerst mal ans laufen bringen:


    Ich hab mal den gelichen Befehl über die Konsole gemacht:

    netcvupdate -n -d eth0.2 -i fe80::208:54ff:fe54:b261 -U netceiver.conf -K


    Das log passt bis nach dem Upload und schließen des Daten Sockets aber der Upload Befehl wird nicht korrekt zu Ende gebracht:


    Befehl per Konsole:


    Befehl per Menü:

    Code
    ....
    <--- 500 'SITE UTIME netceiver.conf 20220123132637 20220123132637 20220123132637 UTC': command not understood.
    ######################## ab hier läuft es auseinander #######################
    put: /netceiver.conf: Datei oder Verzeichnis nicht gefunden
    ---> QUIT
    <--- 221 Goodbye.
    ---- Schließe den Kontroll - Socket
    Upload failed (ret=256)


    put: /netceiver.conf: Datei oder Verzeichnis nicht gefunden

    Könnt ihr bitte nachvollziehen woher diese Meldung kommt, denn das ist das Prob. warum der U Befehl nicht vollständig abgearbeitet wird und K gar nicht erst an die Reihe kommt ...

    Auslöser ist cam_menu.c weil netcvupdate.c. ja beim identen Befehl

    netcvupdate -n -q -d eth0.2 -i fe80::208:54ff:fe54:b261 -U netceiver.conf -K

    über die Konsole funktioniert.

    Liebe Grüße g ;)

    NCV6dvbS2+Alphacrypt+ORF, BM2LTS4.4 NUC11i3 NVMe+HDD, BM2LTS2.94.4 AVG1 T7400 SSD+HDD NvidiaGT720

  • ich warte dann weiter...btw.


    Code
    put: /netceiver.conf

    das / am Anfang schaut danach aus, als würde der Pfad nicht richtig angegeben....wahrscheinlich funktioniert es, wenn die Datei auf dem System auch wirklich unter / liegt...viel Erfolg weiterhin!

  • crosspost !

    pbrb du hast vollkommen recht. Ich hab mal probeweise den File ins / gelegt. und der Befehl läuft durch.


    Was ich nicht verstehe.

    Line 30: #define TMP_FILE TMP_PATH"/netceiver.conf"

    Der Pfad des define funktioniert beim Download

    Line 140: cString c = cString::sprintf("rm -f %s; cd %s; netcvupdate -i %s%s%s -D", TMP_FILE, TMP_PATH, uuid, m_iface ? " -d " : "", m_iface ? m_iface : "");und auch die Modifikation wird in /tmp/netceiver.conf gespeichert.


    Auch der Upload als erster Teil von Zeile 176 geht noch gut.


    cinfo bitte als Versuch einfach den -K Befehl in eigene Zeile verlegen:


    statt:

    Line 176: cString c = cString::sprintf("netcvupdate -n -i %s%s%s -U %s -K", uuid, m_iface ? " -d " : "", m_iface ? m_iface : "", TMP_FILE);


    bitte Line 176 ändern in:

    cString c = cString::sprintf("netcvupdate -n -i %s%s%s -U %s", uuid, m_iface ? " -d " : "", m_iface ? m_iface : "", TMP_FILE);


    und eine zus. Zeile darunter für K:

    cString c = cString::sprintf("netcvupdate -n -i %s%s%s -K", uuid, m_iface ? " -d " : "", m_iface ? m_iface : "");


    OT:

    Ob dieses c statement so funktioniert müsst ihr wissen: m_iface ? " -d " : "", m_iface ? m_iface : ""

    Ich dachte mich zu erinnern dass da vorher ein var = kommen sollte ;)

    Liebe Grüße g ;)

    NCV6dvbS2+Alphacrypt+ORF, BM2LTS4.4 NUC11i3 NVMe+HDD, BM2LTS2.94.4 AVG1 T7400 SSD+HDD NvidiaGT720

  • cinfo: beta4 produziert das I/O warning : failed to load external entity "/tmp/tmp/netceiver.conf"


    versuche bitte meine Variante von oberhalb

    Liebe Grüße g ;)

    NCV6dvbS2+Alphacrypt+ORF, BM2LTS4.4 NUC11i3 NVMe+HDD, BM2LTS2.94.4 AVG1 T7400 SSD+HDD NvidiaGT720

  • Danke. Aber die Änderung hat ein Prob.:

    Nun wird die bisher problemlos laufende Zeile 140 (-D der Download) nicht vollständig ausgeführt

    Code
    ---- Schließe den Kontroll - Socket
    Download done
    I/O warning : failed to load external entity "/tmp/netceiver.conf"

    Obwohl der Download/transfer selbst vom NCV abgeschlossen wird, kommt der netceiver.conf nicht in /tmp/ an.


    Kann es sein, dass du noch das in beta4 eingefügte /tmp/ drin hast = TMP_FILE od TMP_PATH nun nicht mehr passt ?

    Liebe Grüße g ;)

    NCV6dvbS2+Alphacrypt+ORF, BM2LTS4.4 NUC11i3 NVMe+HDD, BM2LTS2.94.4 AVG1 T7400 SSD+HDD NvidiaGT720

  • Danke. Aber die Änderung hat ein Prob.:

    Nun wird die bisher problemlos laufende Zeile 140 (-D der Download) nicht vollständig ausgeführt

    Code
    ---- Schließe den Kontroll - Socket
    Download done
    I/O warning : failed to load external entity "/tmp/netceiver.conf"

    Obwohl der Download/transfer selbst vom NCV abgeschlossen wird, kommt der netceiver.conf nicht in /tmp/ an.


    Kann es sein, dass du noch das in beta4 eingefügte /tmp/ drin hast = TMP_FILE od TMP_PATH nun nicht mehr passt ?

    Hmm, versuchen wir es einmal so zum Testen

  • nope, diesmal beginnt er nicht mal den Download. Schon das cd (Zeile140) ist NOK. sprintf("rm -f %s; cd %s

    Code
    Jan 24 09:19:30 BM2LTSnativeMC vdr[2538]: sh: 1: cd: can't cd to fe80::208:54ff:fe54:b261
    Jan 24 09:19:30 BM2LTSnativeMC vdr[2541]: sh: 1: zß: not found
    Jan 24 09:19:30 BM2LTSnativeMC vdr[2540]: INFO  : enable options for FTP client 'lftp'
    Jan 24 09:19:30 BM2LTSnativeMC vdr: [2480] warning: Fehler beim Laden der Konfiguration von Netceiver fe80::208:54ff:fe54:b261

    Liebe Grüße g ;)

    NCV6dvbS2+Alphacrypt+ORF, BM2LTS4.4 NUC11i3 NVMe+HDD, BM2LTS2.94.4 AVG1 T7400 SSD+HDD NvidiaGT720

    Einmal editiert, zuletzt von gggggg ()

  • sorry hatte nicht F5 gedrückt ;)


    ---> SITE UTIME 20220124163906 netceiver.conf

    <--- 500 'SITE UTIME 20220124163906 netceiver.conf': command not understood.

    ---> SITE UTIME netceiver.conf 20220124163906 20220124163906 20220124163906 UTC

    <--- 500 'SITE UTIME netceiver.conf 20220124163906 20220124163906 20220124163906 UTC': command not understood.

    put: /netceiver.conf: Datei oder Verzeichnis nicht gefunden

    ---> QUIT

    <--- 221 Goodbye.

    ---- Schließe den Kontroll - Socket

    Upload failed (ret=256)


    Danke, wir sind wieder dort wo wir nach dem Einbau des -n waren

    Download OK, aber das netceiverupdate hat auch schon vorher (auch über die Konsole) das Problem, dass es am Ende des Upload Befehls (der Upload war dabi schon erfolgreich) den String "netceiver.conf" anhängt. Das sind die blauen Markierungen.

    Das passiert auch über beim identen Befehl über die Konsole und macht aber in der Realität kein Problem.


    Ev. ist es aber ein Hinweis auf das was da schief läuft...


    Das Problem ist dass es dann nachdem eig. schon Alles gelaufen ist (also Down und Upload) den Upload Befehl nicht ordentlich zu Ende bringt und netveiver.conf nochmal im / sucht und das den put Fehler auslöst.

    In der Konsole läuft der Upload Befehl nämlich so (anstatt des put Fehlers) weiter:

    ---> EPSV

    <--- 229 Entering Passive Mode (|||1033|)

    ---- Verbinde Daten Socket mit (fe80::208:54ff:fe54:b261%eth0.2) Port 1033

    ---- Datenverbindung hergestellt

    ---> STOR netceiver.conf

    <--- 150 Opening BINARY mode data connection for 'netceiver.conf'.

    ---- Schließe den Daten Socket

    <--- 226 Transfer complete.

    ---> QUIT

    <--- 221 Goodbye.


    Aufgrund des put Fehlers kommt dann der -K nicht mehr dran.

    Ich vermute irgendwas mit den ? und TMP_DIR Precompiler Anweisungen läuft da nOK... aber in der -D Zeile scheint es ja OK.

    Der einzige Unterschied ist dass das %s für das TMP_DIR im Fall des Uploads nach dem -U kommt ....


    - ich vermute der put Fehler kommt aus der Funktion add_upload in Zeile 76 des netcvupdate.c

    void add_upload(char* cmd, char* localfile, char *remotepath, char *remotefile)

    Der Pointer * klebt da direkt am char ... passt das ?


    - Falls wir nicht dahinter kommen, könnte man für den -K Befehl auch ein eigenes switch statement machen, um das Prob ev. anders zu umgehen

    Liebe Grüße g ;)

    NCV6dvbS2+Alphacrypt+ORF, BM2LTS4.4 NUC11i3 NVMe+HDD, BM2LTS2.94.4 AVG1 T7400 SSD+HDD NvidiaGT720

  • - Falls wir nicht dahinter kommen, könnte man für den -K Befehl auch ein eigenes switch statement machen, um das Prob ev. anders zu umgehen


    warum nicht ein -R für den -K Befehl?

    (VDR) NUC11PAH & GEEKOM MINI-IT11-11. Generation * BM2LTS * DD NET S2 Max * NC * (Sound) Cinebar Lux Set * (Stream) Apple TV 4K (2022) *

    (Light) PHILIPS Hue Play HDMI Sync Box & Gradient Lightstrip * (OLED TV) LG OLED65G29LA

  • das hattest du doch bei der beta3 drin. -R rebootet den ganzen NCV (>15s). -K nur den zuständigen Teil (<5s). Probier es aber gerne nochmal ...

    Lieg ich mit meinen sonstigen statement also falsch ... was den Pointer etc anlangt

    Liebe Grüße g ;)

    NCV6dvbS2+Alphacrypt+ORF, BM2LTS4.4 NUC11i3 NVMe+HDD, BM2LTS2.94.4 AVG1 T7400 SSD+HDD NvidiaGT720

  • das hattest du doch bei der beta3 drin. -R rebootet den ganzen NCV (>15s). -K nur den zuständigen Teil (<5s). Probier es aber gerne nochmal ...

    Lieg ich mit meinen sonstigen statement also falsch ... was den Pointer etc anlangt

    denke ich nicht --> nur wäre es schön wenn wir den Schalter für -n bekommen würden und noch einmal ein Dritter "pbrb" über den Code in cam_menu.c schaut.

    Denn das Ergebnis sollte doch weiterhin für alle User funktionieren

    (VDR) NUC11PAH & GEEKOM MINI-IT11-11. Generation * BM2LTS * DD NET S2 Max * NC * (Sound) Cinebar Lux Set * (Stream) Apple TV 4K (2022) *

    (Light) PHILIPS Hue Play HDMI Sync Box & Gradient Lightstrip * (OLED TV) LG OLED65G29LA

Jetzt mitmachen!

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