My project is window applications related to mange video/audio.
1. Server works as service and responsible to deliver data (video/audio, database) to clients
a. Camera Server: (C#, C++ cli, C++, FFMPEG, LIVE555, OPENCV)
- Capture data from camera surveillance, webcam, desktop and some url links
- Trans-code (decode then encode) to H264, H265 codec to reduce bandwidth.
- Communicate with clients through TCP socket protocol with own private format.
- Streaming data to RTSP (Real Time Streaming Protocol) link
b. Recorder Server: responsible to record data to hard disk. There are a lot of techniques such as buffering data to system memory, load balancing to multi hard disk... to reach a good performance for recording.
c. Playback Server: it works like a Camera Server but instead of getting data from real device, it gets recorded data from hard disk.
d. Image Processing Server: Currently it's just responsible for doing some basic process like motion detection, object classification and tracking.
c. RS232 Server: Connect to some RS232 devices such as RFID/UHF readers, Card Dispenser, Printer...
2. Client (C#, C++ cli, C++, FFMPEG, SDL, CUDA): Fetching data from server then display (decode and render). Hardware acceleration is using to have better performance.
3. Database: I'm using PostgreSQL.
For more information please feel free to contact me.