Webcam einbinden

ja dann wirds schwierig… wenns vorher ging und ohne änderung nachher nicht mehr ist das schon ein anzeichen das sich bei den berechtigungen was geändert hat. auf der anderen seite bei lokalen bildern etc. traue ich dem mehr als bei einer html box mit content verweis auf eine externe url die zudem bei interner verbindung läuft…ich wollte mir gerade das freigeben nach aussen über den router meiner cams sparen und bin deswegen auf vpn… braucht zwar ein zwei schritte mehr für die verbindung dafür klappt nachher alles einwandfrei ohne sicherheitsbedenken.

Und hast du probiert es gibt für die html einbettung ja noch andere typen… img src="" oder da war noch irgendwie embedded src und so weiter… das problem das nicht alle typen zbsp wieder auf dem ifront „liefen, angezeigt wurden“. bei mir zeigts ifront mit img src überall an. Aber nur bei internen urls/links nicht so wie du es machst. Wenn ich von extern zugreife habe ich den kompromiss, dass ich von den Cams mit dem img grabber nur das aktuelle standbild der cam liefer nicht den stream. klappt dann auch aber ist nur semigut

Ach ja… ist aber aktuell wunschdenken wer weiss vielleicht kommts ja noch… so könnte ja ips auf ganz einfache art und weise proxy sein/spielen. Sprich auch wenn ich vom Internet auf ips zugreife reicht mir dieser wie in einer proxy funktion den stream durch ohne das der client selber versucht die source zu kontaktieren… gibts aber -Noch nicht?- ich habs mal probiert so gibt es ja das image objekt mit stream… klappt aber leider nicht und imagegraber ist jhalt nur ein bild… (Achtung… gibt man dem imagegraber einen cgi stream bleibt ips hängen und verabschiedet sich… tests deswegen lieber auslassen…

Bei mir läuft die Webcam auch nicht mehr zuverlässig. Mal ist das Bild zu sehen, meist nicht.

Wenn nicht, so steht als Fehlermeldung (Schwarz auf Dunkelblau :wink: ):
failed: exceed max clients

Die HTML Box hat den Wert:
<embed src=„http://192.168.179.10/videostream.cgi?user=admin&pwd=xxxx“ style=„width: 640px; height: 480px;“ ></embed>

Wer kann helfen?

Hans-Werner

Naja, was bedeutet die Meldung denn?

Es greifen zuviele Clients gleichzeitig auf die Kamera zu. Die Webserver der Kameras können meist nur ein paar gleichzeitige Verbindung.

Das verstehe ich auch so. Es greift aber nur IP Symcon IFront drauf zu, also ein Client.

Die Meldung stammt sicher nicht von der Kamera und tritt erst seit dem Update auf die neue Version auf.

Ergo hat sich etwas geändert. Hat noch jemdand diese Probleme?

Hans-Werner

Hallo frank,

hast Du das lösen können? Ich bekomme es nicht hin :o

Falls jemand Probleme mit irgendeinem Browser bei der Einbindung eines Multimediaobjektes hat, kann er auch das hier versuchen (statt „embed“):

<object width="400" height="400" data="Pfad_zur_Quelle.typ"></object>

The tag is used to include objects such as images, audio, videos, Java applets, ActiveX, PDF, and Flash. […] The tag is supported in all major browsers.

Und nachdem mittlerweile die neuesten Browser (ab IE9, FF5, Chrome, …) einigermaßen auch HTML5 unterstützen, steht dafür auch das video-Tag zur Verfügung. Dieses wendet in neuen Browsern ein eigenständiges Control an:

<video width="320" height="240" controls="controls">
  <source src="Pfad_zur_Quelle.typ" type="video/mpeg" />
  Your browser does not support the video tag.
</video>

Vielleicht hilft es dem einen oder andren ja! :wink:

LG,
florida

Hab auf bwired.nl noch folgendes Code-Schnipsel zum Einbinden eines Live-Streams (zumindest für AXIS Cams) gefunden.

Vielleicht kann das ja auf das jeweilige Modell, bzw. die jeweilige Methode angepasst werden?!

  	  	<SCRIPT LANGUAGE="JavaScript">
				// Set the BaseURL to the URL of your camera
				var BaseURL = "http://www.bwired.nl:88/";
				// DisplayWidth & DisplayHeight specifies the displayed width & height of the image.
				// You may change these numbers, the effect will be a stretched or a shrunk image
				var DisplayWidth = "384";
				var DisplayHeight = "288";
				// This is the path to the image generating file inside the camera itself
				var File = "axis-cgi/mjpg/video.cgi?resolution=CIF&camera=2";
				// No changes required below this point
				var output = "";
				if ((navigator.platform != "MacPPC") && (navigator.platform != "Mac68k") && (navigator.platform != "iPad") && (navigator.platform != "iPhone"))
					{
					// If Internet Explorer under Windows then use ActiveX 
					var output = "";
					var AppletDir = BaseURL + "java/ama";
					var VideoPath = "axis-cgi/mjpg/video.cgi?resolution=";
					var restOfPath = "&camera=2";
					var VideoURL = BaseURL + VideoPath;
			    	output  = '<APPLET archive="ama.jar" codeBase="';
					output += AppletDir + '"';
					output += ' code="ama.MediaApplet" height=';
					output += DisplayHeight;
					output += ' width=';
					output += DisplayWidth;
					output += '>';
					output += '<PARAM NAME="code" VALUE="ama.MediaApplet">';
					output += '<PARAM NAME="archive" VALUE="ama.jar">';
					output += '<PARAM NAME="codebase" VALUE="';
					output += AppletDir + '">';
					output += '<PARAM NAME="ama_cgi-path" VALUE="axis-cgi">';
					output += '<PARAM NAME="cache_archive" VALUE="ama.jar">';
					output += '<PARAM NAME="cache_version" VALUE="1.0.0.0">';
					output += '<PARAM NAME="type" VALUE="application/x-java-applet;version=1.4">';
					output += '<PARAM NAME="ama_url" VALUE="';
					output += VideoURL;
					output += DisplayWidth + 'x' + DisplayHeight;
					output += restOfPath +'">';
					output += '</APPLET>'
				} else {
					  // If not IE for Windows use the browser itself to display
				    theDate = new Date();
		    		output  = '<IMG SRC="';
					output += BaseURL;
					output += File;
					output += '&dummy=' + theDate.getTime().toString(10);
					output += '" HEIGHT="';
					output += DisplayHeight;
					output += '" WIDTH="';
					output += DisplayWidth;
					output += '" ALT="Bwired Back Home Pan Til and Zoom Camera">';
				}
				document.write(output);
				// Remove the // below to use the code for Motion Detection. 
				// document.Player.UIMode = "MDConfig";
				// document.Player.MotionConfigURL = "/axis-cgi/operator/param.cgi?ImageSource=0"
				// document.Player.MotionDataURL = "/axis-cgi/motion/motiondata.cgi";
			</SCRIPT>

LG,
florida

Hallo,

ich habe gerade zum ersten mal mit dem Android Mobile Webfront meine Foscam FI8905W Kamera einbinden wollen.
Weder mit dem img, noch mit dem embedded oder object erhalte ich ein Bild.

Interessanterweise zieht er tatsächliche MBs an Daten bei der „embedded“ Einbindung, die ja mit den Foscam Kameras funktionieren sollte, jedoch zeigt er einfach kein Bild an.

Funktioniert es denn überhaupt mit der aktuellen Android Mobile Webfront Version bei Jemanden?

Danke und Gruß,
Andreas

Hallo Werner !
Hallo PHP-Experten !
hab versucht das Script zu implementieren allerdings kann ich die http_post_fields funktion in der aktuellen PHP-Version nicht mehr nuzen.

LOG-Auszug
>Erweiterung php_http.dll nicht geladen. Version stimmt nicht überein: PHP: 5.4.0, EXT: 5.3.1

Soweit ich weiß gibts für die 5.4er diese Extension nicht mehr.

In der IPS-Doku steht man soll auf die CURL-Extension wechseln - da ich nicht der beste PHP-Programmierer bin meine Frage an dieser Stelle: Kann ich den Befehl durch einen aus der CURL extension austauschen oder muss das Script dann komplett neu geschrieben werden?

Hoffe auf Feedback Hilfe :slight_smile:

Grüße aus dem Münsterland
Andre

[/li]
Hi DocMarten,
wie kann ich erkennen, ob diese ptz.cgi in der Firmware enthalten ist?
Gruß Andre

Hallo Andre (revel…),

Hatte deinen Post vom März leider übersehen.

Die cURL-Anbindung habe ich wie folgt gelöst.

<?
if($IPS_SENDER == "WebFront")
{
   SetValue($IPS_VARIABLE, $IPS_VALUE);
 switch($IPS_VALUE) {
    case 1:
       $response = cam(0);
  break;
  case 2:
       $response = cam(1);
  break;
  case 3:
       $response = cam(2);
  break;
  case 4:
       $response = cam(3);
  break;
  case 5:
       $response = cam(4);
  break;
 }
}
function cam($pos) {
 $ch = curl_init();
 $fp = "http://benutzer:pass@ip-der-camera/admin/ptctl.cgi?move=p$pos";
 curl_setopt($ch, CURLOPT_URL, $fp);
 //curl_setopt($ch, CURLOPT_HEADER, false);
 curl_exec($ch);
 curl_close($ch);
}
?>

Indem Du in einem Browser beispielsweise eingibst:

http://USERNAME:PASSWORT@URL-DER-WEBCAM/camera-cgi/com/ptz.cgi?move=down

und dann schaust, ob sie sich bewegt (geht natürlich auch mit den anderen Befehlen des ptz.cgi).
Grüße
Martin

Hallo Andre (AS78),

Ein Blick auf die Herstellerseite zeigt Dir eine PDF aller CGI-Befehle der Camera.

http://www.edimax.com/images/Image/CGI/IC7000PT(n)_CGI_Commands.zip

Hallo
ich bin auch gerade dabei meine 7links Kamera einzubinden.
Ich wollte dann auch html befehle direkt auf den stream einbinden. Das macht man ja mit der imagemap. Das klapt auch soweit, habe den code von DocMarten übernommen. Es werden die felder angezeigt wenn ich sie anklicke. Aber jetzt zum problem

<area shape="rect" coords="252,-1,709,287" href="#" onClick="var img = new Image(); img.src = 'http://admin:6612@192.168.123.177:90/decoder_control.cgi?command=0'"alt="" />

mit diesem befehl sende ich ja den befehl das die cam hochfahren soll.
Wenn sie allerdings wieder stoppen soll muss ich folgenden befehl senden.

http://admin:6612@192.168.123.177:90/decoder_control.cgi?command=1

wie kann ich das realisieren, also wenn ich nicht mehr klicke das er dann stopp ausführt.
Habe es mit onkeydown und unkeyup probiert, aber damit führt er gar keine bewegung aus!

Hat da einer eine Idee.

Gruss Marco

Hallo Marco,
da geht in diesem Fall nicht mit der Image Map (wg. iOS-Limitierungen? s. meinen Post #48). Da musst Du auf normale Grafiken ausweichen).
Grüße
Martin

Und die muss ich dann auch mit html Befehlen einbinden oder unter IPS? Hast du da evtl auch mal ein codeschnipsel?

Vielen dank schonmal für die Antwort.

Du musst das ganz genau so wie im primären Beispiel machen, d.h. HTML-Box in IPS usw., nur eben dass das mit der Image Map nicht zu funktionieren scheint, d.h. auf der Image Map wird der „Finger heben“-Befehl nicht erkannt.
Bei normalen Grafiken aber schon. Daher hatte ich das mit den Wansview-/Foscam-Modellen so gemacht:

<table width = 100% border=2>
<tr>
<td width=20% height=100px align="center"> 
<span ontouchstart="var img = new Image(); img.src = 'http://URL-DER-CAM/decoder_control.cgi?command=2'"; 
ontouchend="var img = new Image(); img.src = 'http://URL-DER-CAM/decoder_control.cgi?command=1'";> 
<img src="/user/img/hoch.png"> </span>
</td>
usw. usw.

Natürlich auch wieder alles in einer einzigen Zeile.
Grüße
Martin

Super vielen Dank, klappt alles. Wenn alles fertig ist stelle ich den code auch mal hier rein, ist dan für eine 7links kamera.

Hallo,

heißt das ich kann eine Wlan Kamera z.B. Hootoo oder INSTAR an den Hauseingang befestigen und auch als Gegensprechanlage verwenden? Aktiviert sich dann im Webfront automatisch das Active X und schaltet das Mikrofon und den Lautsprecher ein wenn ich im Webfront auf Kamera schalte? Dann wäre das eine perfekte günstige Lösung für die Gegensprechanlage?

Seit einem Jahr greife ich über das Webfront auf meine Cam einfach über folgende URL zu:

<div align="center"><img src="http://192.168.0.111:80/videostream.cgi?user=admin&pwd=start&resolution=32&rate=0"style="width: 640px; height: 480x;" >

das ganze klappt einwandfrei im Chrome.

Im Zuge von Win 8 möchte ich gerne mein Webfrontend über den IExplorer aufrufen. Jemand eine Idee wie ich den Code umschreiben muss?:confused: