STANAG On Demand  Version 1.1.4
Low latency Live FMV playback

STANAG On Demand Server provides a low latency Live FMV playback functionality without a need in browser plugins.

There are two LiveLowLatency modes:

  • LiveLowLatency
  • LiveLowLatency2

LiveLowLatency

In this mode, net source / decoder / renderer components and sync mechanism are split between server and client.

Prerequisites:

In order to operate low latency Live FMV playback you must have one of the following installed and configured:

  • Redis DB
  • RamDrive or SSD.

Installing Redis
Installing Redis DB is pretty straightforward using the installer package available from the Redis.io web site.

You can use Windows installer for Redis and run it as a Windows service.

Configure Redis.
There is no special configuration needed if it is run locally. If for some reason you need to change a port, you can edit a corresponding redis section of the "\StServer\data\config.json".

{
"db": {
"connection_str": "mongodb://localhost:27017/db"
},
"license": {
"key": "57634006-CD1B8A78-F5EE465A-D5D4D008"
},
"ingester": {
"path": "./dlls/SegmentIngesterProc.exe"
},
"player": {
"path": "./dlls/KlvPlayerRawCapture.exe"
},
"ffmpeg": {
"path": "C:/Utils/FFMpeg/bin/ffmpeg.exe"
},
"ffprobe": {
"path": "C:/Utils/FFMpeg/bin/ffprobe.exe"
},
"redis": {
"connection_str": "http://localhost:6379"
}
"ramdrive": {
"path": "R:"
}
}

If you need an uncompressed frames for real time image processing, you may configure a folder where these images will be saved. To get a better results it is highly recommended to install a Ram drive module on the server. For example, the following Virtual Disk Driver can be used - ImDisk

You can download ImDisk Toolkit and use RamDiskUI to configure the Ram Disk.

  • Configure RAM Drive.
ramDrive.PNG
RAM Drive configuration
  • Configure RAM Drive.
  • Make sure a ramdrive section of the "\StServer\data\config.json" file points to the correct location.
    {
    "db": {
    "connection_str": "mongodb://localhost:27017/db"
    },
    "license": {
    "key": "57634006-CD1B8A78-F5EE465A-D5D4D008"
    },
    "ingester": {
    "path": "./dlls/SegmentIngesterProc.exe"
    },
    "player": {
    "path": "./dlls/KlvPlayerRawCapture.exe"
    },
    "ffmpeg": {
    "path": "C:/Utils/FFMpeg/bin/ffmpeg.exe"
    },
    "ffprobe": {
    "path": "C:/Utils/FFMpeg/bin/ffprobe.exe"
    },
    "redis": {
    "connection_str": "http://localhost:6379"
    },
    "ramdrive": {
    "path": "R:"
    }
    }
  • Create Live mission.
missionLiveCreate.PNG
Creating Live mission
  • Next, select the created Mission and configure a network related parameters.
missionLiveProps.PNG
Configuring network parametersate

In order to select the network interface (if you have more than one) add nic= argument to the url. For example:

udp://227.1.1.1:1234/nic=192.168.1.1
Note
Network interface selection is different for Live Low Latency and Live HLS modes.

Another posibility is to change network interface priority in Windows or add IP route to the routing table.

  • Configure telemetry related parameters, if needed.
liveTelemetryParams.PNG
Configuring telemetry parametersate
  • Start live mission playback / recasting.
livePlayerStart.PNG
Starting recasting


Your Live Mission is now playing. You (or any client connected to this server) can go to the Home page and start a playback by selecting the mission in the Mission table.

Note
The latency can greatly vary, it depends on many parameters (stream profile, network jitter, etc), but in general, it is possible to achieve a sub 100 ms numbers in optimal conditions.

LiveLowLatency2

LiveLowLatency2 mode uses lower bandwidth than LiveLowLatency mode but may not provide smooth video and exact video / metadata sync.

LiveLowLatency2Conf.png
LiveLowLatency2
Untitled 1




 Copyright 2018,    IMPLEOTV SYSTEMS LTD