WebCam zugriff von aussen

Hallo zusammen,
ich habe mir gestern eine Webcam (Foscam) geleistet.
Funktioniert alles recht gut.
Im Webfront eine Kategorie externe Seite eingerichtet und Cam aufgerufen.
Zeigt mir schön das Bild an solange ich im Heimnetzwerk angemeldet bin.

Sobald ich aber von extern mein IPSymcon (über dyndns) aufrufe bekomme ich kein bild der Kamera.

Woran kann das liegen?
Ich bin leider mit der ganzen Materie nicht so vertraut und hoffe das mir jemand step by step helfen kann.

Bereits jetzt vielen Dank für euere Hilfe

Schöne Grüße,
Tobi

Wie hast Du die Cam eingebunden.

Denke mal den Stream in einer String-Var mit Profil ~HTML.

Falls dem so ist dann mußt die den Stream auch mit der DynDNS-Adresse erstellen und die Ports der Cam nach außen freigeben.

Ich habe den Port 88 an der Fritzbox freigeschalten und der Cam diesen Port zugeteilt.
Ich kann auch extern darauf zugreifen.

xxxxxx.dyndns.info:88

Aber wenn ich extern aufs Webfront zugreife

xxxxx.dyndns.info (hier komm ich direkt aufs webfront)
wird die Kamera nicht angezeigt.

Im Webfront habe ich eine Externe Seite erstellt und sehe das Kamerabild.

http://xxx.xxx.xxx.31/videostream.cgi?user=admin&pwd****=&resolution=32

In der externen Seite mußt Du den Stream der Camera auch mit xxxxxx.dyndns.info:88 abgreifen.

Dann komme ich aber auf die Anmeldeseite der Cam, eingabe von Benutzernamen und Passwort

Durch den Aufruf der Seite (xxx.xxx.xxx.31/videostream.cgi?user=admin&pwd***=&resolution=32)
komme ich direkt auf das aktuelle Kamerabild (aber nur im wenn ich zuhause im Heimnetzwerk bin)

Ich mach das über ein kleines Script, das das Webcam image alle paar Minuten in meine IPS ordner holt und eine kleine String Variable aktualisiert, die man dann per Link ins WF einbinden kann.

hier mal ein Beispiel:


<?
 /* CONFIGRUATION --------------------------------------------------*/
	// Skript um Bild von Webcam zu lesen (MJPG Stream)

      // Url zum aktuellen Kamera bild. 
	$url  = "http://192.168.178.70/jpg/image.jpg"; // IP und Port Anpassen, Port ggf. weglassen
	$user = "admin";
	$pwd  = "KENNWORT";
	$imageName = "webcam_1.jpg";
 /* ENDE CONFIGRUATION --------------------------------------------------*/


	/***** CODING here *******/
	$url = str_replace('http://', '', $url);
	$url_login = "http://$user:$pwd@$url";
   $imagecont = @file_get_contents($url_login);
   if(!$imagecont)return;

	// Save to Media Folder
	$localImage = IPS_GetKernelDir()."\\media\\$imageName";
   file_put_contents($localImage,$imagecont);
   
	$htmlID = CreateVariableByName($_IPS['SELF'], "$imageName", 3,"~HTMLBox");
	$idWebcam = IPS_GetObjectIDByName($imageName, 0);
   $localImageURL = '<img src="user/getimage.php?imageid='.$idWebcam.'"><br><small>Letzter Update: '.date("d.m.Y, H:i").' Uhr</small>';
	SetValue($htmlID, $localImageURL);
   

/* -----------------------------------------------------------  */
  function CreateVariableByName($id, $name, $type, $profile = "")
    {
		 /* TYPE:
			0	Legt eine Variable vom Typ Boolean an
			1	Legt eine Variable vom Typ Integer an
			2	Legt eine Variable vom Typ Float an
			3	Legt eine Variable vom Typ String an
		 */
		 
        $IPS_SELF = $_IPS['SELF'];

        $vid = @IPS_GetVariableIDByName($name, $id);
        if($vid === false)
        {
            $vid = IPS_CreateVariable($type);
            IPS_SetParent($vid, $id);
            IPS_SetName($vid, $name);
            IPS_SetInfo($vid, "this variable was created by script #$IPS_SELF");
            if($profile !== "") { IPS_SetVariableCustomProfile($vid, $profile); }
        }
        return $vid;
    }
?>

Gibts da eventuell auch noch andere Möglichkeiten?

ja,
indem du per string( html ) variable ein bild mit der lve url einbindest. allerdings musst du an deinem router korrektes portforwatding einstellen zb 8000 -> 80 von der webcam.
dann bindest du dein bild mit der dyndns adresse und port 8000 ein.

allererst muss du sicherstellen. dass du erstmal von aussen auf die webcam kommst