Laden...

Bilder von einer IP Camera abrufen

Erstellt von Dragon-Sword vor 15 Jahren Letzter Beitrag vor 15 Jahren 15.322 Views
D
Dragon-Sword Themenstarter:in
125 Beiträge seit 2008
vor 15 Jahren
Bilder von einer IP Camera abrufen

[EDIT=herbivore]Originaltitel war "IP Camera"[/EDIT]

Hallo zusammen,

ich habe eine IP Camera von Logilink und möchte die Bilder dieser Camera auf einem Winform anzeigen. Aber keine Idee wie ich dies bewerkstelligen könnte.

998 Beiträge seit 2007
vor 15 Jahren

Hallo,

ich hatte schon angefangen und einen längeren Text getippt.... Warum bitte benutzt du für sowas nicht Google? Dazu gibt es mehr als genug Tutorials und mit meiner Suchanfrage kommt sofort im ersten Treffer die Anleitung nach der ich es vor 2 Jahren auch implementiert habe...

Sorry, aber über die (auf deutsch gesagt) Faulheit mancher Leute hier muss man sich schon sehr wundern!

Gruß David

D
Dragon-Sword Themenstarter:in
125 Beiträge seit 2008
vor 15 Jahren

Ich finde es nicht in ordnung, wie du auf meine Frage antwortest.
Ich habe nun 2 Tage gesucht aber nicht das richtige gefunden für die Logi Link Camera und dann, habe ich diese Thema gestartet!

Ich möchte ein Winform erstellen, dass auf die im Firmennetzwerk befindlichen Camera zugreift.

458 Beiträge seit 2007
vor 15 Jahren

Hier stehts.

be the hammer, not the nail!

998 Beiträge seit 2007
vor 15 Jahren

Das hier ist das erste Suchergebnis was ich bei Googel bekomme wenn ich genau nach deinem Threadtitel + C# suche...

Gruß David

I
194 Beiträge seit 2005
vor 15 Jahren

ich finde es auch nicht ok, wenn man sich hier aufspielt und andere leute als faul bezeichnet anstatt zu helfen. oft gibt man den suchstring anders ein und die suche liefert dann natürlich auch was anderes. die zeit die du zum (auf deutsch gesagt) wichtig sein aufwendest, hättet du auch gleich zum posten deiner suchergebnisse nutzen können, oder?

meiner meinung nach war die frage in keinster weise unverschämt....

peace 😉

998 Beiträge seit 2007
vor 15 Jahren

Sorry, aber wenn direkt bei der Suche mit "Ip Camera C#" auf der ersten Seite 4 Musterlösungen präsentiert bekomme, wobei eine sogar eine entsprechende dll zur Verfügung stellt, frage ich mich warum das bei 2 Tagen Suche nicht gefunden wird!

Sorry wenn es etwas hart rüber gekommen ist, aber nach 2 Tagen Suche sollte man auf soetwas schon von alleine kommen!

Gruß David

D
Dragon-Sword Themenstarter:in
125 Beiträge seit 2008
vor 15 Jahren

Genau dieses habe ich versucht.
Allerdings kam kein Bild zurück, worauf ich weitergesucht habe.
Dies war auch mein erstes Suchergebnis

998 Beiträge seit 2007
vor 15 Jahren

AUf welche Adresse hast du dich denn verbunden? Also auf der Kamera? Ich habe die Bibliothek von codeproject schon in vielen Projekten mit den unterschiedlichsten Kameras verwendet und hatte eigentlich nie Probleme...

Gruß David

D
Dragon-Sword Themenstarter:in
125 Beiträge seit 2008
vor 15 Jahren

wenn ich
http://[ADDRESSE]/screenshot.jpg nehme erhalte ich was
aber nicht bei camera vision sondern bei meinen tests.

aber ist kein live mitschnitt sondern nur ein screenshot.

998 Beiträge seit 2007
vor 15 Jahren

Wenn du dir das Bild 10 mal pro Sekunde holst und anzeigst, haste einen Live-Stream... Welche Formate unterstützt deine Kamera denn? Ist MJPEG lauffähig?

Gruß David

49.485 Beiträge seit 2005
vor 15 Jahren

Hallo ingemar,

äh, sorry, der einzige, der sich in diesem Thread aufgespielt hat, ohne zu helfen, warst doch wohl du (und ich jetzt auch, Mist). Es ist vollkommen ok, wenn man bei einer Frage, deren Antwort sich leicht über Google finden lässt, eben darauf hinweist. Und das ist auch bitte von dem Fragesteller unkommentiert und unbewertet hinzunehmen. Denn damit ja dann nicht weniger geholfen, als wenn man die Antwort noch mal abtippt. Nachdem the-cook geschrieben hatte, dass er nichts findet, wurden konkrete Links gepostet und nachdem er schrieb, dass ihm das auch nicht hilft, wurde weitere Hilfestellung geleistet. Also alles vollkommen ok. Die Helfer verdienen weit eher einen Dank statt einer Kritik an der Art ihrer Hilfe.

herbivore

D
Dragon-Sword Themenstarter:in
125 Beiträge seit 2008
vor 15 Jahren

Die Kamera unterstützt MJPEG hat einen Digitalzoom neige und schwenk funktion die leider dann nicht über das JPEG kommt und gewünscht wird.

http://www.logilink.de/showproduct/WC0003A.htm

Vielen dank soweit für eure hilfe

998 Beiträge seit 2007
vor 15 Jahren

Dann probier die Biliothek von Codeproject mal mit MJPEG, das hat bisher bei allen Kameras (ausser denen von Mobotix) funktioniert!

Gruß David

D
Dragon-Sword Themenstarter:in
125 Beiträge seit 2008
vor 15 Jahren

vielleicht hilft mir das es gibt einen AV-Data-Port wie kann man die daten dieses ports anzeigen?

998 Beiträge seit 2007
vor 15 Jahren

Keine Ahnung, ich habe so eine Kamera nicht. Mach folgendes:1.Finde die URL heraus um an den MJPEG-Stream zu kommen 1.Binde die dll von CodeProjekt ein 1.Initialisiere die dll mit der MJPEG-URL 1.Starten 1.VideoStream von deiner Cam geniessen 😉

Gruß David

D
Dragon-Sword Themenstarter:in
125 Beiträge seit 2008
vor 15 Jahren
public void Connet(){
            mjpeg.MJPEGSource s = new MJPEGSource();
            s.VideoSource = "192.168.100.40:4322";
            s.Login = "admin";
            s.Password="1234";
            s.NewFrame += new videosource.CameraEventHandler(s_NewFrame);
            s.Start();
}

 void s_NewFrame(object sender, videosource.CameraEventArgs e)
        {
            this.pictureBox1.Image = e.Bitmap;
        }

ist das so richtig?

G
146 Beiträge seit 2006
vor 15 Jahren

ist das so richtig?

wenn er das macht was Du willst, ja, ansonsten nein. Hast du es ausprobiert?

Martin Bauer - bauer-martin.com

998 Beiträge seit 2007
vor 15 Jahren

Hmm das verbinden auf einen Port wird dir nichts bringen, da die Bilbiothek intern einen Webrequest macht und ich könnte mir vorstellen das auf der Kamera der Webserver auf Port 80 läuft und du dann durch ein Unterverzeichnis an den Stream kommst, bei Mobotix z.B. sieht es irgenwdie so aus:


>

Irgendwie sowas wird es für deine Cam auch geben und genau das musst du herausfinden, dann klappt es auch 😃

Gruß David

I
194 Beiträge seit 2005
vor 15 Jahren
aufspieler 1 an aufspieler 2 ;)

vielleicht war das ja der anstoss für die weitere hilfe, wer weiß gg manchmal habe ich aber schon das gefühl, das einige leute hier etwas überheblich sind und naja, eh schon wissen. aber im großen und ganzen ist das ein super forum und mir wurde schon einige male sehr gut weitergeholfen!

aufspieler 1 out, hehe

998 Beiträge seit 2007
vor 15 Jahren

Glaub mir, hier wird auch so geholfen. Aber wenn man den ganzen Tag neben der Arbeit / Studium das Forum auf hat (Ohne selbst HIlfe zu wollen) um evtl. Leuten helfen zu können die Probleme haben, kommt man sich bei solchen Posts ein wenig verarscht vor!

Gruß David

D
Dragon-Sword Themenstarter:in
125 Beiträge seit 2008
vor 15 Jahren

Sowas ähnliches habe ich ja bereits. http://[Address]/snapshot.jpg
allerdings hat die kamera ein Zoomfunktion digital die ich in der beiliegenden Software und der Weboberfläche verfügbar habe und ebenfalls implementieren muss

458 Beiträge seit 2007
vor 15 Jahren

Das ist nun eine neue Anforderung.
Urspruenglich hiess es nur, wie du die Bilder auf eine Webform bekommst.

be the hammer, not the nail!

998 Beiträge seit 2007
vor 15 Jahren

Damit bekommst du ein einzelnes JPEG, du musst aber die Adresse für den MJPEG-Stream haben... Und die Pan/Zoom-Funktion kann man normal auch per Web-APi steuern.

Gruß David

D
Dragon-Sword Themenstarter:in
125 Beiträge seit 2008
vor 15 Jahren

Habe nun meines Verständnis nach die richtige Address.


            mjpeg.MJPEGSource s = new mjpeg.MJPEGSource();
            s.VideoSource = "http://192.168.100.40:4332/snapshot.cgi";
            s.Login = "admin";
            s.Password = "1234";
            s.NewFrame += new videosource.CameraEventHandler(s_NewFrame);
            s.Start();

wenn ich dies VideoSource Address im IE eingebe lädt er ununterbrochen und kommen solche hyroklyfen zurück:


f€à!!Ø ¢áZPI$’I$PI$’I$PI$’I$PI$’I$f€à!!Ø ¢áZPI$’I$PI$’I$PI$’I$PI$’I$f€à!!Ø ¢áZPI$’I$PI$’I$PI$’I$PI$’I$f€à!!Ø ¢áZPI$’I$PI$’I$PI$’I$PI$’I$f€à!!Ø ¢áZPI$’I$PI$’I$PI$’I$PI$’I$f€à!!Ø ¢áZPI$’I$PI$’I$PI$’I$PI$’I$f€à!!Ø ¢áZPI$’I$PI$’I$PI$’I$PI$’I$f€à›]u]u°µ‰ Ĉº˜Q@CÁF?¶Gx`Ä}×Ñú¯ B³õ߯ï§ËJŸ¿½mÙš?ß땤ªúìப4ûE^‘¹a·EOöGn“¹–&ÝÓ8¹¼éYäN $°v GÓø¥3BÕË;…I™¾šþd1<#âÁ Aöu# ©µWá,ì j•‰WGJd\L¾_a¨WJ0¶ ]Û îÛjšŽ£¡—Ž¬"S¤D¢Z 8Ö©·j÷{m«ÛiiÊ|ié’‡Üéej–AD¨Q.už¿Õz@}ŒÁ«#®u!r¨¤ÔR© %¿¤ˆž^(ìí¦Ö¬SÉ&ümJ`NÙAâ°S¦ŠÔ(›uD¨ùŸÜ ¤à½™=“"Ò,æEï.Õº±BŒ×'‹rl Šdà„!sYolºÝˆgQÕ†êQqZ™>Ó3›“--—½³s“œq¶"]4Kp_:JŒÒÑüâûÝá¿‘ûgGø†“íþzo›¸wœG:¦ÛШ«=¤c`f>ÊeEü ûVZ‰i² *0ÎþÅ.]Ää5jè†#; ?s`Ó€ýí?j^h\  F 4Ò$ ‘V •5a/šÌ¢÷ Jž³ùî¯ú¹G ûh0d®›©ápü¬tÍ~Í–j‘Äïe%ê*Žvr¾ü;Z 2˜½ÀË‚u”5À`ºmŠÜ²2ËBƨxÙ8ÝY0 ¯.`ïÊd²öQ³h¹9TJJ⧄M@õǶ©¦WÿšþŲÿÙ«uó¼›`:ÐÁíƒ-‰m‚Œv ¿i‘-¦ü½bq«ZkÞ…‘F,£ ‰ëî,e@n«ŽÍFÚrÛJ|cåi5èÅ ØëAÑÔËÓˆºÆåÄÇþ‚€¥…kQÁÎ/ÍPAÚî@¢RÐ`ù'h<€ñû†ǬˆgFÞp'„4ßIÏ©¤IøŠv~¤D#C§/á ¯ò5_żɆc Wªg™æYSVQýýõñµLƒ õñ|â@5´üRà2h ÌL#7±p*Ö&þ÷”¶þ¯Þ½™À~ò#|C„yþÀÀŠ^Þo–çÒ…”žé²ß¦ñ¬,ýBxß  j›$ü–déil fjÖÈ[üչ˓µAø7ÏŪÅÆÅ…{¨çxÔü_«U¢žW3‡±H0èK@ßûª2',nÔEŒæ±zHV¼˜ŽuÀ^¸dóÅ ‚y>2)Æ Cø!À„%úU Ò{WË!fô ãËcê'“ÞÉxŽ…ŸùÚy}ò7ßä·d¿ñ}~þG}íS§·Õ¯ÜÔú£î¯Ø:¯ªý=Öý'£õ_] ®júÿ3«ý?,Vû!”™½Ÿ}é×)úß³ýý‰ž&ß;g¶?Öý¼p‡ÀÀ@‡Õm˜ßÛ%¬³ögFBÒ¡yDq$¸yˆÕþÀFÍød`’½šÎ l·!D<Ž`)µeùœ¨Ã›aB‰(0¥>Ñ5¡êJàžíŠÁ„‚數¬Ë|nó³XÊŽ†»8ì %²Øþ_Ë 0#b°ÃL„³b¨®Ï{gTl,»e \ , ’ViG°²#°• èßyÈR.G,RûûQpfR&÷O)uçÏÏ [ þÚ¬k?©-ØÓS¼ªsdY]q5f…©õAskÍ,Z#¡îJ .>l»U‡±™'Š‹?Ôk¬jo„‡êÀ<`Œ2wh8'NòÌnÅ=µ6Ó£A(G‰@? £`e²Õ o-Æ7üSÎw‘c|Ys‚"yÀÈÂEh«Ëai‹â= Ù¨Ÿ’k fôe dy×ç (×lX D( PxáU  ùªµ;Ψ0Ba?ÖXoôÛ tè}€ÂZ¶Áà?}1¹^2‘*¤Ê’Oôq>\$0ÛvE3–?ˆòSS§‰â°xÞYW«wD¿á®è•¡…£@ø %‹ÛìCûJü3zÎçñâv¸¦É;Üñ,’Ç*þ– ‹9jŠ²;ÕÑ-V¼®¨08š[ H” ûaV|!±=YO›Vß7¶t k;  €ø-P—.ØŒEg’øÀÍ'¥Áþϱ¿l@Å3d«©ñ]•iÚPL„5Z[õ·؍j·'J ÿÅ—e±i8J7\,Ùx·¶EX4 +,øÂÚ·}Õ¤™Ðî#çQ,D›É“§ªçè1FƒÊŒ5óo àÀêZ=R¹R®t×YèMV_½ZmFj]4*R‚Óø2aúk‘´ zül§?ñ:‚¦÷¯¾Qx  )Pøv½ p!eºÿ(<'ýp}qaå*IJª8qa"¯E‡BXúõ¤±. y8¿a¤&á¨Éz¸ ªÂ\´멱Г¹ž_Q†¹bâp© ҏ[aU˜v1¶Qƒw¢³KBXhýDÆnÏ_hæRÎ)"Äh×&ÖÄE^›$ˆEàç6†‰

aber der event

void s_NewFrame(object sender, videosource.CameraEventArgs e)
        {
            pictureBox1.Image = e.Bitmap;
        }

wird nicht aufgerufen

Im VLC geht es wenn ich http://192.168.100.40/snapshot.cgi eingebe.

458 Beiträge seit 2007
vor 15 Jahren

hyroklyfen

made my day.

be the hammer, not the nail!

998 Beiträge seit 2007
vor 15 Jahren

Dann schau das du ne pdb-Dateien bekommst und du die Library debuggen kannst, dann siehst du doch wo es hakt.

Kleiner Tip: In dem Stream sind die einzelnen Bildermit einem Boundary-String unterteilt, der unterscheidet sich von Kamertyp zu Kameratyp und muss manchmal angepasst werden (per Default ist es glaub myBoundary oder sowas...)

Gruß David

D
Dragon-Sword Themenstarter:in
125 Beiträge seit 2008
vor 15 Jahren

MJPEG.dll und Videosource.dll verwende ich nun.

Nun bekomme ich die Daten.
Allerdings erstellt die MJPEG kein Bild.
Folgende Methode gibt immer nur -1 zurück


public static int Find(byte[] array, byte[] needle, int startIndex, int count)
		{
			int	needleLen = needle.Length;
			int	index;

			while (count >= needleLen)
			{
				index = Array.IndexOf(array, needle[0], startIndex, count - needleLen + 1);

				if (index == -1)
					return -1;

				int i, p;
				// check for needle
				for (i = 0, p = index; i < needleLen; i++, p++)
				{
					if (array[p] != needle[i])
					{
						break;
					}
				}

				if (i == needleLen)
				{
					// found needle
					return index;
				}

				count -= (index - startIndex + 1);
				startIndex = index + 1;
			}
			return -1;
		}

F
240 Beiträge seit 2006
vor 15 Jahren

edit: D'oh, klammern lesen -.-

Ist zu früh. Sorry.

998 Beiträge seit 2007
vor 15 Jahren

in


byte needle[]

müsste der BoundaryValue stehen, wie schon oben gesagt kann es sein das du den spezifisch für deine Kamera anpassen musst. Bei MJPEG werden JPEG hintereinander weg in einen Stream geschrieben und durch ein BoundaryValue voneinander getrennt, je nach Kameratyp variiert dieser BoundaryValue (z.B. myBoundary). Diese Methode die du da hast ist die Methode die im Stream nach dieser BoundaryValue sucht. Also schau mit einem HexEditor mal den Stream durch und guck wie die einzelnen Images im Stream getrennt werden, dann änderst du das und es läuft.

Gruß David

D
Dragon-Sword Themenstarter:in
125 Beiträge seit 2008
vor 15 Jahren

Super hat klappt nun alles soweit.

jetzt habe ich nur noch das problem, dass die website über folgenden Code


function recordAVI()
    {
        var date = new Date();
        var filename = "Record" + "_" + date.getYear() + "_" + (date.getMonth() + 1) + "_" + date.getDate()
        + "_" + date.getHours() + "_" + date.getMinutes() + "_" + date.getSeconds() + ".avi"
    
        var ReturnValue;
        ReturnValue = document.IPCam_Plugin.recordAVI(filename);

	    if(ReturnValue == 0)
	    {
    	    if (recordStatus == 0) {
        	    document.enet.recBtn.value="Stop recording";
        	    recordStatus = 1;
    	    }
    	    else {
        	    document.enet.recBtn.value="Start recording";
        	    recordStatus = 0;
    	    }
	    }
    }

das aufzeichnen startet und ich weiss nicht wie ich an dieses IPCam_Plugin ran komme.