ross-newman / rtp-motion-estimation

TX1 Motion Estimation performed on RTP streaming video (YUV colour space). Compatible with DEF-STAN 00-82

Home Page:http://abaco.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Modified motion-estimation for streaming video sources

TX1/TX2 Motion Estimation performed on RTP streaming video (YUV colour space as per RFC 4175). Compatible with DEF-STAN 00-82

Please be patient whilst we fix some of the issues with this code.

  • Use Gstreamer1.0 for RTP nvxio FrameSource
  • Output video as raw RTP backets (no Gstreamer required)
  • CUDA YUV to RGB conversion
  • CUDA RBG to YUV conversion
  • Output RTP stream with motion overlay
  • Colour code arrows based on speed (green=slow, amber=medium, red=fast)

Some additional features that are not currently planned.

  • Support for interlaced DEF STAN 00-82 streams
  • Support for other Uncompressed video formats (RGB, BGR etc ...)
  • SAP support

RTP streaming example for Military Ground Vehicles (DEF STAN 00-82)

RTP Camera example

Build

1. Cloning the repo

To obtain the repository, navigate to a folder of your choosing on the Jetson. First, make sure git and cmake are installed locally:

sudo apt-get install git cmake

Then clone the rtp-motion-estimation repo:

git clone http://github.com/ross-abaco/rtp-motion-estimation

2. Configuring

When cmake is run, a special pre-installation script (CMakePreBuild.sh) is run and will automatically install any dependencies.

mkdir build
cd build
cmake ../

3. Compiling

Make sure you are still in the motion-estimation/build directory, created above in step #2.

cd motion-estimation/build			# omit if pwd is already /build from above
make

For jetson 64bit builds the architecte will be aarch64.

4. Modifying

Some macros control how the demo can be run and there are located in config.h

  • HEADLESS 0 - Dont put anything out on the local display. Usefull for headless operation.
  • GST_MULTICAST 1 - Set this for multicast sources
  • RTP_STREAM_SOURCE - Define to use RTP Stream class as source (not gstreamer)
  • GST_SOURCE 1 - 1 if RTP source, 0 if file source.
  • GST_RTP_SINK 1 - RTP Output
  • TIMEING_DEBUG 0 - Show timings in stdio

Test

There are several test scripts provided in the root directory.

Below is the example gstreamer pipline of a moving ball that can be used to test the algorithm :

Test video source

Using gstreamer as a test source.

Test video source

Using a live RTP camera to stream video.

Links

About

TX1 Motion Estimation performed on RTP streaming video (YUV colour space). Compatible with DEF-STAN 00-82

http://abaco.com


Languages

Language:Shell 69.0%Language:CMake 31.0%