QVR PRO API (Abgreifen des Streams)

  • Hallo zusammen,


    Ich würde gerne einen Livestream abgreifen in der QVR Pro.


    Der Linke wäre bei mir:

    Code
    http://IP:8080/qvrpro/apis/getliveimage.cgi?x-apima-key=%40APIMA_KEY%40&qsauth_type=0&qsauth_token=0m8ib6vk&sid=0m8ib6vk&guid=BDB113A5B63FBDB113A5B63FBDB10000&stream_id=0&origin=1&time=0.8796460330598748

    Um an den Sid zu kommen wäre lt. Dokumentation der API folgender http Befehl notwendig:


    Code
    <strong>http://IP:8080/cgi-bin/authLogin.cgi?user=admin&serviceKey=1&pwd=1234567890</strong>

    Es sollte dann erscheinen:

    Hier sollte man die SID abgreifen können.


    Bei mir kommt aber immer:


    Code
    This XML file does not appear to have any style information associated with it. The document tree is shown below.
    
    
    <QDocRoot version="1.0">
    <doQuick>
    <![CDATA[ ]]>
    </doQuick>


    Hat jemand eine Idee was ich hier falsch mache um mir die Sid abzuholen?


  • Hallo, hast du eine Idee wieso das bei mir nicht klapp?


    Bei mir kommt nur:

    pasted-from-clipboard.png


    Was ich allerdings festgestellt habe ist das mein Login abgelehnt wurde (laut log)

    pasted-from-clipboard.png


    Passwort und Username sind aber richtig. Eine Idee?

  • Mod: Unnötiges Volltext-/Direktzitat entfernt! :handbuch::arrow: Forenregeln beachten und Die Zitat Funktion des Forums richtig nutzen

    pasted-from-clipboard.png



    TS-453A Firmware QTS 5.0.1.2194


    Mit Wireshark habe ich folgendes Protokoll mitgeschnitten:

  • QNAP hatte wohl irgendwann vor FW 4.5 ein anderes API Protokoll , bzw war der Request String anders. Aber bei dir sollte das klappen.


    Würde ich ein Ticket aufmachen

  • Ich habe ein Ticket aufgemacht. Ich verstehe aber nicht wieso es bei dir klappt und bei mir bei allen drei NAS die ich im Einsatz habe nicht.


    Kannst du mir mal ein Screen deiner Rückmeldung zukommen lassen (geheime Daten bitte geschwärzt)? Wäre das ok?

  • Habe es mal mit einem anderen User der entsprechende Berechtigung hat Probiert. Und folgende Fehlermeldung im Log


    pasted-from-clipboard.png


    Wofür steht FF? Firefox?

  • Ok habs grade mit Firefox ausprobiert. Gleiches Fehlerbild! Deine Rückmeldung ist auch nicht nach API.

    Es sollte eigentlich diese Rückmeldung kommen:

    pasted-from-clipboard.png


    Daraus würde sich dann der authSid auslesen lassen welcher für den Login des Streams der QVR Pro benötigt würde. In diesem Falle wäre es:

    Code
    <strong>r21sslpb</strong>



    Passwort Base64 im Request zu verschlüsseln habe ich versucht. Dafür gibt es einige Seiten im Netz. Wobei ich mich nicht wohl fühle da mein Passwort umzuwandeln!


    Mit dem Thema Base64 habe ich mich noch nie beschäftigt!


    Aber laut Doku sollte die API mir das schon umwandeln. Siehe Bild (rot maskiert)

    pasted-from-clipboard.png


    Kurzfristig habe ich grade mein Passwort in 123456789a geändert (ohne Sonderzeichen ect.)

    Selbes Fehlerbild!


    http://192.168.2.xx:8080//cgi-bin/authLogin.cgi?user=admin&serviceKey=1&pwd=123456789a (so wäre der Request)


    pasted-from-clipboard.png

    2 Mal editiert, zuletzt von J.BORGER ()

  • Dann sollte der Request aber so aussehen ('123456789a' ist 'MTIzNDU2Nzg5YQ==' in Base64)

    http://192.168.2.xx:8080/cgi-bin/authLogin.cgi?user=admin&serviceKey=1&pwd=MTIzNDU2Nzg5YQ%3d%3d


    (%3d ist ein '=' Zeichen)

  • OK. Erst mal Danke dolbyman

    Habe jetzt meine richtige Rückmeldung vom FF erhalten

    pasted-from-clipboard.png


    Im Edge und Chrome geht es nicht? Wieso auch immer?! Aber im FF kommt mit der umgewandelten BASE64 die richtige Antwort :)


    Jetzt kann ich weiter forschen wie ich die SID dafür nutze den Stream von der Aufnahme aufzurufen über den FF



    Jetzt muss ich doch noch was Fragen:


    Wie erkenne ich welche ch_id ich verwende? <-- Das müsste doch der Aufnahme Kanal sein (0 und 1 sind falsch)

    pasted-from-clipboard.png


    Rückmeldung vom FF

    pasted-from-clipboard.png


    5 Mal editiert, zuletzt von J.BORGER () aus folgendem Grund: Ein Beitrag von J.BORGER mit diesem Beitrag zusammengefügt.

  • Mod: Unnötiges Volltext-/Direktzitat entfernt! :handbuch::arrow: Forenregeln beachten und Die Zitat Funktion des Forums richtig nutzen

    Danke für den Tipp :)


    Ich schaffe es jetzt mit http://192.168.2.xx:8080/cgi-bin/authLogin.cgi?user=admin&serviceKey=1&pwd=BASE64PW den autSid auszulesen.


    pasted-from-clipboard.png


    Wie kann ich mir es so zusammenbasteln das ich diesen Wert den ich durch den Aufruf erhalten habe im nächsten Request direkt zu übernehmen???


    Der aufzurufende Request (http) wäre:


    http://192.168.2.14:8080/cgi-bin/getliveimage.cgi?sid=u9pruxx&_dc=0.7663564855802338&ch=0&time=0.6009984553169541


    Das ist der Aufnahmepfad der Surveillance Station :)


    Dann hätte ich es geschafft den Stream direkt in der Surveillance Station abzugreifen (was in der API der Surveillance Station nicht vorgesehen ist). Dann hätte ich endlich eine Lösung geschafft von der API der QVR Pro für die Surveilance Station etwas abzuleiten was dieses dann ermöglichen würde.

  • Wie soll denn der Stream abgegriffen werden mit irgendeinem Programm oder via Webseite ?


    Könntest ja ne Webseite bauen die den Request absetzt und dann mit der Antwort eine Weiterleitung bildet und dann auf den Link weiterleitet.


    Wild gegoogelt

    Redirecting a user to external site from XML response
    I am using jquery to get a php file, the php file makes a php curl request to an external site with information for a payment request, the external site…
    stackoverflow.com

  • Mod: Unnötiges Volltext-/Direktzitat entfernt! :handbuch::arrow: Forenregeln beachten und Die Zitat Funktion des Forums richtig nutzen

    Das Endziel ist den Stream in meiner AIO Neo App aufzurufen (Leider war von der Surveillance Station der Stream immer nur 1h gültig)

    Die AIO Neo App unterstützt den Aufruf eine Website.


    Das würde bedeuten das ich eine Website mit entsprechender Weiterleitung bauen müsste welchen den ausgelesen Request der SID an den neuen Request übergibt und dann entsprechend den Stream aufruft. Wobei halt.... ein Stream im eigentlichen Sinn ist es nicht es ist ein Bild im Jpeg Format welches 1 sekündlich aktualisiert wird (durch AI Neo App). Aber vollkommen ausreichend für meinen Zweck.


    Leider habe ich vom Websitebau keinen wirklichen plan... und dann noch die zwei Request hineinzublasteln ist spannend.