Installing the Meerkat SDK on a PC

The following procedure provides step-by-step instructions for installing the SDK on both Linux and Windows based machines:

Linux Installation

  1. Open the command prompt and enter the following command: sudo dpkg -i <filename>.
  2. Follow the instructions on-screen.
  3. The SDK is installed in /usr/local/<project_name>.

Windows Installation

Unzip the files into the project directory.

Meerkat SDK Folder Structure

The Meerkat SDK contains the following directories:

Connecting to the Meerkat Box

  1. Using a power cable, connect the Meerkat box to a power source.
  2. The OS boots up and starts the Meerkat engine and services. This may take about a minute.
  3. Using RJ-45 cables, Connect a the Meerkat box, a PC and a visual sensor to a network switch. Make sure all components share the same VLAN.

Configuring a Demo Before Implementation

The following procedure provides instructions for testing Meerkat before implementation in your configuration.

Configuring Video Source

Supported video sources are as follows:

  • GeniCam source
  • GStreamer source

Configuring a GeniCam source

Edit the following part of the demo.cpp file according to requirements.

  • setUrl – URL of GeniCam stream
  • DeviceAccess – Setting access to device, for multicast, set to ReadOnly
  • Width – Stream width in pixels
  • Height – Stream width in pixels
  • PixelFormat – Pixel data format

Code example:
// start new stream
StartStreamConfiguration startConfiguration;
startConfiguration.getGcSource().setUrl(""); // set device URL
startConfiguration.getGcSource().setDeviceAccessMode
(DeviceAccess::Control); // set to ReadOnly for multicast
setParam(startConfiguration.getGcSource(), "Width","768");
setParam(startConfiguration.getGcSource(), "Height","577");
setParam(startConfiguration.getGcSource(), "PixelFormat", "RGB8Packed"); // Alternative: "BGR8"

Edit sGstSourceUrl in the demo.cpp file to the RTSP stream address.

Configuring Video Output

The stream output is using Gstreamer and the RTSP protocol.

Edit the RTSP server port and IP as desired

sGstSourceUrl Section in demo.cpp file example:
// stream URL, in this case through local RTSP server
std::string sGstSourceUrl = "rtsp://127.0.0.1:8554/input_stream";
// start new stream
StartStreamConfiguration startConfiguration;
startStreamConfiguration.getGstSource().setUrl(sGstSourceUrl);
// set URL

Stream Output URL Example:
// stream output URL, in this case through local RTSP server
std::string sGstSinkUrl = "rtsp://127.0.0.1:8554/output_stream";
startStreamConfiguration.getGstSink().setUrl(sGstSourceUrl);
// set URL

Running the Demo

  1. Compile the demo.cpp file.
  2. Run the discoverServers function in the demo.
  3. The demo performs engine discovery.
  4. The demo returns the following output:

my-computer@127.0.0.1:50051

mic-730ai@192.168.16.25:50051

  1. Select your Meerkat engine instance according to the hostname.
  2. Run the command startStream.
    • Meerkat engine starts.
    • After 20 seconds, Meerkat engine shuts down.
    • Meerkat is ready for implementation.

demo.cpp Code example:
std::vector<sightx::sdk::ServerInfo> vMeerkats = sdk::discoverServers();
for(sightx::sdk::ServerInfo meerkatInfo : vMeerkats)
{
std::cout << meerkatInfo.HostName.toString() << "@"
<< meerkatInfo.IP.toString() << ":" << meerkatInfo.Port
<< std::endl;
}