Livestream per image Widget

Begonnen von coolice, 22 September 2018, 14:11:48

Vorheriges Thema - Nächstes Thema

coolice

Hallo zusammen,

ich habe seid Ewigkeiten ein Livestream meiner IP Cam im TabletUi per image Widget eingebunden.
<div data-type="image"
       data-url="http://IP:Port/cgi-bin/hi3510/mjpegstream.cgi?-chn=11&-usr=USER&-pwd=PASSWORT"
       data-size="100%"
       class="nocache"></div>
</li>


Nun habe ich eine Update gemacht und der Stream bleibt ständig stehe. Ich muss immer manuell ein refresh machen.
Ist das bei anderen auch ? Kann in der Wiki nicht finden.

Gruß
Mirco

coolice

Laufen bei euch die Livestreams ?
Sehr merkwürdig


Gesendet von iPhone mit Tapatalk

Sailor

Hi coolice

Zitat von: coolice am 25 September 2018, 12:26:01
Laufen bei euch die Livestreams ?
Sehr merkwürdig

Hatte ein ähnliches Problem und habe es wie folgt gelöst:
(URL am Ende anpassen!)


<script type="text/javascript">

var imageNr = 0; // Serial number of current image
var finished = new Array(); // References to img objects which have finished downloading
var paused = true; // Do not start stream immediately to avoid having data streamed to the background popup


function findHighestZIndex(elem)
{
  var elems = document.getElementsByTagName(elem);
  var highest = 0;
  for (var i = 0; i < elems.length; i++)
  {
var zindex=document.defaultView.getComputedStyle(elems[i],null).getPropertyValue("z-index");
if ((zindex > highest) && (zindex != 'auto'))
{
  highest = zindex;
}
  }
  return highest;
}


setInterval( checkPageFocus, 200 );

function checkPageFocus() {
var info = document.getElementById("webcam");

if ( document.hasFocus() ) {
  paused = false;
  createImageLayer();
}
else {
  paused = true;
}
}

function createImageLayer() {
  var img = new Image();
  img.style.position = "absolute";
  img.style.zIndex = -1;
  img.onload = imageOnload;
  img.onclick = imageOnclick;
  img.src = "http://192.168.178.15:9000/?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/restart the stream
  paused = !paused;
  if (!paused) createImageLayer();
}
</script>

<div id="webcam"><noscript><img src="http://192.168.178.15:9000/?action=snapshot" /></noscript></div>


Jetzt habe ich das Problem, dass der Stream im Hintergrund weiterläuft auch wenn ich ihn nicht sehe.
Ich muss den Tab/Brower schließen um es zu unterbrechen...  ;D

Gruss
    Sailor
******************************
Man wird immer besser...