CAMNET
CNS file inspector
cnsdump.exe
How to use:
      C:\>\camnet\bin\cnsdump.exe
      CnsDump filename.cns -a#   v[Apr 30 2015]
       -a0  stats only
       -a1  log intra-frames in index
       -a2  log intra-frames
       -a3  log all video frames
       -a7  log all A/V frames
      
       example:   cnsdump 20130704.CNS -a0
Below is a sample output (tab width 8 suggested), using  cnsdump.exe 20150501.CNS -a0  which for this (-a0) dumps the recording file stats to the output file 20150501.CNS.txt.
      BEGIN check of '20150501.CNS' for camnetserver\cam_m1031
      0.000 T_FILE_INFO
                recordingId:  camnetrecording
             properlyClosed:  1 (0=no, 1=yes)
              indexItemSize:  8 bytes
             indexPrecision:  2 seconds
              discontinuity:  0 times
            dataStartOffset:  80000   (524288)
      nextDataWriteOffset64:  2dc2288         (47981192)
           firstIndexOffset:  10000   (65536)
         firstIndexSlotUsed:  22285
          lastIndexSlotUsed:  41706
       lastIndexSlotFlushed:  41706
            indexTotalBytes:  458752  (usable: 360000)
             indexIsInvalid:  0 times
            isAudioDataOnly:  0
       fixedNextWriteOffset:  0 times (for any T_FILE_INFO fix)
             resumeRunCoumt:  24 times (resumed recording from close)
           frameEpilogBytes:  16
       tzBiasAtHostAtCreate:  300 minutes
                   tzBiasId:  2 (0=always std, 1=standard time, 2=daylight time)
                   marker40:  40
               createdUtc64:  2015-05-01 17:22:49.182 UTC
               flushedUtc64:  2015-05-02 04:30:42.132 UTC
              serverCamName:  camnetserver\cam_m1031
               computerName:  WIN864
                   userName:  
      eventsLastFlushedTick:  53161312
       eventRecsAtLastFlush:  44
        firstEventRecOffset:  1000    (4096)
        eventRecsTotalBytes:  49152   (3072 max. event records)
                  eventRecs:  44
               eventRecSize:  16 bytes
      eventRecTimePrecision:  2 seconds
        Most Recent SDP Info  ----
                       wide:  480
                       high:  368
                       crop:  yes     (left= 0, top= 0, right= 0, bottom= 8)
             codecTypeVideo:  8       (H.264)
                 profileIdc:  66      (H.264 & MPEG-4/part2)
                 profileIop:  0       (H.264)
                   levelIdc:  41      (H.264)
                     spsLen:  19      (H.264)
                     ppsLen:  4       (H.264)
                       fpsF:  30.0
             codecTypeAudio:  2       (AAC_LC)
                audioConfig:  1408    (5128)
          audioDecoderFlags:  0
            audioSamplerate:  16000
              audioChannels:  1
         audioBitsPerSample:  16
             audioBitrate_k:  16
                        SPS:  67 42 0 29 e3 50 3c 17 fc b8 b 70 10 10 1a 41 e2 44 54 
                        PPS:  68 ce 3c 80 
      lastFrameTimeLinear-V:  690.397 seconds
      lastFrameTimeLinear-A:  690.368 seconds
          lastSeqNoLinear-V:  19172
          lastSeqNoLinear-A:  10751
      lastFrameDurationMs-V:  36
      lastFrameDurationMs-A:  67
                              ----
      0.015 T_FILE_INFO rc= 0
       ~~
      0.015 T_FILE_EVENTREC
              event records:  44
             event record 1:  44570, 15, 3, 0, 1      [12:22:50], duration, mdHitMap, diHitMap, actionMap
             event record 2:  45066, 15, 1, 0, 1      [12:31:06], duration, mdHitMap, diHitMap, actionMap
             event record 3:  45686, 15, 1, 0, 1      [12:41:26], duration, mdHitMap, diHitMap, actionMap
             event record 4:  45978, 15, 1, 0, 1      [12:46:18], duration, mdHitMap, diHitMap, actionMap
             event record 5:  46556, 15, 1, 0, 1      [12:55:56], duration, mdHitMap, diHitMap, actionMap
             event record 6:  50744, 15, 1, 0, 1      [14:05:44], duration, mdHitMap, diHitMap, actionMap
             event record 7:  50840, 15, 2, 1, 1      [14:07:20], duration, mdHitMap, diHitMap, actionMap
             event record 8:  50858, 15, 2, 0, 1      [14:07:38], duration, mdHitMap, diHitMap, actionMap
             event record 9:  51414, 15, 1, 0, 1      [14:16:54], duration, mdHitMap, diHitMap, actionMap
            event record 10:  52682, 15, 1, 0, 1      [14:38:02], duration, mdHitMap, diHitMap, actionMap
            event record 11:  52838, 15, 1, 0, 1      [14:40:38], duration, mdHitMap, diHitMap, actionMap
            event record 12:  53360, 15, 1, 0, 1      [14:49:20], duration, mdHitMap, diHitMap, actionMap
            event record 13:  53468, 15, 2, 1, 1      [14:51:08], duration, mdHitMap, diHitMap, actionMap
            event record 14:  53486, 15, 2, 0, 1      [14:51:26], duration, mdHitMap, diHitMap, actionMap
            event record 15:  53558, 15, 0, 1, 1      [14:52:38], duration, mdHitMap, diHitMap, actionMap
            event record 16:  53560, 15, 2, 0, 1      [14:52:40], duration, mdHitMap, diHitMap, actionMap
            event record 17:  60160, 15, 1, 0, 1      [16:42:40], duration, mdHitMap, diHitMap, actionMap
            event record 18:  61802, 15, 3, 0, 1      [17:10:02], duration, mdHitMap, diHitMap, actionMap
            event record 19:  63124, 15, 1, 0, 1      [17:32:04], duration, mdHitMap, diHitMap, actionMap
            event record 20:  64696, 15, 1, 0, 1      [17:58:16], duration, mdHitMap, diHitMap, actionMap
            event record 21:  67472, 15, 1, 0, 1      [18:44:32], duration, mdHitMap, diHitMap, actionMap
            event record 22:  67872, 15, 2, 1, 1      [18:51:12], duration, mdHitMap, diHitMap, actionMap
            event record 23:  67890, 15, 2, 0, 1      [18:51:30], duration, mdHitMap, diHitMap, actionMap
            event record 24:  69000, 15, 3, 0, 1      [19:10:00], duration, mdHitMap, diHitMap, actionMap
            event record 25:  69018, 15, 2, 0, 1      [19:10:18], duration, mdHitMap, diHitMap, actionMap
            event record 26:  69552, 15, 3, 1, 1      [19:19:12], duration, mdHitMap, diHitMap, actionMap
            event record 27:  69568, 15, 2, 0, 1      [19:19:28], duration, mdHitMap, diHitMap, actionMap
            event record 28:  72126, 15, 1, 0, 1      [20:02:06], duration, mdHitMap, diHitMap, actionMap
            event record 29:  72356, 15, 1, 0, 1      [20:05:56], duration, mdHitMap, diHitMap, actionMap
            event record 30:  72540, 15, 1, 0, 1      [20:09:00], duration, mdHitMap, diHitMap, actionMap
            event record 31:  72542, 15, 2, 0, 1      [20:09:02], duration, mdHitMap, diHitMap, actionMap
            event record 32:  73646, 15, 2, 0, 1      [20:27:26], duration, mdHitMap, diHitMap, actionMap
            event record 33:  74434, 15, 1, 0, 1      [20:40:34], duration, mdHitMap, diHitMap, actionMap
            event record 34:  74490, 15, 0, 128, 0    [20:41:30], duration, mdHitMap, diHitMap, actionMap
            event record 35:  74510, 15, 0, 128, 0    [20:41:50], duration, mdHitMap, diHitMap, actionMap
            event record 36:  74756, 15, 1, 0, 1      [20:45:56], duration, mdHitMap, diHitMap, actionMap
            event record 37:  75368, 15, 1, 0, 1      [20:56:08], duration, mdHitMap, diHitMap, actionMap
            event record 38:  76200, 15, 1, 0, 1      [21:10:00], duration, mdHitMap, diHitMap, actionMap
            event record 39:  76200, 15, 2, 0, 1      [21:10:00], duration, mdHitMap, diHitMap, actionMap
            event record 40:  76208, 15, 0, 1, 1      [21:10:08], duration, mdHitMap, diHitMap, actionMap
            event record 41:  76224, 15, 2, 0, 1      [21:10:24], duration, mdHitMap, diHitMap, actionMap
            event record 42:  82456, 15, 1, 0, 1      [22:54:16], duration, mdHitMap, diHitMap, actionMap
            event record 43:  83116, 15, 2, 0, 1      [23:05:16], duration, mdHitMap, diHitMap, actionMap
            event record 44:  83400, 15, 3, 0, 1      [23:10:00], duration, mdHitMap, diHitMap, actionMap
      0.015 T_FILE_EVENTREC rc= 0
       ~~
      0.015 T_FILE_INDEX64
      first index slot used:  22285   [12:22:50]
          lastIndexSlotUsed:  41706   [23:10:12]
          Runs of used slots  ----
          run 1, start slot:  22285   [12:22:50] [file offset: 3b868]
                   end slot:  22292   [12:23:04] (run= 8)
          run 2, start slot:  22533   [12:31:06] [file offset: 3c028]
                   end slot:  22540   [12:31:20] (run= 8)
          run 3, start slot:  22843   [12:41:26] [file offset: 3c9d8]
                   end slot:  22850   [12:41:40] (run= 8)
          run 4, start slot:  22989   [12:46:18] [file offset: 3ce68]
                   end slot:  22996   [12:46:32] (run= 8)
          run 5, start slot:  23277   [12:55:54] [file offset: 3d768]
                   end slot:  23284   [12:56:08] (run= 8, holes in run= 2, hole run streak= 1)
          run 6, start slot:  25371   [14:05:42] [file offset: 418d8]
                   end slot:  25378   [14:05:56] (run= 8)
          run 7, start slot:  25417   [14:07:14] [file offset: 41a48]
                   end slot:  25436   [14:07:52] (run= 20)
          run 8, start slot:  25706   [14:16:52] [file offset: 42350]
                   end slot:  25713   [14:17:06] (run= 8, holes in run= 1, hole run streak= 1)
          run 9, start slot:  26340   [14:38:00] [file offset: 43720]
                   end slot:  26345   [14:38:10] (run= 6)
         run 10, start slot:  26418   [14:40:36] [file offset: 43990]
                   end slot:  26425   [14:40:50] (run= 8)
         run 11, start slot:  26680   [14:49:20] [file offset: 441c0]
                   end slot:  26687   [14:49:34] (run= 8)
         run 12, start slot:  26731   [14:51:02] [file offset: 44358]
                   end slot:  26749   [14:51:38] (run= 19)
         run 13, start slot:  26777   [14:52:34] [file offset: 444c8]
                   end slot:  26787   [14:52:54] (run= 11)
         run 14, start slot:  30079   [16:42:38] [file offset: 4abf8]
                   end slot:  30087   [16:42:54] (run= 9, holes in run= 1, hole run streak= 1)
         run 15, start slot:  30900   [17:10:00] [file offset: 4c5a0]
                   end slot:  30908   [17:10:16] (run= 9, holes in run= 2, hole run streak= 1)
         run 16, start slot:  31561   [17:32:02] [file offset: 4da48]
                   end slot:  31569   [17:32:18] (run= 9, holes in run= 1, hole run streak= 1)
         run 17, start slot:  32347   [17:58:14] [file offset: 4f2d8]
                   end slot:  32354   [17:58:28] (run= 8)
         run 18, start slot:  33735   [18:44:30] [file offset: 51e38]
                   end slot:  33742   [18:44:44] (run= 8)
         run 19, start slot:  33933   [18:51:06] [file offset: 52468]
                   end slot:  33952   [18:51:44] (run= 20)
         run 20, start slot:  34497   [19:09:54] [file offset: 53608]
                   end slot:  34516   [19:10:32] (run= 20, holes in run= 1, hole run streak= 1)
         run 21, start slot:  34774   [19:19:08] [file offset: 53eb0]
                   end slot:  34790   [19:19:40] (run= 17)
         run 22, start slot:  36063   [20:02:06] [file offset: 566f8]
                   end slot:  36070   [20:02:20] (run= 8)
         run 23, start slot:  36178   [20:05:56] [file offset: 56a90]
                   end slot:  36185   [20:06:10] (run= 8)
         run 24, start slot:  36267   [20:08:54] [file offset: 56d58]
                   end slot:  36278   [20:09:16] (run= 12, holes in run= 2, hole run streak= 1)
         run 25, start slot:  36820   [20:27:20] [file offset: 57ea0]
                   end slot:  36829   [20:27:38] (run= 10)
         run 26, start slot:  37216   [20:40:32] [file offset: 58b00]
                   end slot:  37223   [20:40:46] (run= 8, holes in run= 1, hole run streak= 1)
         run 27, start slot:  37242   [20:41:24] [file offset: 58bd0]
                   end slot:  37262   [20:42:04] (run= 21)
         run 28, start slot:  37378   [20:45:56] [file offset: 59010]
                   end slot:  37384   [20:46:08] (run= 7)
         run 29, start slot:  37684   [20:56:08] [file offset: 599a0]
                   end slot:  37691   [20:56:22] (run= 8)
         run 30, start slot:  38097   [21:09:54] [file offset: 5a688]
                   end slot:  38119   [21:10:38] (run= 23, holes in run= 1, hole run streak= 1)
         run 31, start slot:  41227   [22:54:14] [file offset: 60858]
                   end slot:  41234   [22:54:28] (run= 8)
         run 32, start slot:  41556   [23:05:12] [file offset: 612a0]
                   end slot:  41565   [23:05:30] (run= 10)
         run 33, start slot:  41697   [23:09:54] [file offset: 61708]
                   end slot:  41706   [23:10:12] (run= 10)
                              ----
      0.015 T_FILE_INDEX64 rc= 0
       ~~
      0.031 T_FRM_HDR (show stats only)
          Final video frame:  ----    [startCode= 1 |41|]      encryptDepth= 0 (this frame)    commMode= COMM_RTSP_OVER_HTTP (0)
                file offset:  2dc19b3         (47978931)
             trueFrameBytes:  2117    (plus startCode byte)
                      W x H:  480 x 368       (crop: left= 0, top= 0, right= 0, bottom= 8)
           frameTimeLinearD:  690.397
                seqNoLinear:  19172
            frameDurationMs:  36
         frameTimeMidnightD:  83415.694       [23:10:15]
               systemTime64:  2015-05-02 04:10:15.518 UTC
                instantFpsF:  29.551
                              ----
                   duration:  00:11:30
               video frames:  19172    40.000 MB       Mbps: 0.486     FPS: 27.8                       DISC: 0
               intra frames:  652      6.749 MB        Mbps: 0.082     /frame: 10854   max: 15247
               delta frames:  18520    33.251 MB                       /frame: 1882    max: 14241      ofs: 274d8c7
               audio frames:  10751    1.240 MB        Mbps: 0.015     /frame: 120     max: 196        DISC: 0
      0.953 T_FRM_HDR rc= 0
       ~~
      Encryption state: no frames encrypted
       ~~
      ---
      END check of '20150501.CNS' for camnetserver\cam_m1031
The /frame: 10854 above, under FPS: 27.8, is the average frame size, in bytes. The maximum size of any one frame is to the right of that. DISC indicates the number of discontinuous frames seen, for example, the sequence number was not continuous (i.e., was not 1 more than the previous frame). The offset of the delta frame with the largest size is located at absolute offset (base-16) ofs: within the file.

If the recording is encrypted, or parts of the recording are, the detail available is reduced.