Video Stabilization for Embedded Systems - Getting Started - Evaluating Video Stabilization

From RidgeRun Developer Wiki



Previous: Getting Started Index Next: Getting Started/Getting the code





Requesting the Evaluation Binary

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

  • Platform (e.g.: i.MX6, i.MX8, Snapdragon, etc...). The more info the better!
  • Input resolutions and frame rates
  • Use case, if possible (e.g.: drone, car, robot...)
  • Latency requirements

Features of the Evaluation

To help you test our Video Stabilization for Embedded Systems library, RidgeRun can provide an evaluation version of the library.

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

Feature Professional Evaluation
Motion estimation using H264 encoder Y Y
Hardware accelerated transformations Y Y
File Video Stabilization Example Y Y
Plotter and tuning utilities Y N
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 5 minutes.

Evaluating the library

Dependencies

First, make sure the dependencies are fulfilled:

sudo apt install ffmpeg libgles2-mesa libgstreamer1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-bad

Eval Binary Structure

The provided Video Stabilization for Embedded Systems eval version tarball must have the following structure:

usr
├── bin
│   └── videostabilizer_example
├── include
│   └── video_stabilizer
│       └── rr
│           ├── image.hpp
│           ├── motioncorrection
│           │   ├── coefficientgenerator.hpp
│           │   ├── filtercompensator.hpp
│           │   ├── filter.hpp
│           │   ├── iirfilter.hpp
│           │   ├── lowpassbiquad.hpp
│           │   ├── motioncorrection.hpp
│           │   └── zerodelay.hpp
│           ├── motionestimation
│           │   ├── estimationalgorithm.hpp
│           │   └── h264
│           │       ├── h264compresseddomain.hpp
│           │       ├── hampelfilter.hpp
│           │       ├── membuffer.hpp
│           │       ├── vectoraccumulator.hpp
│           │       ├── vectorextractor.hpp
│           │       └── x86encoder.hpp
│           ├── runtimeerror.hpp
│           ├── transformation
│           │   ├── opengltransformation.hpp
│           │   ├── shader.hpp
│           │   └── transformation.hpp
│           └── videostabilizer.hpp
└── lib
    └── x86_64-linux-gnu
        ├── libvideostabilizer.so
        └── pkgconfig
            └── videostabilizer.pc

Eval Binary Installation

To use the binary provided by RidgeRun, export the location of the evaluation binary libraries in your environment.

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.

Eval Binary Testing

Finally, to test the library is working you can use the included example.

${PATH_TO_EVALUATION_BINARY}/usr/bin/videostabilizer_example <input video> <output video> <cutoff frequency>

You can find more information about the example in Video file stabilization example.


Previous: Getting Started Index Next: Getting Started/Getting the code