bmegli / realsense-network-hardware-video-encoder

Realsense hardware encoded color/ir H.264 and color/ir/depth HEVC streaming
Mozilla Public License 2.0
23 stars 3 forks source link

benchmark encoding time with alignment #18

Closed bmegli closed 4 years ago

bmegli commented 4 years ago

From #12 on SBC (LattePanda Alpha) we were quite close to using whole time between frames for encoding

By forcing highest quality for depth and using default for IR:

  • GPU usage reaches 50%
  • CPU no changes (<35% of 400%)
  • encode/send takes 20-23 ms

This left around 10 ms window at 30 FPS.


If alignment takes considerable time there are several options:

bmegli commented 4 years ago

Scenario:

848x480@30 fps, 8Mb + 1 Mb bitrate, alignment to color

./realsense-nhve-depth-color 192.168.0.100 9768 color 848 480 848 480 30 500 /dev/dri/renderD128 8000000 1000000 0.0000125
bmegli commented 4 years ago

Results

Laptop (KabyLake i7-7820HK)

Alignment enabled:

Alignment commented out:

LattePanda Alpha (KabyLake m3-7y30)

Alignment enabled

Alignment commented out:

bmegli commented 4 years ago

Discussion

At this point, adding anything to the pipeline on SBC (e.g. post-processing) will require changes (already discussed in the first post).

Alignment time is quite inconsistent, should not be (e.g. 5-16 ms?). This probably means that the process is sometimes preempted during alignment.

For now it may stay as is but has to be kept in mind.