After the recording (or even during) try running an ffprobe since the figures in the logs can sometimes lie.
For example, on a failed recording I have, it says it is 3600 seconds (an hour), but it's not, that was just how long it was scheduled. "start" and "stop" are seconds from 1970, so the difference in the first example was 10800 seconds or three hours.
ffprobe /path/to/my/file/from/dvr/log.ts
==>
Duration: 00:08:02.50, start: 41286.860267, bitrate: 4411 kb/s
---------
I ranffbrobe and got the following:
--enable-thumb
libavutil 55. 58.100 / 55. 58.100
libavcodec 57. 89.100 / 57. 89.100
libavformat 57. 71.100 / 57. 71.100
libavdevice 57. 6.100 / 57. 6.100
libavfilter 6. 82.100 / 6. 82.100
libavresample 3. 5. 0 / 3. 5. 0
libswscale 4. 6.100 / 4. 6.100
libswresample 2. 7.100 / 2. 7.100
libpostproc 54. 5.100 / 54. 5.100
[mpeg2video
0x646c20] Invalid frame dimensions 0x0.
Last message repeated 9 times
[mpegts
0x641fe0] PES packet size mismatch
Last message repeated 1 times
Input #0, mpegts, from '/usr/local/tvheadend/var/recordings/Morning-Joe/Morning-Joe2018-10-0906-00-E644.ts':
Duration: 02:00:00.50, start: 50802.989467, bitrate: 10861 kb/s
Program 749
Stream #0:0[0x1d43]: Video: mpeg2video (Main) ([128][0][0][0] / 0x0080), yuv420p(tv, top first), 1920x1080 [SAR 1:1 DAR 16:9], Closed Captions, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Stream #0:1[0x1d44]: Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, 5.1(side), fltp, 384 kb/s
Stream #0:2[0x1d45]: Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, stereo, fltp, 192 kb/s
------
So it looks like the file recorded for exactly 2 hours. And I can play the video with Kodi through to the end of the 2 hour mark. BTW, the video should have recorded for another 40 minutes ...