Network Optix (Nx) 是一家全球领先的视频软件开发公司,致力于赋能智能视频解决方案和产品的创建,能够将视频转化为可操作的数据。经过十多年的发展,Network Optix 企业视频操作系统帮助创新型组织快速且经济地构建世界级、量身定制的企业级视频产品和解决方案。
Nx 总部位于加利福尼亚州的 Walnut Creek,并在加州的 Burbank、俄勒冈州的 Portland、塞尔维亚的贝尔格莱德、台湾的台北等地设有分支机构,全球各地还分布着区域团队。我们连续 9 年被评选为 Inc 5000 快速成长公司,致力于跨部门和全球扩展团队。
Network Optix 的目标是推动全球最智能的视频解决方案,最终目标是开辟一条革命视频技术领域的道路,改变我们对周围世界的认知。
我们的团队负责服务器开发中的重要部分 - 摄像头支持。不同的摄像头制造商有自己的协议来与设备进行配合(基于 IP、基于 TCP/UDP、基于 HTTP、基于 SOAP、基于 ONVIF 等各种文本和二进制协议)。集成团队负责调查和支持这些协议,常常进行逆向工程。工作中有相当一部分是在本地和远程设备上使用 Wireshark 调查错误。
我们的软件运行在各种硬件和操作系统上。我们使用 C++20/23、cmake、conan 和 git 编写高效的可移植代码。
你将要做的事情:
• 检查各种摄像头 API,并为不同的厂商创建摄像头插件
• 维护和改善服务器端的摄像头支持
• 与核心服务器团队合作,改善摄像头与服务器的交互
• 调查 Wireshark 日志和服务器日志,以修复来自技术支持的错误
• 与设备制造商互动,改善他们的 API
• 重构现有代码并增加测试覆盖率(单元测试和功能测试)
• 审查团队其他成员的代码
研究领域:
开发的主要方向包括(每个方向使用数十种协议):
• 摄像头搜索
• 获取摄像头能力
• 摄像头配置
• 摄像头控制
• 接收媒体流
• 接收视频分析数据
一些需要获取、配置和控制的摄像头功能:
• 音频/视频源
• 音频/视频编码器
• PTZ(平移-倾斜-缩放)能力
• 高级功能(雨刷、加热器等)
• 扬声器
• IO 端口功能
• 安全功能(门铃、锁、警报)
我们支持的现代摄像头高级视频分析功能:
• 事件(越线、徘徊等 - 超过 50 种)
• 物体跟踪和分类
• 识别(车牌、面部等)
• 分析设置(绘制兴趣区域等)
所需经验与技能:
• 具备大型代码库的经验,能够支持当前代码库
• 在多线程环境中对 C++17/20 有扎实背景
• 深刻理解网络协议栈,具备异步网络编程经验
• 具备使用 Wireshark 调查网络流量的经验
• 具备调试和解决问题的能力
• 理解面向对象编程和软件设计模式
• 能够编写高效和可移植的代码
• 具备实施单元测试和功能测试的经验
加分项:
• 熟悉 Qt 6
• 了解 C++23/26
• 具备 Windows 和 Linux 的跨平台经验,包括嵌入式设备
• 理解 Windows/Linux 的内部结构
• 具备基本的系统管理技能
• 具备 Web 服务、SOAP 和 ONVIF 的经验
混合工作:
该职位理想上是一个混合角色,办公室位于加州 Burbank。工作不能完全远程进行,因为需要与设备(摄像头、对讲机、NVR、IP 扬声器)进行互动。