NEWS
[HowTo] rtsp mit ffmpeg für vis konvertieren
-
Ich hatte mich gestern zufällig mit Kameras und dem Pi auseinander gesetzt. Dabei bin ich auf das Programm Motion getroffen. Damit kann man zum Beispiel auch IP Kameras die keine Bewegungsmeldung können. Damit nachrüsten und diese auch weiter streamen
Gesendet von meinem Pixel mit Tapatalk
-
auf welcher Hardware hast du das laufen?
Kann man damit auch die Streams/Snapshots speichern oder werden die "nur" bereit gestellt?
-
Hab es nicht laufen. Wollte für mein Büro eine versteckte Kamera basteln.
Und hab dann das hier gefunden
Gesendet von meinem Pixel mit Tapatalk
-
in welcher Zeile wird dem FFmserver eigentlich die ip-Adresse der Kamera mitgeteilt? `
Die IP Adresse der Kamera wird im Javascript angegeben, siehe oben bei Punkt 3)in dieser Zeile "deb http://ftp.at.debian.org/debian jessie-backports main" bekomme ich immer einen Fehlet wegen eine public keys. `
Je nach Linux System ist die Installation ggf. anders, hierzu einfach googlen wie die ffmpeg Installation für das jeweilige System zu erfolgen hat.Muss die Zeile Httpbind 0.0.0.0 geändert werden? `
Nein, das hat damit nichts zu tun. -
Hallo eastcoast,
vielen Dank für die Antwort.
mit "ffmpeg -i "rtsp://192.168.178.yyyy/11/ucast" http://localhost:8090/ipcam1.ffm"; im Script bekomme ich den Server zum laufen.
Dies ist jetzt die Anzeige mit http://192.168.178.yyyy:8090/status.html
ffserver Status
Available Streams
Path Served
Conns
bytes Format Bit rate
kbit/s Video
kbit/s
Codec Audio
kbit/s
Codec Feed
ipcam1.mjpg 0 0 mpjpeg 1024 1024 mjpeg 0 ipcam1.ffm
ipcam1.jpg 0 0 singlejpeg 200 200 mjpeg 0 ipcam1.ffm
status.html 2 1944 - - - -
index.html 0 0 - - - -
Feed ipcam1.ffm
Stream type kbit/s codec Parameters
0 video 1024 mjpeg 480x390, q=1-4, fps=10
1 video 200 mjpeg 704x576, q=2-31, fps=2
Connection Status
Number of connections: 1 / 100
Bandwidth in use: 0k / 4096k
File IP Proto State Target bit/s Actual bit/s Bytes transferred
1 status.html 192.168.178.29 HTTP/1.1 HTTP_WAIT_REQUEST 0 0 0
Generated at Mon Feb 27 17:36:51 2017
die 192.168.178.29 entspricht aber weder der Ip Adresse vom Server noch der IP-Cam?
mit Aufruf von http://192.168.178.yyyy:8090/ipcam1.mjpg lädt Safari und lädt und Lädt ….....
wo sollte ich jetzt anfangen zu suchen?
viel Spass noch
Jens
-
…
die 192.168.178.29 entspricht aber weder der Ip Adresse vom Server noch der IP-Cam? `
Ich glaube die 192.168.178.29 ist die Adresse des Rechners womit du die Seite anzeigst.
@balear59:mit Aufruf von http://192.168.178.yyyy:8090/ipcam1.mjpg lädt Safari und lädt und Lädt …..... `
Ich vermute mal ffmpeg läuft noch nicht (siehe Punkt 5),also z.B. einfach mal im ioBroker.admin unter "Objekte" javascript.0-ffmpegCam-run von false auf true setzen.
-
Hallo,
Du hast recht. Die 29 ip ist der Mac. Der Server läuft auch nicht. Wenn ich über das Terminal auf den raspberry gehe und den Server mit /usr/bin/ffserver starte, bekomme ich keine Erfolgsmedung.
Bin jetzt leider ein paar Tage außer Haus.
Melde mich wieder
Viel Spaß noch
Jens
-
Der Server läuft auch nicht. Wenn ich über das Terminal auf den raspberry gehe und den Server mit /usr/bin/ffserver starte, bekomme ich keine Erfolgsmedung. `
Ich denke schon dass der ffserver läuft, sonst würde die status.html nicht angezeigt.Also wie schon zuletzt geschrieben, ffmpeg muss auch gestartet werden!
-
Hallo,
wie sieht das Script aus, wenn ich den FFMPEG Server auf einem anderen Host starte? Der Master(iobroker) läuft noch auf einem Pi2 und ich habe mir gedacht, der Pi3(Slave) hat mehr Bumms und ist nicht so ausgelastet.
Gruß Marco
-
wie sieht das Script aus, wenn ich den FFMPEG Server auf einem anderen Host starte? `
Wenn ffserver auf einem anderen Host läuft könntest Du hiervar ffmpegStartCmd = "ffmpeg -i \"ip-der-cam-here" http://localhost:8090/ipcam1.ffm";
einfach die "localhost:8090" auf die Adresse des ffserver ändern.
Mehr Ressourcen benötigt jedoch ffmpeg, desshalb würde es eher Sinn machen auch ffmpeg auf dem anderen Host zu betreiben.
-
Hi ich hätte da eine Frage, bin neu hier und habe iobroker erst am WE installiert und meine HM umgebung eingebunden.
jetzt fehlt mir noch meine Cam ich habe eine HiKam Q7 sowie eine A7 könnt ihr mir hier helfen wie ich diese angezeigt bekomme.
vielen Dank
Jörg
-
Hallo,
prima Anleitung. Danke fürs Teilen.
Läut super mit der ersten Cam.
Verstehe ich das richtig, dass ich dann für mehrere IPCams auch mehrere Scripte brauche oder kann ich die alle in ein Script schmeißen?
Grüße
-
Hallo,
prima Anleitung. Danke fürs Teilen.
Läut super mit der ersten Cam.
Verstehe ich das richtig, dass ich dann für mehrere IPCams auch mehrere Scripte brauche oder kann ich die alle in ein Script schmeißen?
Grüße `
ich schätze mal das du die Variable hier ändern kannst in z.B auch cam1 und den Pfad anpassen bzw. die ausgabeurl ändern
var ffmpegStartCmd = "ffmpeg -i \"rtsp://user:user@192.168.1.yyy:554/cam/realmonitor?channel=1&subtype=2\" http://localhost:8090/ipcam1.ffm";
Kamera 2
var ffmpegStartCmdCam2 = "ffmpeg -i \"rtsp://user:user@192.168.1.yyy:554/cam/realmonitor?channel=1&subtype=2\" http://localhost:8090/ipcam2.ffm";
Danach dann noch im dem Startabschnitt die Variable mitstarten
exec(ffserverStartCmd, function(err, stdout, stderr) { if (err) { console.log("ffserver error: " + stderr); }
darin noch einfügen (2. Kamera)
exec(ffmpegStartCmdCam2, function(err, stdout, stderr) { if (err) { console.log("ffserver error: " + stderr); }
-
Du meinst in Deinem 2. Abschnitt ffmpegStartCmd anstatt ffserverStart oder?
Sonst wäre ja der Eintrag doppelt… oder übersehe ich etwas?
-
ffserver läuft ja bereits….
einfach die variable ersetzen die du oben genommen hast (url zur 2. cam)
Und in der Config Datei (etc/ffserver.conf) noch die 2. cam als stream einfügen
! ````
########################################IP camera feed...
<feed ipcam1.ffm="">File /tmp/ipcam1.ffm
FileMaxSize 1M
ACL allow 127.0.0.1</feed>! ########################################
Streams...
<stream ipcam1.mjpg="">Feed ipcam1.ffm
Format mpjpeg
VideoQMin 1
VideoQMax 4
VideoFrameRate 10
VideoSize 480x390
VideoBufferSize 1024
VideoBitRate 1024
NoAudio
Strict -1</stream>
<stream ipcam1.jpg="">Feed ipcam1.ffm
Format jpeg
Qscale 2
VideoFrameRate 2
VideoSize 704x576
VideoIntraOnly
NoAudio
NoDefaults
Strict -1</stream>Alles ohne Gewähr…..ich habe das nicht getestet ;)
-
Es läuft! :lol:
Aber ich musste die ffserver.conf auch noch anpassen.
Wenn dort auch alle Streams drin stehen, klappt es prima.
Dankeschön für die Unterstützung!
Gruß
-
Bin grad am Testen. ffserver läuft schon mal.
Geht das ganze nur mit rtsp-streams oder auch mit http-streams?
-
Also ich nutze seit Jahren auf meinem Raspi das https://elinux.org/RPi-Cam-Web-Interface. Läuft sehr stabil und bietet extrem viele Einstellmöglichkeiten; so z.B. auch eine integrierte Bewegungserkennung.
Streams lassen sich per
http://<ip-adresse>/cam_pic_new.php?</ip-adresse>
einbinden oder per
http://<ip-adresse>:</ip-adresse>
direkt im Browser ansehen (Der Port ist nur nötig, wenn man vom Standardwert 80 abweicht). Zudem ist eine sehr einfache Konfiguration über den Web-Server möglich.
Gruß,
Thorsten
-
Bin grad am Testen. ffserver läuft schon mal.
Geht das ganze nur mit rtsp-streams oder auch mit http-streams? `
Das ist dann ein MJPEG Stream….also ein HTTP Stream.
Ja du kannst auch RTSP Stream von ffSERVER "konvertieren" lassen
Einfach zu probieren wenn du im Skript einfach mal einen anderen Stream zu ffServer schickst
-
Bin grad am Testen. ffserver läuft schon mal.
Geht das ganze nur mit rtsp-streams oder auch mit http-streams? `
Keine Ahnung was du mit "http-stream" meinst, aber prinzipiell kann ffmpeg so ziemlich alles konvertieren,auf deren Homepage gibt es detailierte Infos.