Here's how I understand it. I'm not a NVR expert, nor did I stay in a Holiday Inn Express last night, so this is all FWIW. If I'm way off base, I'm sure one of the resident gurus will get this thread back on the rails.
The issue happens because of how the Dahua NVR handles recording Motion Detection and IVS events (like line crossing, intrusion detection, etc)...
The NVR creates separate recordings for those events, which IMO is actually cool because you can just go and download the video file .... it's already "cut" for you.
The problem (at least with my NVR) is that those separate recordings rarely start with an iFrame, which is the only frame of video that the cameras send that has "everything in the shot". The frames the cameras send between iFrames only contain information about what motion changed relative to the frame before it.
When you try to play back a file that doesn't start with an iFrame, most video players (including the NVR) will show you nothing (i.e. a black frame) until it plays far enough into the file to come across an iFrame. So the NVR isn't technically cutting out any frames, it's just starting most files with frames that aren't useful.
You can configure the iFrame interval on each of your cameras down to where one is sent each second, which will help shorten the black blips. The Dahua default value is to send one every two seconds.
@EMPIRETECANDY has let Dahua support know about this. I don't know if they're actively working on this issue.
Two workarounds I've seen folks post about involve setting the NVR to *not* record Motion Detection or IVS events. Instead of recording, they have the camera (or NVR) set to send an email <or store a snapshot> anytime these events occur. They then use the date/time of the email (or the snapshot) to manually scrub through the timeline to find the event.
Personally, I deal with enough IVS and Motion Detection events that those workarounds aren't for me. I've setup
Blue Iris on an old PC and am using that as my primary NVR now.