Webcam Motion JPEG Stream einbinden

Begonnen von ext23, 08 Februar 2014, 13:04:15

Vorheriges Thema - Nächstes Thema

ext23

Jupp ich kenn das script in der Art auch, vom mjpeg streamer. Aber gut ist auch klar das die alle gleich aussehen, machen ja auch dasselbe :-)

Also mit diesem Workaround da mhh das muss ich zu Hause echt mal ausprobieren, ich bin im Moment in Düsseldorf und da ist es so wo mjpeg nicht geht geht auch der workaround nicht. Aber ich hab hier auch nur eine Maschine zum testen. Wäre ja klasse wenn das auf meinem Tab zu Hause geht.

Gruß
Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

Kuzl

Ich kann wie gesagt leider nur vom Desktop Chrome berichten, dass es ohne Workaround nicht gegangen ist und mit geht es nun :) Beim Chrome auf dem Android Smartphone gehts auch, allerdings auch nur mit Workaround.
Ich streame übrigens mit Motion, kann sein dass das einen Unterschied macht.

Viele Grüße
Kuzl

ext23

Ich hab beides, Motion und mjpeg streamer, das sollte kein Unterschied machen. mjpeg ist mjpeg.

Naja ich bin mal gespannt, wenn es läuft umso besser ;-)
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

ext23

Hi, so wieder zu Hause, 5h von Düsseldorf nach Berlin... so eine freie Piste hatte ich schon lange nicht mehr ;-)

Aber leider haut das bei mir nicht hin, wie ich schon vermutet habe, da wo mjpeg direkt nicht geht, geht es auch mit dem Workaround nicht, ich sehe nur ein leeren transparenten Kasten :-( Schade.

Gruß
Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

ext23

Moin

Die Java Scripte haben übrigens allesamt ein Problem. Die cachen jedes einzelne Bild. Da kotzt dann irgend wann der Browser wenn das Stundenlang läuft. WebViewControl mag das auch nicht, da bricht der bei mir nach 10 Minuten ab.

Ist das bei euch auch so?

Gruß
Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

Kuzl

okay das ist sehr eigenartig warum geht das bei mir und bei dir nicht ???
Hast du dann versucht die Seite ein Paar mal neu zu laden? bei mir kommt manchmal auch nur das "Broken-Image"-Symbol

ich kenn mich zwar mit JS nicht aus, allerdings gibts da so einen Befehl, mit dem man das Cachen vom Browser deaktivieren kann, war bei mir auch drinnen.

Viele Grüße
Kuzl

ext23

Auf meine PC mir Firefox läuft es derzeit stabil, der cache schnell nach dem löschen auf 2,7 MB an und bleibt da. Aber das WebViewControl schießt es ab nach einiger Zeit, je nachdem welche Framerate ;-)

Btw. das ist der JS Code vom mjpeg streamer:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>MJPEG-Streamer</title>
</head>
<script type="text/javascript">

/* Copyright (C) 2007 Richard Atterer, richard©atterer.net
   This program is free software; you can redistribute it and/or modify it
   under the terms of the GNU General Public License, version 2. See the file
   COPYING for details. */

var imageNr = 0; // Serial number of current image
var finished = new Array(); // References to img objects which have finished downloading
var paused = false;

function createImageLayer() {
  var img = new Image();
  img.style.position = "absolute";
  img.style.zIndex = -1;
  img.onload = imageOnload;
  img.onclick = imageOnclick;
  img.src = "/?action=snapshot&n=" + (++imageNr);
  var webcam = document.getElementById("webcam");
  webcam.insertBefore(img, webcam.firstChild);
}

// Two layers are always present (except at the very beginning), to avoid flicker
function imageOnload() {
  this.style.zIndex = imageNr; // Image finished, bring to front!
  while (1 < finished.length) {
    var del = finished.shift(); // Delete old image(s) from document
    del.parentNode.removeChild(del);
  }
  finished.push(this);
  if (!paused) createImageLayer();
}

function imageOnclick() { // Clicking on the image will pause the stream
  paused = !paused;
  if (!paused) createImageLayer();
}

</script>
<body onload="createImageLayer();">

<div id="webcam"><noscript><img src="/?action=snapshot" /></noscript></div>

</body>
</html>


Ich seh da nur immer eine Variable die hochgezählt wird. Ich frage mich was passiert wenn die überläuft ...

Gruß
Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)