A Win32 DLL connector library for Lynstan DVR, which provides a specific interface

Avg Bid (USD)
Project Budget (USD)
$100 - $700

Project Description:
Our company (Terracom Ltd - http://www.terracom.gr) needs a Win32 library that can communicate with Lynstan DVRs (we got the Lynstan’s SDK) and be able to make some operations. We want this library to be in a procedural style with callbacks, because we want to use it from a .net host application. So interface must be as simple as it can be. We will define the interface functions and callback functions.

In general this library must:
1. Connect to a single DVR and return the error code of the connection attempt (Success, cannot connect, bad login etc.). Also return to an argument by reference, the DVR handle. We will provide to the function host name of the remote DVR, port number, username and password and a dvr unique id (integer).

2. Disconnect from DVR.

3. Be able to poll DVR details such as, number of cameras, which camera has video loss, device serial number or MAC address (all these are provided by the SDK).

4. Be able to play live stream from a specific camera to a window control. We will provide the Win32 control's handle. We need to be able to invoke start and stop commands, with the camera number as a parameter. Note that, Lynstan's SDK does not provide live stream preview in a window control. We are advised to use ffmpeg for that issue.

5. Inform .net host application via a callback function, with DVR's events (motion detection start, motion detection stop, tamper start & stop, DVR disconnect, camera video loss start & stop). We will provide the error codes for each event and win32 library must supply host app with one of these error codes and with the flag ON or OFF.

6. We need to be able to give a start record command and file name as a parameter. Then, library must start a stream from DVR, for a specific camera. Note that, it may be concurrent streams, ex. for all DVR's cameras. This live stream must be stored in a file, where library runs. Also note that, SDK provides a raw bytestream, without any key-frame information in it. So, if the connection line between DVR and win32 library is slow, there is no time-shift effect in the stream (so all frames to be fetched from SDK, but delayed) but DVR tries to send every second all frames that can be transfer through line, in a second and disregards the others. That's why we need to have some kind of key frame information in the recorded video. This will help the correct playback speed.

7. As mentioned in the previous requirement, we have a video file stored in the hdd. We also need to playback this file. At first, we need to be able to give start & stop commands for playback the video file. The function will have file name and window control handle's as parameters.

That were our main requirements for this project. As I mentioned before, we need this library to be a native win32 library. We will merge it in a .net application host, so we need all pointer stuff to be handled from a win32 code.

There is attached the SDK for Lynstan. It also has a documentation.
We also want to make connectors for more SDKs - DVRs. So, if this projects ends successfully there can be further cooperation with the one who will manage to make it work.

Skills required:
C Programming, C++ Programming
Additional Files: peersdk_1.0.0_build_34.rar
About the employer:
Public Clarification Board
Bids are hidden by the project creator. Log in as the employer to view bids or to bid on this project.
You will not be able to bid on this project if you are not qualified in one of the job categories. To see your qualifications click here.

Hire neurorebel
$ 770
in 30 days
Hire xuhaijiao
$ 550
in 20 days
Hire mdbinu
$ 1100
in 30 days
$ 770
in 30 days
$ 550
in 20 days
Hire mail2vguna
$ 550
in 18 days