At the moment I try to achieve a stable 1080p30 H.264 performance with my DM368IPNC-MT5-A097. Unfortunately I cannot find any settings were this works.
I am running the brand-new 2.5.0 release of the IPNC software. I updated everything: UBL, u-boot, Kernel, cramfs and IE plugin.
I start with these settings:
StreamType: Single, CodecCombo: H.264, Resolution: H264:1080, Framerate: 30, Bitrate: 8000, RateControl: CBR, Overlay disabled, LocalVideo: Off, Mirror: Off, IP Ratio: 30, EncodePreset: AUTO, PackeSize: 100, ROI: disabled, Face Detect: Off, Motion Detection: Off, Face Recognition: Off, PrivacyMask: Off, BLC: Off, DRE: Off, Flicker: 60hz, WB: Auto, SensorMode: Binning, 2A Engine: Off, LowLight: PrioFrameRate, SNF: Off, TNF: Off, Audio: disabled, Alarm: disabled, Storage: disabled (I close the webbrowser after changing settings)
The scene is just a very boring view of my desk, nothing moves, not too complicated patterns, enough light.
So basically the camera is doing nothing but encoding images. I connect to 1 RTP stream (UDP) via VLC client. The console output is:
Module | Avg Time/Frame | Frame-rate | Total time | Total Frames |
CAPTURE | 33.51 | 29.84 | 30192 | 901 |
ENCODE0 | 33.36 | 29.98 | 30053 | 901 |
STREAM | 0.86 | 1162.58 | 775 | 901 |
OSD0 | 0.04 | 22525.00 | 40 | 901 |
AEWB | 0.02 | 60400.00 | 15 | 906 |
==================== STREAMING DETAILS ====================
Start Time : 946769079sec 230391usec
End Time : 946769112sec 773172usec
Total Time to stream 1000 frames: 33542.781 msec
Time per frame: 33.5428 msec
Streaming Performance in FPS: 29.8127
===========================================================
So the real throughput of the system is at 29.8 FPS which is not exactly 30 fps.
If I now enable at least the Appro 2A engine (because otherwise the camera is not useful in real world) and a simple Textoverlay of just date/time, I get:
Module | Avg Time/Frame | Frame-rate | Total time | Total Frames |
CAPTURE | 33.71 | 29.66 | 30374 | 901 |
ENCODE0 | 33.51 | 29.84 | 30191 | 901 |
STREAM | 0.80 | 1254.87 | 718 | 901 |
OSD0 | 0.66 | 1524.53 | 591 | 901 |
AEWB | 1.13 | 888.02 | 1027 | 912 |
==================== STREAMING DETAILS ====================
Start Time : 946769439sec 310330usec
End Time : 946769473sec 042514usec
Total Time to stream 1000 frames: 33732.184 msec
Time per frame: 33.7322 msec
Streaming Performance in FPS: 29.6453
===========================================================
Now a basic usable camera would be at 29.64 fps - if nothing else happens.
Changing the bitrate to 12000 already results in 29.28 fps. Trying to run any more ARM code (the arm_loading tool and top says the CPU is 40% idle) results in further drops of FPS.
Is there anything I could do to improve performance?
Best regards,
Andreas.
