C++ Software Engineer

Il y a 2 semaines

On Walloon Region, WAL, Belgique Qareeb Temps plein


About The Role
We are seeking a C++ Software Engineer to develop and optimize software running on our edge devices for real-time video and audio processing. You will build high-performance pipelines for video ingestion, streaming, and analytics while ensuring low latency, concurrency, and reliability under constrained hardware environments. This role requires strong expertise in modern C++, multimedia frameworks, and networking protocols, with a focus on delivering production-grade edge computing solutions. Responsibilities
- Design and develop high-performance C++ applications for video and audio processing.
- Implement real-time streaming pipelines using FFmpeg, GStreamer, and OpenCV.
- Work with network protocols (RTSP, RTP, HLS, WebRTC, TCP/UDP) to enable streaming and data exchange.
- Optimize software for latency, concurrency, and memory efficiency.
- Develop cross-platform applications targeting Linux and Windows environments.
- Debug and profile applications using Valgrind, GDB, perf, strace, and similar tools.
- Collaborate with AI engineers to integrate inference engines into the video pipeline.
- Ensure code quality through unit testing, code reviews, and documentation.
- Contribute to protocol design for communication between edge devices and servers. Requirements
- 4+ years of experience in C++14/17/20/23 development.
- Deep knowledge of STL, Boost, and modern C++ concurrency primitives (std::thread, mutex, condition\_variable, futures, async).
- Hands-on experience with FFmpeg, GStreamer, and OpenCV for video/audio capture, decoding, processing, and encoding.
- Strong understanding of RTSP, RTP, HLS, WebRTC, TCP/UDP networking.
- Experience with cross-platform development for Linux and Windows.
- Proficiency with tools like Valgrind, GDB, perf, strace.
- Familiarity with memory management, concurrency tuning, and real-time performance constraints. Nice to Have
- Experience with AI inference engines (ONNX Runtime, TensorRT, OpenVINO) for real-time analytics.
- Knowledge of GPU programming (CUDA, OpenCL, Vulkan).
- Familiarity with containerized deployments (Docker, Kubernetes) for edge systems.
- Contributions to open-source multimedia or C++ libraries.
- Experience with low-level OS development (device drivers, kernel tuning).