Difference between revisions of "GStreamer Video Stabilizer for NVIDIA Jetson Boards/Performance/TX1/TX2"
(→Standalone element) |
(→Glass-to-glass latency) |
||
Line 84: | Line 84: | ||
== Glass-to-glass latency == | == Glass-to-glass latency == | ||
Latency was measured as shown in the picture, and the following are the approximate results. It is important to notice that latency can be affected by the parameters selected on the pipeline, specifically the queue-size property of the gst-nvstabilize element, as further explained on the [https://developer.ridgerun.com/wiki/index.php?title=GStreamer_Video_Stabilizer_for_NVIDIA_Jetson_Boards/User_Guide User Guide]. The pipeline used was the following: | Latency was measured as shown in the picture, and the following are the approximate results. It is important to notice that latency can be affected by the parameters selected on the pipeline, specifically the queue-size property of the gst-nvstabilize element, as further explained on the [https://developer.ridgerun.com/wiki/index.php?title=GStreamer_Video_Stabilizer_for_NVIDIA_Jetson_Boards/User_Guide User Guide]. The pipeline used was the following: | ||
+ | |||
+ | '''Note:''' the following latency measurements were '''NOT''' taken with high-performance enabled, given that the chosen resolution did not require it. | ||
+ | |||
<syntaxhighlight lang=bash> | <syntaxhighlight lang=bash> | ||
gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,width=1280,height=720' ! nvvidconv ! 'video/x-raw(memory:NVMM),width=1280,height=720,format=RGBA' ! nvvidconv ! queue max-size-buffers=1 leaky=downstream ! nvstabilize queue-size=5 ! nvvidconv ! nvoverlaysink sync=false | gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,width=1280,height=720' ! nvvidconv ! 'video/x-raw(memory:NVMM),width=1280,height=720,format=RGBA' ! nvvidconv ! queue max-size-buffers=1 leaky=downstream ! nvstabilize queue-size=5 ! nvvidconv ! nvoverlaysink sync=false |
Revision as of 11:45, 14 June 2019
GStreamer Video Stabilizer | |
---|---|
Video Stabilization Basics | |
|
|
User Guide | |
|
|
Getting Started | |
|
|
Examples | |
|
|
Performance | |
|
|
Contact Us |
The following section describes some relevant performance measurements during video stabilization for a few standard resolutions. It begins with a summary of the results detailed on the following sections, as well as the pipelines used to capture such results.
Contents
Summary
Benchmarking
Standalone element
The following measurements were taken with the board on high-performance mode enabled, which was attained by running the following commands:
$ sudo nvpmodel -m 0
$ sudo jetson_clocks
Pipeline
All the measurements bellow where made using the following minimal pipeline.
PATH_TO_FILE=path_to_file.rgba
WIDTH=1920
HEIGHT=1080
FRAME_SIZE=$(($WIDTH * $HEIGHT * 4))
gst-launch-1.0 filesrc location=$PATH_TO_FILE blocksize=$FRAME_SIZE ! videoparse format=rgba width=$WIDTH height=$HEIGHT ! nvstabilize ! fakesink sync=true
CPU
Resolution | CPU 0 | CPU 1 | CPU 2 | CPU 3 | CPU4 | CPU5 | Average (reported by top) |
---|---|---|---|---|---|---|---|
640x480@25Fps | 0.52 | 11.6 | 18.54 | 0.14 | 3.61 | 0.71 | 21.9 |
1280x720@25Fps | 4.7 | 49.3 | 40 | 1.28 | 12.5 | 1.21 | 38.2 |
1920x1080@25Fps | 418 | 34.23 | 34 | 2.8 | 3.11 | 1.73 | 76.6 |
2048×1080@25Fps | 4.13 | 65.22 | 61.4 | 2.86 | 1.86 | 1.52 | 116 |
GPU
Resolution | GPU |
---|---|
640x480@25Fps | 1.64 |
1280x720@25Fps | 3.57 |
1920x1080@25Fps | 8.26 |
2048×1080@25Fps | 9.43 |
RAM
Resolution | RAM |
---|---|
640x480@25Fps | 1199/7861MB |
1280x720@25Fps | 1230/7861MB |
1920x1080@25Fps | 1307/7861MB |
2048×1080@25Fps | 1317/7861MB |
Glass-to-glass latency
Latency was measured as shown in the picture, and the following are the approximate results. It is important to notice that latency can be affected by the parameters selected on the pipeline, specifically the queue-size property of the gst-nvstabilize element, as further explained on the User Guide. The pipeline used was the following:
Note: the following latency measurements were NOT taken with high-performance enabled, given that the chosen resolution did not require it.
gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,width=1280,height=720' ! nvvidconv ! 'video/x-raw(memory:NVMM),width=1280,height=720,format=RGBA' ! nvvidconv ! queue max-size-buffers=1 leaky=downstream ! nvstabilize queue-size=5 ! nvvidconv ! nvoverlaysink sync=false
1280x720@30Fps
queue-size | Latency (ms) |
---|---|
No stabilizer | 140.8 |
1 | 254 |
2 | 258 |
3 | 288 |
4 | 328.8 |
5 | 412.6 |
6 | 412 |