DEV Community

Rondo
Rondo

Posted on

Record of Site Issues #2 - Playback / GOP

Environment And Situation

  • Control room of an apartment
  • Number of installed product : 3 (PC-based NVR, dual-LAN supported)
  • Remote support : X (I actually went to the site and diagnosed)

Reported Issue

  • In viewer, when user changes play speed while playing back the recorded data, it randomly plays the data in hyper speed(almost 30x~60x)
  • For example: 4x play means 4 seconds in video per a second. But in the site, it played 30~60 seconds per a seconds, showing the video stutturing.

Diagnosis

  1. Checked the overall environment.
  2. System(CPU / RAM usage), network environment(bandwidth), resoulution, stream configurations, etc. -> Nothing suspicious.
  3. Some of the installed cameras had unusual fps and gop values
  4. Normally, fps and gop values are set to be equal(for exmaple, if fps is 30 then gop is also 30 so that iframe can appear every second)
  5. But the cameras' set up values were fps 15, gop 60(iframe per 4 seconds)

Assumption

  • Somehow the viewer keeps failing to find iframe to play.
  • And it's maybe because iframe appears with a long gap.

Quick note: iframe is kind of a key-frame. Since the viewer starts decoding from an iframe, it's necessary when it comes to playback.

What I Tried

  • Set all the cameras' gop value to 15(same as fps)

Result

  • Ran a test with data before changing the gop values and after.
  • During interval before changing the gop, the issue occurred almost every time I tried.
  • But after chaning the gop, the issue no longer occurred.

Concolusion

  • The issue was triggered by large GOP value (GOP 60 with FPS 15).
  • With only one iframe every four seconds, the viewer sometimes failed to find an appropriate iframe after changing the playback speed, causing abnormal playback behavior.
  • According to the viewer developer, this is likely related to the viewer's iframe searching logic, which is still under investigation.

Keep This In Mind

  • Check camera settings(especially gop and fps) first when it comes to playback issue.
  • Always check before/after data to confirm assumption.

Top comments (0)