Anfänger Fragen vor dem Kauf - IP-Cam Stream auf (öffentlicher) Webseite einbinden

Hallo,
unsere Gemeinde beabsichtigt eine oder mehrere Webcams zu touristischen bzw. Werbe- Zwecken zu installieren und dann auf der Webseite zu präsentieren.
(um die rechtlichen Fragen kümmert sich im Vorfeld bereits (zum Glück) ein anderes Team…)

Es geht also hier nicht um das Thema Überwachung Bewegungserkennung usw…

Durch google habe ich schon gelernt, dass es ganz grob 2 verschiedene Möglichkeiten gibt „Kamerainhalte“ auf einer Webseite zu präsentieren.

1.) die Kamera speichert selbsttätig und ständig aktuelle („live“) Einzelbilder in einem bestimmten Intervall auf einem bestehenden FTP-Server.
Die Webseite zeigt diese Bilder einfach an, wahlweise auch mit "Rückspul-Funktion/ Animation / Zeitraffer so wie hier z.B.: olbernhau[dot]org/webcam.html

2.) echtes „Live-Streaming“ H264 oder RTSP
Die Webseite bindet den Stream z.B. als html5 ein,
z.B. wie hier beschrieben: wiki.instar.com/de/Erweitert/Webseiten_Einbindung/HTML5_Stream_Full_HD_Kameras/


Fragen zu 1.)

  • die IP-Kamera muss nicht durch feste IP oder DDNS „von außen“ zu erreichen sein, oder ?

  • welche Einzelbilder-Intervalle sind möglich („wie schnell“)


Fragen zu 2.)

  • die IP-Kamera muss durch feste IP oder DDNS „von außen“ zu erreichen sein, oder ?

  • wenn man den Stream in eine Webseite einbindet, wie hier beschrieben wiki.instar.com/de/Erweitert/Webseiten_Einbindung/HTML5_Stream_Full_HD_Kameras/
    wie viele verschiedene Webseitenbesucher können dann den Livestream gleichzeitig betrachten ? (ist das durch das Kamera-Modell limitiert ?)

  • anders herum gefragt: muss man nicht eine Art „Streaming Server“ betreiben, damit viele Webseitenbesucher gleichzeitig den Stream sehen können ?


was gäbe es im Vorfeld eines solchen Projektes aus eurer Sicht noch zu beachten (technische Aspekte) ?

Hallo @Freaxx ,

und willkommen im Forum.

  1. Beim FTP Upload muß die Kamera nicht aus dem Internet erreichbar sein - das ist der große Vorteil dieser Methode. Das Intervall beim FTP Upload kann zwischen 1s und 86400s liegen - wobei ein 1s-Intervall auch im lokalen Netzwerk häufig nicht realisierbar ist. Aber wenn man das Netzwerk und das Internet dafür hat ist es möglich.
  • In den Einstellungen kann man dann vorgeben, dass das Bild immer den gleichen Namen haben soll, so das man immer nur eine Version auf dem Webserver liegen hat - das macht Sinn, wenn man das Bild statisch einbinden möchte und bei jedem Seitenladen das aktuellste vorhandenen Bild anzeigen lassen möchte.

  • Alternativ kann man den Namen des Bildes aus einem Zeitstempel generieren lassen und benötigt dann ein Skript das den Upload Ordner im Auge behält und sich immer das neueste Bild schnappt und in die Webseite einbindet - sowas ließe sich dann auch zu einem Standbild-„Videostream“ zusammensetzen.

  1. Für das direkte Einbinden ist der Fernzugriff (DDNS + Portweiterleitung) notwendig. Neben dem oben verlinkten HTML5 Videostream für die Webseite, gibt es auch noch den Web über WebRTC:
  • Die Kamera - unabhängig vom Modell - lässt aber nur 3 zeitgleiche Zugriffe zu!

  • Wenn man mehr braucht, müsste man auf eine Streaming Software zurückgreifen. Das geht zum Beispiel mit unserer InstarVision für Windows. Oder mit OpenSource Software wie OBS - im folgenden Beispiel wird gezeigt wie man den Stream auf Youtube, Twitch, usw. läd:

Wenn man das auf die eigene Webseite bringen möchte muß man auf dem Server entsprechend noch etwas vorarbeit erbringen - RTMP Server aufsetzen, Videoplayer bereitstellen, …

ah, OK,
ich ‚befürchtete‘ so etwas schon

OK, wenn man bei bei diesem Beispiel bleibt
und man hat sagen wir 3 verschiedene Kameras (an 3 verschiedenen Orten in der Gemeinde)
kann dann ein zentraler Windows PC oder Linux-Server mit installiertem InstarVision oder OBS diese 3 Kameras auf 3 verschiedene Youtube Livestreams streamen ?
oder braucht man 1 PC pro Kamera,
oder 1 PC mit 3 parallel laufenden InstarVision oder OBS -Instanzen ?


oder wenn man youtube nicht nutzen möchte

ist RTMP Server nicht nur für Flash-Player ? (den gibt’s ja nun nicht mehr)

„muß man auf dem Server entsprechend noch etwas vorarbeit erbringen“

damit ist der Server gemeint, auf dem auch die eigene Webseite läuft, oder ?
Und dennoch benötige ich auch hierbei zum „hinsenden“ zu diesem RTMP Server immer noch wie oben beschrieben (einen ständig laufenden PC mit) InstarVision oder OBS, richtig ?

(sorry … viele noob-Fragen)

Mit der InstarVision wird sofort ein Stream generiert, den man in der eigenen Webseite einbinden kann. Die InstarVision kann dabei über DDNS oder P2P auf die Kameras zugreifen, die Live-Streams also bündeln und dann zum Webserver senden und muß nicht am gelichen Ort stehen wie die Kameras (man benötigt also nur eine Lizenz). Damit umgeht man das 3-User Limit der Kameras, da nur die InstarVision direkt auf die Kamera zugreift.

Die InstarVision kann nicht auf Youtube streamen! Das geht nur mit OBS.

RTMP ist nur ein Protokoll mit dem man Video übers Netz leiten kann - unter anderem wurde es von Flash verwendet. Ist davon aber unabhängig.

Es gibt zum Beispiel von NGINX ein Modul das den RTMP Stream von OBS entgegen nehmen und ihn dann in einer Webseite bereitstellen kann:

Es ist aber nicht trivial sowas aufzusetzen. Ggf. ist es bequemer den Umweg über Youtube und Co. zu gehen und das Video dann von dort einzubinden.

Es wird ein Server benötigt auf dem durchgehend OBS läuft (wie bereits oben gesagt, die InstarVision erzeugt keinen RTMP Stream und kann dafür nicht verwendet werden.)

Nur eine Zwischenfrage: Kann ein RaspberryPI auch diese Aufgabe erledigen? Wegen Anschaffungskosten, Stromkosten etc?

Mein RP3 definitiv nicht - ein 4er scheint aber auszureichen:

wow … klasse Support !

OK,
bleiben wir mal genau bei diesem konkreten Beispiel
ständig laufender PC mit InstarVision und 3 IP-Kameras, welche irgendwo in der Gemeinde verteilt sind…
Was muss ich dann noch auf dem Webserver (der Webseite) machen, um diese 3 Streams in die Webseite einzubinden ?
„RTMP Server“ wie oben erwähnt auch in diesem Szenario nötig ?

(Hintergrund: möchte möglichst wenig auf dem Webserver der Webseite machen / verändern)

„Mit der InstarVision wird sofort ein Stream generiert, den man in der eigenen Webseite einbinden kann.“
[…]
…die Live-Streams also bündeln und dann zum Webserver senden …

wie sieht dass dann genau für den Webseitenbesucher aus ?
wie kann er auf die 3 verschiedenen Webcams zugreifen / „umschalten“ ?
ich möchte kein 3in1 Stream / 3in1 Bild …

Die InstarVision hat einen Webserver, der den JPG Stream der eingebundenen Kameras bereitstellt. Wenn man direkt auf die Weboberfläche der InstarVision zugreift, kann man Beispiel HTML Code sehen mit dem man das ganze in eine Webseite einbinden kann:

instarvision

Das wäre mit Abstand der einfachste Weg das zu realisieren. Sobald man Bild mit Ton Braucht geht es nur entweder direkt von der Kamera - über den HTML5 Stream oder per WebRTC - oder mit einer Streaming Software wie OBS und einen entsprechenden Empfänger auf der Webserver -seite (bzw. wenn es über Youtube läuft, braucht man natürlich nur noch das Youtube Video in die Webseite einbetten).