videoflow/videoflow
Python framework that facilitates the quick development of complex video analysis applications and other series-processing based applications in a multiprocessing environment.
解决的问题
Videoflow 是一个用于构建分布式视频和流处理管道的框架。开发者只需定义一次处理图(有向无环图),即可在本地用于开发,或在 Kubernetes 上用于生产扩展,无需更改代码。
工作原理
- 基于图的架构:用户将管道描述为一组生产者、处理器和消费者。
- 分布式执行:图中的每个节点作为独立的工作进程运行(本地为子进程,Kubernetes 上为 Pod),通过 NATS JetStream 消息代理进行通信。
- 节点通信:每个节点将其输出发布到特定的代理主题,并订阅其父节点的输入,从而支持复杂的拓扑结构,如扇出和多父节点合并。
- 部署:框架会自动将图编译为 Kubernetes 清单,包括 GPU 调度、健康探针和自动伸缩。
适用人群
- 构建高吞吐量视频处理应用的开发者。
- 需要在分布式环境中部署计算机视觉模型(目标检测、跟踪、姿态估计)的 ML 工程师。
- 需要从本地原型开发无缝过渡到基于 Kubernetes 的生产扩展的团队。
特色亮点
- 混合执行:无需修改代码,即可在同一管道上本地或 Kubernetes 上运行。
- 语言无关:只要组件以容器镜像形式发布,支持任何语言编写的组件。
- GPU 集成:内置 GPU 调度支持,包括处理 NVIDIA 设备插件和共享 GPU 访问的时间切片。
- 预构建组件:提供开箱即用的节点,用于常见的视觉任务,如分割和目标检测。
相关
- 项目
- 项目
- 项目
- 项目
- 项目