Mir ist es jetzt gelungen Live Streams von Hikvision und JVC Kameras per HTML5 in die SV zu integrieren.
Für die Streamkompatibilität zu HTML5 habe ich ffmpeg installiert und die Kamerastreams auf das Format webm gewandelt.
Getestet mit Firefox und Chrome
HTML5 Browserkompatibilität für <video></video> Tag
Das mp4 Format und restreaming mit RTSP aus ffmpeg habe ich habe ich nur im VLC erfolgreich testen können. Ich werde bei Gelegenheit weiter versuchen um die Kompatibilität zum Safari zu bekommen. Der Safari unterstützt nur das mp4 Format
Nachfolgend die Anleitung (bei mir unter Debian Jessie installiert)
ffmpeg installieren
Konfiguration ffserver.conf (liegt nach der Installation von ffmpeg in /etc/
Bei mir für 2 Kameras konfiguriert
Den ffserver starten mit
HTML Code
Mit den Stream - Einstellungen im ffserver muss jeder selber experimentieren sind teilweise abhängig von den Einstellungen der Kamera.
Ich bin diesbezüglich auch noch am optimieren.
Eine Übersicht der Parameter findet man hier: https://ffmpeg.org/ffmpeg.html
Gruß
Michael
Für die Streamkompatibilität zu HTML5 habe ich ffmpeg installiert und die Kamerastreams auf das Format webm gewandelt.
Getestet mit Firefox und Chrome
HTML5 Browserkompatibilität für <video></video> Tag
| Type | IE | Firefox | Safari | Chrome |
| Ogg (Source type=video/odd) | nein | ab 3.5 | nein | ab 5.0+ |
| MPEG 4 (Source type=video/mp4) | ab 9.0 | nein | ab 3.0+ | ab 5.0+ |
| WebM (Source type=video/webm) | nein | ab 4.0 | nein | ab 6.0+ |
Nachfolgend die Anleitung (bei mir unter Debian Jessie installiert)
ffmpeg installieren
Konfiguration ffserver.conf (liegt nach der Installation von ffmpeg in /etc/
Bei mir für 2 Kameras konfiguriert
Code:
HTTPPort 8090
RTSPPort 5454
HTTPBindAddress 0.0.0.0
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 1000
CustomLog -
###EINGANGSTÜR HIKVISION####
<Feed feed.ffm>
File /tmp/feed.ffm FileMaxSize=5G
Launch ffmpeg -i rtsp://user:pass@10.x.x.x:554/Streaming/Channels/1 -c copy
#IP Bereich der zugreifen darf###
ACL allow 127.0.0.1
ACL allow 10.x.x.0 10.x.255.255
</Feed>
<Stream stream.webm>
Feed feed.ffm
Format webm
VideoCodec libvpx
AVOptionVideo flags +global_header
AVOptionVideo cpu-used 0
AVOptionVideo qmin 10
AVOptionVideo qmax 51
AVOptionVideo quality good
AVPresetVideo main
PreRoll 0
StartSendOnKey
VideoBitRate 1000
VideoSize 480x272
NoAudio
</Stream>
###GARAGE JVC###
<Feed feed2.ffm>
File /tmp/feed2.ffm FileMaxSize=5G
Launch ffmpeg -i rtsp://user:pass@10.x.x.x/PSIA/Streaming/channels/2 -c copy
ACL allow 127.0.0.1
ACL allow 10.x.x.x 10.x.255.255
</Feed>
<Stream stream2.webm>
Feed feed2.ffm
Format webm
VideoCodec libvpx
AVOptionVideo flags +global_header
AVOptionVideo cpu-used 0
AVOptionVideo qmin 10
AVOptionVideo qmax 51
AVOptionVideo quality good
AVPresetVideo main
PreRoll 0
StartSendOnKey
VideoFrameRate 5
VideoBitRate 512
VideoSize 640x360
NoAudio
</Stream>
Code:
ffserver -d -f /etc/ffserver.conf
Code:
{% block content %}
<div class="block" style="width: 100%;">
<div class="set-2" data-role="collapsible-set" data-theme="c" data-content-theme="a" data-mini="true">
<div data-role="collapsible" data-collapsed="false">
<h3>Garage</h3>
<div class="image">
<video controls>
<source src="[URL="http://msr-visu.stemmer-michael.de:8090/stream2.webm"]http://<IP-ffserver>:8090/stream2.webm[/URL]" type="video/webm">
</video>
</div>
</div>
</div>
</div>
{% endblock %}
Ich bin diesbezüglich auch noch am optimieren.
Eine Übersicht der Parameter findet man hier: https://ffmpeg.org/ffmpeg.html
Gruß
Michael

