I've just bought a cheap "gray market" Hikvision camera DS-IPC-B12H-I. It has V5.5.71 build 180828 firmware and chinese UI (I can live with this).
I've discovered problems with getting corrupted H.264 stream via TCP (fails to play sometimes and ffmpeg shows errors). But what's more worrying is that even web UI fails to load due to corrupted data.
For example, If I try downloading WebComponents.exe - 1 out of 5 times I get it corrupted.
The same happens with some (random) .js files and I have to refresh multiple time with cache disabled to get the Web GUI loaded.
I tried capturing packets and discovered that the camera sends a part of the data 2nd time to the same stream while keeping file size to its correct value. This basically produces corrupt files.
I believe that this might be related to the fact that the camera is connected to a cheap 100mbps PoE switch/injector which causes delays and packets drops. But it's TCP - it's supposed not to allow data corruption.
I'd try upgrading firmware, but I can't any firmware for "5xx5" (whatever this means), but Hikvision web site has version 5.5.60 while my camera is 5.5.71.
Is it always like this with Hikvision or did I just got a specially buggy firmware?
I've discovered problems with getting corrupted H.264 stream via TCP (fails to play sometimes and ffmpeg shows errors). But what's more worrying is that even web UI fails to load due to corrupted data.
For example, If I try downloading WebComponents.exe - 1 out of 5 times I get it corrupted.
Code:
$ seq 10 | xargs -I{} sh -c 'wget -q -O - "http://192.168.1.203/codebase/WebComponents.exe" | md5sum'
e517b857d0866f621f1e5b211cba168a -
e517b857d0866f621f1e5b211cba168a -
b4ee1a94207d2de02c87a5d748255dfc -
e517b857d0866f621f1e5b211cba168a -
e517b857d0866f621f1e5b211cba168a -
e517b857d0866f621f1e5b211cba168a -
b0ba5720457cffed3852c11fd65f4877 -
e517b857d0866f621f1e5b211cba168a -
e517b857d0866f621f1e5b211cba168a -
e517b857d0866f621f1e5b211cba168a -
The same happens with some (random) .js files and I have to refresh multiple time with cache disabled to get the Web GUI loaded.
I tried capturing packets and discovered that the camera sends a part of the data 2nd time to the same stream while keeping file size to its correct value. This basically produces corrupt files.
I believe that this might be related to the fact that the camera is connected to a cheap 100mbps PoE switch/injector which causes delays and packets drops. But it's TCP - it's supposed not to allow data corruption.
I'd try upgrading firmware, but I can't any firmware for "5xx5" (whatever this means), but Hikvision web site has version 5.5.60 while my camera is 5.5.71.
Is it always like this with Hikvision or did I just got a specially buggy firmware?