GstNetBalancer/Getting Started/Evaluating the balancer: Difference between revisions

From RidgeRun Developer Wiki
(Created page with "<noinclude> {{GstNetBalancer/Head|previous=|next=|}} </noinclude> == Requesting the Evaluation Binary == RidgeRun can provide you with an evaluation binary of the Stitcher t...")
 
m (Add evaluation installation steps)
Line 46: Line 46:
{{Review|Verify evaluation limit|Marco Herrera}}
{{Review|Verify evaluation limit|Marco Herrera}}


== Installing the evaluation version ==
Once the evaluation binaries are requested RidgeRun will provide you with a compressed tar package containing the element library.
=== Dependencies ===
=== Eval binaries structure ===
First extract the package contents with the following command:
<pre>
tar xvzf <path-to-evaluation-tar-file>
</pre>
The package structure should look like the following:
==== For x86 ====
<pre>
usr/
└── lib
    └── x86_64-linux-gnu
        └── gstreamer-1.0
            └── libgstnetbalancer.so
</pre>
=== Binaries installation ===
==== For x86 ====
<pre>
export GST_PLUGIN_PATH=${GST_PLUGIN_PATH}:${PATH_TO_EVALUATION_BINARY}/usr/lib/x86_64-linux-gnu/gstreamer-1.0/
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${PATH_TO_EVALUATION_BINARY}/usr/lib/x86_64-linux-gnu/
</pre>
where <code>PATH_TO_EVALUATION_BINARY</code> is set the location in your file system where you have stored the binary provided by RidgeRun.
Alternatively, you may just copy the binaries into the standard GStreamer plug-in search path:
<pre>
sudo cp -r ${PATH_TO_EVALUATION_BINARY}/usr /
</pre>
=== Eval Binaries Testing ===
Finally, test that the plugin is being properly picked up by GStreamer by running:
<syntaxhighlight lang="bash">
gst-inspect-1.0 netbalancer
</syntaxhighlight>
You should see the inspect output for the evaluation binary as shown below.
<syntaxhighlight>
Factory Details:
  Rank                    none (0)
  Long-name                Network traffic balancer
  Klass                    Filter/Network
  Description              Balance network packages to respect bandwidth over time
  Author                  Melissa Montero <melissa.montero@ridgerun.com>
Plugin Details:
  Name                    netbalancer
  Description              Distribute network packages over time
  Filename                /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstnetbalancer.so
  Version                  0.1.0
  License                  Proprietary
  Source module            gst-net-balancer
  Binary package          gst-net-balancer source release
  Origin URL              www.ridgerun.com
GObject
+----GInitiallyUnowned
      +----GstObject
            +----GstElement
                  +----GstBaseTransform
                        +----GstNetBalancer
Pad Templates:
  SINK template: 'sink'
    Availability: Always
    Capabilities:
      ANY
 
  SRC template: 'src'
    Availability: Always
    Capabilities:
      ANY
Element has no clocking capabilities.
Element has no URI handling capabilities.
Pads:
  SINK: 'sink'
    Pad Template: 'sink'
  SRC: 'src'
    Pad Template: 'src'
Element Properties:
  name                : The name of the object
                        flags: readable, writable
                        String. Default: "netbalancer0"
  parent              : The parent of the object
                        flags: readable, writable
                        Object of type "GstObject"
  qos                : Handle Quality-of-Service events
                        flags: readable, writable
                        Boolean. Default: false
  bandwidth          : Bandwidth in kbps to distribute over time
                        flags: readable, writable
                        Unsigned Integer64. Range: 0 - 9223372036854775807 Default: 2500
  distribution-factor : Number of intervals in which you are going to divide the secondand the bandwidth to distribute it
                        flags: readable, writable
                        Unsigned Integer. Range: 1 - 4294967295 Default: 50
  min-delay          : Microseconds to wait between packets
                        flags: readable, writable
                        Unsigned Integer. Range: 0 - 4294967295 Default: 0
</syntaxhighlight>
== Example Pipelines ==
Please refer to the [[GstNetBalancer/Examples|Examples]] page for reference pipelines.
== Troubleshooting ==
The first level of debug to troubleshoot a failing evaluation binary is to inspect GStreamer debug output.
<syntaxhighlight lang="bash">
GST_DEBUG=2 gst-launch-1.0
</syntaxhighlight>
If the output doesn't help you figure out the problem, please contact [mailto:support@ridgerun.com '''support@ridgerun.com'''] with the output of the GStreamer debug and any additional information you consider useful.
RidgeRun also offers professional support hours that you can invest in any embedded Linux-related task you want to assign to RidgeRun, such as hardware bring-up tasks, application development, GStreamer pipeline fine-tuning, drivers, etc...


<noinclude>
<noinclude>
{{GstNetBalancer/Foot|previous=|next=|}}
{{GstNetBalancer/Foot|previous=|next=|}}
</noinclude>
</noinclude>

Revision as of 20:01, 12 October 2022



  Index  





Requesting the Evaluation Binary

RidgeRun can provide you with an evaluation binary of the Stitcher to help you test it, in order to request an evaluation binary for a specific architecture, please contact us providing the following information:

  • Platform (i.e.: NVIDIA Jetson TX1/TX2, Xavier, Nano, or x86)
  • Jetpack version
  • Input resolutions and frame rates
  • Expected output resolution and frame rate
  • Latency requirements

Features of the Evaluation

To help you test our NetBalancer, RidgeRun can provide an evaluation version of the plug-in.

The following table summarizes the features available in both the professional and evaluation version of the element.

Feature Professional Evaluation
Unlimited Processing Time Y N (1)
Source Code Y N
Table 1. Features provided in the evaluation version

(1) The evaluation version will limit the processing to a maximum of 1800 frames. ‎

Installing the evaluation version

Once the evaluation binaries are requested RidgeRun will provide you with a compressed tar package containing the element library.

Dependencies

Eval binaries structure

First extract the package contents with the following command:

tar xvzf <path-to-evaluation-tar-file>

The package structure should look like the following:

For x86

usr/
└── lib
    └── x86_64-linux-gnu
        └── gstreamer-1.0
            └── libgstnetbalancer.so

Binaries installation

For x86

export GST_PLUGIN_PATH=${GST_PLUGIN_PATH}:${PATH_TO_EVALUATION_BINARY}/usr/lib/x86_64-linux-gnu/gstreamer-1.0/
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${PATH_TO_EVALUATION_BINARY}/usr/lib/x86_64-linux-gnu/

where PATH_TO_EVALUATION_BINARY is set the location in your file system where you have stored the binary provided by RidgeRun.

Alternatively, you may just copy the binaries into the standard GStreamer plug-in search path:

sudo cp -r ${PATH_TO_EVALUATION_BINARY}/usr /

Eval Binaries Testing

Finally, test that the plugin is being properly picked up by GStreamer by running:

gst-inspect-1.0 netbalancer

You should see the inspect output for the evaluation binary as shown below.

Factory Details:
  Rank                     none (0)
  Long-name                Network traffic balancer
  Klass                    Filter/Network
  Description              Balance network packages to respect bandwidth over time
  Author                   Melissa Montero <melissa.montero@ridgerun.com>

Plugin Details:
  Name                     netbalancer
  Description              Distribute network packages over time
  Filename                 /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstnetbalancer.so
  Version                  0.1.0
  License                  Proprietary
  Source module            gst-net-balancer
  Binary package           gst-net-balancer source release
  Origin URL               www.ridgerun.com

GObject
 +----GInitiallyUnowned
       +----GstObject
             +----GstElement
                   +----GstBaseTransform
                         +----GstNetBalancer

Pad Templates:
  SINK template: 'sink'
    Availability: Always
    Capabilities:
      ANY
  
  SRC template: 'src'
    Availability: Always
    Capabilities:
      ANY

Element has no clocking capabilities.
Element has no URI handling capabilities.

Pads:
  SINK: 'sink'
    Pad Template: 'sink'
  SRC: 'src'
    Pad Template: 'src'

Element Properties:
  name                : The name of the object
                        flags: readable, writable
                        String. Default: "netbalancer0"
  parent              : The parent of the object
                        flags: readable, writable
                        Object of type "GstObject"
  qos                 : Handle Quality-of-Service events
                        flags: readable, writable
                        Boolean. Default: false
  bandwidth           : Bandwidth in kbps to distribute over time
                        flags: readable, writable
                        Unsigned Integer64. Range: 0 - 9223372036854775807 Default: 2500 
  distribution-factor : Number of intervals in which you are going to divide the secondand the bandwidth to distribute it
                        flags: readable, writable
                        Unsigned Integer. Range: 1 - 4294967295 Default: 50 
  min-delay           : Microseconds to wait between packets
                        flags: readable, writable
                        Unsigned Integer. Range: 0 - 4294967295 Default: 0

Example Pipelines

Please refer to the Examples page for reference pipelines.

Troubleshooting

The first level of debug to troubleshoot a failing evaluation binary is to inspect GStreamer debug output.

GST_DEBUG=2 gst-launch-1.0

If the output doesn't help you figure out the problem, please contact support@ridgerun.com with the output of the GStreamer debug and any additional information you consider useful.

RidgeRun also offers professional support hours that you can invest in any embedded Linux-related task you want to assign to RidgeRun, such as hardware bring-up tasks, application development, GStreamer pipeline fine-tuning, drivers, etc...



  Index