Ankündigung

Einklappen
Keine Ankündigung bisher.

Axis Audio API ansprechen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Axis Audio API ansprechen

    Hallo!

    Ich habe eine Axis Cam bei welcher ich Audio Dateien abspielen kann.

    Lt. Axis Anleitung gibt es folgenden Link:
    Media clip API | Axis Developer Documentation
    http://<servername>/axis-cgi/mediaclip.cgi?action=play&clip=0

    Wenn ich das mit meiner IP Adresse im Browser eingebe, funktioniert alles. Clip wird abgespielt.

    Dann habe ich den Webabfragebaustein mit Hilfe des Post diesen Link (bei Adresse) gesendet. Funktioniert nicht
    Dann habe ich Usernamen:Passwort@ voran gesetzt, funktioniert auch nicht.

    Erhalte bei Antwort Header/Body folgendes:

    image.png
    Bis jetzt hat das immer so funktioniert bei Rasenmäher/Tablet ect.

    Was mache ich falsch?

    mfg




    #2
    Gehen denn andere API-Aufrufe auf die Kamera? Die Rückgabe sagt ja, dass die Autorisierung fehlt. War das die Ausgabe mit Benutzer und Passwort?

    Du kannst ja mal mit Postman
    https://www.postman.com/downloads/
    versuchen, einen funktionierenden Request zu basteln. Das geht schneller, als immer das Programm auf den EibPC neu zu übertragen.

    Kommentar


      #3
      Danke für die schnelle Rückmeldung.

      Also über Chrome (Adresszeile) kann ich die Cam den Clip spielen lassen mit den obigen Link, das funktioniert.
      Sowohl ohne Passwort als auch mit Passwort.
      Beim EibPc geht es weder ohne, noch mit Passwort.

      Was mir bei Chrome aufgefallen ist, ist dass er beim ersten mal ein PW verlangt hat, danach nicht mehr.

      Ob Antwort Header/Body ohne mitsenden des PW auch war, habe ich nicht getestet.
      Muss Timeout eingestellt werden?

      mfg


      Kommentar


        #4
        Der Browser hat sicherlich ein Cookie mit einer Session gespeichert, deswegen brauchst du kein Passwort mehr.
        Deswegen der Test mit Postman, weil du da übersichtlich alles selbst in der Hand hast und weißt, was gesendet wird.

        Timeout spielt erstmal keine Rolle, da du ja eine Antwort bekommst. Da ist generell ein Wert von ca 1-5s ok, falls das Zielgerät nicht besonders langsam ist.

        Kommentar


          #5
          Hallo!
          Postman hilft mir erstmal nicht viel weiter. Installieren kann ich es leider nicht (keine Rechte dazu). Die Webversion hat scheinbar keinen Zugriff auf das lokale Netzwerk.
          Wüsste jetzt auch nicht genau was ich testen soll, habe ja nur den Link, der über den Browser ja funktioniert.
          Habe nun zumindest getestet: Ohne User und Passwort kommt auch diese Antwort.

          Was könnte ich denn noch testen? Immer wieder übertragen und kompilieren ist nicht so schlimm, kann ja drei verschieden Abfragen machen, dann kann ich drei verschiedene Links auf einmal testen.

          mfg

          Kommentar


            #6
            Finde heraus, ob die Authentifikation im Browser per Basic Auth oder Digest erfolgt. Ggf kannst du das auch in der Axis irgendwo einstellen.

            Falls möglich, ändere mal auf Basic. Digest geht mit dem EibPC wahrscheinlich bisher nicht.

            Kommentar


              #7
              Zitat von Distiller Beitrag anzeigen
              Dann habe ich den Webabfragebaustein mit Hilfe des Post diesen Link (bei Adresse) gesendet. Funktioniert nicht
              Dann habe ich Usernamen:Passwort@ voran gesetzt, funktioniert auch nicht.
              welchen Befehl verwendet der "Webabfragebaustein" intern? ev. sendtcp? - da könnte die Nullterminierung (wieder einmal) ein Problem auslösen
              -> Usernamen:Passwort@ gab es da nicht irgen deine eine Änderung, da funktioniert bei mir nämlich auch nicht beim dframe...
              EPIX
              ...und möge der Saft mit euch sein...
              Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

              Kommentar


                #8
                Nein, die Funktion wird direkt über die libcurl abgebildet. Digest-Auth benötigt extra Handling, ist aber durch TLS insbesondere für API-Anfragen auch nicht mehr üblich. Die Anpassung ist aber nicht groß und wird ab der nächsten Firmware 5.303 unterstützt.

                Authentifikation im dframe (<iframe/>) ist ein anderes Thema. Könnte sein, dass hier https vorausgesetzt wird, weiß ich aber nicht. Es gab' Chrome-Versionen, die dies gänzlich ignoriert haben, sollte aber wieder gehen.
                Zuletzt geändert von foobar0815; 21.01.2025, 17:03.

                Kommentar


                  #9
                  dframe...

                  dframe[$http://KNX:KNX@192.168.50.221/schema.html#3$] Funktioniert nicht....
                  dframe[$http://192.168.50.221/schema.html#3$]​ funktioniert

                  im Browser (Chrome oder Edge) funktioniert
                  http://KNX:KNX@192.168.50.221/schema.html#3
                  EPIX
                  ...und möge der Saft mit euch sein...
                  Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

                  Kommentar


                    #10
                    Hallo!

                    Habe es jetzt über MQTT realisiert, da hat das ganz gut funktioniert. Was ich nicht realisieren konnte ist die publish Variable verzögert zu senden, da kommt nichts an. Oder es liegt an Mqtt und wird alles gleichzeitig übertragen und die Kamera erkennt keinen Unterschied.

                    mfg

                    Kommentar


                      #11
                      Schau' dir das mal mit einem MQTT-Client (z.B. MQTT Explorer oder MQTTX) an. Dann siehst du, wann was gesendet wird.

                      Kommentar

                      Lädt...
                      X