• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Videokamera-Stream relay, entlasten, aber wie?

theman

Newbie
Hallo, ich bitte dringend um Hilfe!


Ich besitze eine bereits voll konfigurierte Netzwerk-Videokamera, die Kamera liefert zugleich zwei Videostreamformate. Die zwei Formate der Kamera sind: MPEG-4 und MJPEG.

Beide Videostreams sind gebrauchsfertig unter
  • rtsp://user:password@CameraIPAddress:554/img/media.sav
  • http://user:password@CameraIPAddress/img/video.mjpeg
direkt am integrierten Server der Kamera abzurufen, was mittlerweile ohne Probleme funktioniert.

Nun möchte ich dieses Videostreams auf einer Webseite einbinden, da ich aber nur eine normale Breitbandverbindung an der Kamera angeschlossen habe, kann ich nicht alle Benutzer direkt auf die Kamera verweisen, deswegen möchte ich einen Server zwischenschalten, der nur einen Stream der Kamera empfängt, diesen dann an beliebig viele Clients (Webseiten-Besucher) verteilt, somit liegt die Last am Server, und nicht mehr auf der Internetverbindung zur Kamera!

(Info: Mulicast ist im Internet leider nicht möglich!)



Meine Problem:

Ich bin nun schon fast am verzweifeln, da ich die Streams ja schon optimal codiert erhalte, brauche ich nur noch ein Programm, dass die Daten des Streams empfängt, und unverändert an alle über die Webseite zugreifenden Clients verteilt! Am liebsten eine Software für Linux, da ich einen Linuxserver betreiben möchte.

Alles was ich finde, akzeptiert meist nur Formate die mir nichts nützen, encodiert und codiert den Stream in andere Formate vor der Weiterleitung oder erstellt für jeden neuen Client eine neue Verbindung zur Kamera, was natürlich den Sinn des Servers, der die Kamera entlasten sollte, stark in Frage stellt...


Könnt ihr mir also bitte verlässliche Software nennen, die meine Anforderungen erfüllt, am liebsten würde ich das MJPEG-Format weiter benutzen? Könntet ihr mir auch ein Beispiel zur Konfiguration der Software geben, besten Dank im Voraus.


Zusammenfassung:
Ich suche eine Software, für Linux, die einen MPEG-4 oder MJPEG-Stream über das Internet empfangen kann, diesen aber dann an beliebig viele Clients verteilt, wenn diese auf den Server, der die Software betreibt zugreifen. Somit kann ich die Netzwerkverbindung der Kamera entlasten, das die Zugriffe auf den Server erfolgen sollen.

Das Einbinden des Streams in meine Webseite über einen Webserver ist nicht mein Problem, nur das Relay am Server...

Nochmal Danke

Gruß

Markus
 

TomcatMJ

Guru
Hi!
Vielleicht wäre eine Kombination von ffmpeg, vloopback-Kernelmodul und camsource da ein passender Weg zum gewünschten ergebnis. Mit ffmpeg kann man soweit ich mich recht entsinne auch als Ausgabe auf eine mit dem vloopback-Kernelmodul erstellte Pipe und somit auf das entsprechende vom vloopback-Modul erstellte Fake-v4l Dummydevice ausgeben was dann wiederum von Camrouce als Device zum Streamen genutzt werden kann. Auf der Serverseite sollte man dann den Serverpart des ffmpeg Pakets zum ausliefern an die Clients nutzen und dort als Eingabe den Stream vom heimischen camsource (muss natürlich dann per dyndns-Dienst erreichbar sein wenn keine feste IP vorhanden ist) nehmen. Für die Einbindung von ffmpeg auf einer Website kann man sich eigene Lösungen mit z.B. iframes recht einfach bauen oder z.B. das passende Modul für sein bevorzugtes CMS nutzen, z.B. gibt es da wohl auch eines für Gallery2 was wiederum in Drupal oder Joomla integriert werden kann.

Hoffe mit den Infos schonmal weitergeholfen zu haben auch wenns nun keine konkrete Lösung ist sondern nur schonmal paar spontane Gedanken zum Problem an sich ;)

Bis denne,
Tom
 
OP
T

theman

Newbie
Danke erstmal, werde ich mir ansehen, wobei mir natürlich eine kompaktere Lösung lieber wäre, so klingt das ganze nicht gerade Fehlerunanfällig... ich muss es aber recht stabil für viele User zum laufen bringen...


Was ich mich jetzt aber generell frage, gehen wir mal weg vom Videostream eine Ebene höher, zum Protokoll http oder rtsp, gibt es hier eigentlich auf der Netzwerkbasis keinen Dienst oder Programm das, so ähnlich wie eine Mischung aus cache proxy und Portweiterleitung, Anfragen übernimmt, natürlich dürfte er nichts cachen da es ein Stream ist, aber er müsste ja nur die Anfragen entgegen nehmen, an dem gewünschten Port und halt einfach die Daten die er von der Kamera bezieht, an alle diese Anfragen verteilen.

Dann hätte ich immer noch nur eine Verbindung zu Kamera, der Server hat dann die Last, weiß da wär was im Netzwerkbereich?


Ansonsten bitte ich natürlich weiterhin um Vorschläge für Streamserver-Programme die ein Relay für die im ersten Post genannten Anforderungen erstellen können...

Danke Euch
 
Oben