Zum Ende der Metadaten springen
Zum Anfang der Metadaten

Der Türsteuerungsbaustein von Loxone setzt den etwas angestaubten MJPEG-Stream voraus. Da ich mich dieser Limitierung nicht unterwerfen wollte, habe ich nach Möglichkeiten gesucht, Kameras mit bspw. h.264 Stream zu transcodieren. Es gibt die Möglichkeit die Software VideoLANClient dafür einzusetzen. Allerdings funktioniert das nicht immer stabil. Zum einen fand ich die Qualität des VLC transcodierten Streams unzureichend und zum anderen hatte ich oft Abbrüche des Streams. Einen schönen und stabilen Stream habe ich nicht hingebracht.

Hier eine Anleitung mit der ich momentan* sehr glücklich bin.  * läuft seit Anfang 100% stabil

 

LoxBerry Plugin

Die hier erläuterte Lösung gibt es mittlerweile als fertiges LoxBerry-Plugin. Das Plugin kann einfach ohne Kommandozeilen-Kenntnisse konfiguriert werden. Weitere Informationen hier: CamStream4Lox


Voraussetzung

FFmpeg muss installiert sein. Da die Installation betriebssystemabhängig (Windows, Debian, Rapsian, Ubuntu, etc.) ist, bitte hierfür Dr. Google zu Rate ziehen. Ich selbst habe FFMPEG auf einer Loxberry VM laufen. 

für Debian 8.0 (Jessie)https://www.assetbank.co.uk/support/documentation/install/ffmpeg-debian-squeeze/ffmpeg-debian-jessie/

für Qnap: 3rd Party Appstore - FFmpeg App - Problem hier: damit der FFServer nach dem Neustart der Qnap wieder funktioniert muss man auf der Console manuell starten. Ein Autostart geht zwar auch, dafür muss man sich aber schon wirklich auskennen mit der Qnap. rc.local geht nämlich aus Sicherheitsgründen bei Qnap nicht mehr.

Platzhalter für weitere bestätigte Betriebssysteme bzw. Quellen

Konfiguration

Folgende Konfiguration funktioniert mit Debian (und vermutlich jeder anderen Linux Distribution)

  1. Einloggen als root

Hinweis: beim Loxberry kann man sich meines Wissens per default nicht als root anmelden. Bei der Installation von Loxberry hat man einen Konsolenuser angegeben. Diesen verwenden und dann auf der Konsole mittels "su -" und dem entsprechenden "root" Passwort anmelden


2. ffserver Konfiguration

(mit dem Editor eures Vertrauens) die /etc/ffserver.conf Datei wie folgt anpassen // die ffserver.conf kann an einem beliebigen Ort liegen, muss dann halt beim Aufruf von ffserver mittels Parameter -f /PFAD/ gestartet werden

Hinweis: ich habe selbst nur die in pink gehaltenen Parameter angepasst

HTTPPort xxxx // beliebiger freier Port auf dem der Stream dann letztendlich abgerufen wird
HTTPBindAddress 0.0.0.0
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 1000000
CustomLog -

<Feed feed1.ffm>
File /tmp/feed1.ffm
FileMaxSize 20M
Launch ffmpeg -i "rtsp://[IP-ADRESSE]:[PORT]/[STREAM]" // Quelle=IP der Kamera, des zu konvertierenden Streams. zB: "rtps://192.168.1.30:554/s2"
</Feed>

<Stream s2.mjpg// Name wie der http Stream dann letztendlich heißt
Feed feed1.ffm
Format mpjpeg
VideoBitRate 10000
VideoFrameRate 15
VideoSize 800x450 // Auflösung des konvertierten Streams
VideoIntraOnly
NoAudio
Strict -1
NoDefaults
</Stream>

 

3. ffserver starten und testen

Nachdem die ffserver Konfiguration nun fertig ist, können wir den Stream testen. Einfach das Kommando "ffserver" aufrufen.


4. beliebigen Internetbrowser starten und die Adresse eingeben

 http://[IP-ADRESSE oder Name des Servers]:[HTTPPort]/[Stream]

Beispiel: http://loxberry:8090/s2.mjpg oder http://192.168.1.39:8090/s2.mjpg


5. ffserver automatisch starten beim Systemstart

(mit dem Editor eures Vertrauens) die /etc/rc.local Datei wie folgt anpassen

 

su loxberry -c "ffserver" // loxberry bezieht sich auf meine Konfiguration. Hier einfach den User eures Systems verwenden

(mit dem Editor eures Vertrauens) die /etc/init.d/ffserver Datei wie folgt anpassen

Loxone

Die Anbindung an Loxone hijacke ich einfach, da sie von Michael Schlenstedt bereits bestens dokumentiert ist:

Kamera ohne MJPEG Stream im Türsteuerungsbaustein verwenden

 

Verwandte Artikel

Kamera ohne MJPEG Stream im Türsteuerungsbaustein verwenden

Webcams / Videokameras

2 Kommentare

  1. Daniel J. sagt:

    Hallo zusammen,


    habe das so eingerichtet, funktioniert leider nicht. Ubuntu 16 FFmpeg, kannt über die IPAdresse nichts aufrufen. Hat jemand einen Rat?

    ffserver version 3.4.2-1~16.04.york0.2 Copyright (c) 2000-2018 the FFmpeg developers
    built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.9) 20160609
    configuration: --prefix=/usr --extra-version='1~16.04.york0.2' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
    libavutil 55. 78.100 / 55. 78.100
    libavcodec 57.107.100 / 57.107.100
    libavformat 57. 83.100 / 57. 83.100
    libavdevice 57. 10.100 / 57. 10.100
    libavfilter 6.107.100 / 6.107.100
    libavresample 3. 7. 0 / 3. 7. 0
    libswscale 4. 8.100 / 4. 8.100
    libswresample 2. 9.100 / 2. 9.100
    libpostproc 54. 7.100 / 54. 7.100
    Wed Jul 18 01:37:11 2018 Codecs do not match for stream 0
    Wed Jul 18 01:37:11 2018 [ffm @ 0x55e98c9bc060]Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
    Wed Jul 18 01:37:11 2018 FFserver started.
    Wed Jul 18 01:37:11 2018 Launch command line: ./ffmpeg -i rtsp://10.20.30.15:7447/59e3a0bb9008c9ccfaaf743e http://127.0.0.1:7777/feed1.ffm
    feed1.ffm: Pid 58784 exited with status 256 after 0 seconds

    1. Hi Daniel,

      sei so gut und erstelle eine Thread im Forum. Im Wiki wirds sonst vielleicht unübersichtlich.

      Poste dort deine Config und welche Cam du verwendest.