For anyone who finds this post in the future and is having a similar issue, I resolved the streaming corruption issue by getting the stream directly from the camera, rather than through the Hikvision NVR (DS-7716NI).
I tried the August 2017 update with ffmpeg v3.1.9 but still the corruption remained. Linux Kodi seems to be the only platform with this problem, all my other devices were quite happy, so I can’t explain why it’s a problem, but I’ve got a workaround so on with life!
For anyone in a similar situation, here’s how to access the cameras when they are on the private NVR network:
- Enable Virtual Host (in Advanced Networking config) on the NVR so you can get to each camera’s web config page.
- Add a route on your router for 192.168.254.0/24 via whatever the usual IP address is you use to access your NVR.
- Logon to each camera (see System > “Camera Management” on the NVR for the URL) and:
** Add 192.168.254.1 as a default gateway IP address.
** Create a viewer user with only “Live View” privileges. - Create a text file in a Kodi video source for each camera called CameraName.strm. The file should contain the line:
rtsp://viewonlyusername:password@192.168.254.x:554/Streaming/Channels/101
(where x is the IP of the camera)
I hope this helps someone in the future.