Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

  1. Zuerst wird auf dem Webserver eine PHP Datei cam_connect.php erstellt, die folgenden Inhalt hat:

    Codeblock
    languagephp
    firstline1
    titlecam_connect.php
    linenumberstrue
    collapsetrue
    <?php
    ##################################################################################################
    # Script zum Wandeln der HTTP-Authentifizierung einer Trendnet TV-IP310PI Kamera von Digest auf  #
    # Basic für die Verwendung in Verbindung mit dem Loxone Türsteuerungs-Baustein.                  #
    # Version: 2016.0206.2628.2320.5620.3020                                                                   #
    # Aufruf mit:                                                                                    #
    # http://fqdn/cam_connect.php?kamera=kamera-hostname/Streaming/channels/1/picture                #
    # oder                                                                                           #
    # http://user:pw@fqdn/cam_connect.php?kamera=kamera-hostname/Streaming/channels/1/picture        #
    ##################################################################################################
    //Error Reporting aus
    error_reporting(E_ALL);
    //Kompletter Standbild-URL der Kamera
    $url='http://'.addslashes($_GET['kamera']); 
    //Basic-Authentifizierung des Scripts
    if (!isset($_SERVER['PHP_AUTH_USER'])) 
    {
        //Wenn nicht authorisiert
        header('WWW-Authenticate: Basic realm="Kamerazugriff"');
        header('HTTP/1.0 401 Unauthorized');
        echo 'Zugriff auf Kamerabild verweigert.';
        exit;
    } 
    else 
    {
        //Wenn authorisiert, werden die Daten verwendet
          $curl=curl_init();
          curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
          curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_DIGEST);
          curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "GET");
          curl_setopt($curl, CURLOPT_USERPWD, $_SERVER['PHP_AUTH_USER'].":".$_SERVER['PHP_AUTH_PW']);
          curl_setopt($curl, CURLOPT_URL, $url);
          $picture = curl_exec($curl);
          curl_close($curl);
          if(mb_strlen($picture) < 500) 
          {
            //Wenn Bild zu klein
            header ("Content-type: image/png");
            $im = @ImageCreate (320, 240)
                  or die ("Fehler bei Kamerazugriff");
            $background_color = ImageColorAllocate ($im, 255, 240, 240);
            $text_color = ImageColorAllocate ($im, 255, 64, 64);
            ImageString ($im, 20, 50, 110, "Fehler beim Kamerazugriff", $text_color);
            ImagePNG ($im);
          }
          else 
          {
            //Wenn Bild scheinbar okay
            $type = 'image/jpeg';
            header('Content-Type:'.$type);
            header('Content-Length: ' . mb_strlen($picture));
            echo $picture;
          }
    }
  2. Jetzt kann in der Loxone Config auf das Script verwiesen werden (Beispiel):

    Bild intern: http://web.server/cam_connect.php?kamera=kamera-vorgarten/Streaming/channels/1/picture
    Bild extern: http://web.server.extern:8080/cam_connect.php?kamera=kamera-vorgarten/Streaming/channels/1/picture
    Videostream intern: http://kamera-vorgarten/Streaming/channels/1/httpPreview
    Videostrean extern: http://kamera-vorgarten.extern:802//Streaming/channels/1/httpPreview

     
  3. So sieht das dann unter Letzte Aktivität aus: 

    Beim Anklicken wird das Bild in voller Größe angezeigt.

...

Seiteneigenschaften
hiddentrue
Verwandte Vorgänge