视频处理管道

时间:2017-08-22 14:19:59

标签: java spring video-processing spring-cloud-dataflow

我想建立一个视频处理管道。意思是我有一个网络摄像头流作为输入,我做了一些处理,如面部检测和识别。不止一个处理,并且可以并行处理。这些是现在的基本用例,但将来会增长。

我想现场直播,我想尽快处理我的处理结果。

来自Java / Spring世界,我看了一下Spring Cloud Data Flow。

我的问题:Spring Cloud Data Flow是这个用例的正确选择吗?我看到源/处理器/接收器之间的通信是通过Rabbit或Kafka Binder完成的。他们会处理图像/视频消息吗?或者还有其他更适合的Binder?

由于

2 个答案:

答案 0 :(得分:3)

嗯,这真的取决于你如何编写组件,简短的答案是肯定的,它可以用于它,事实上我们实际上有一个非常大的客户将它用于这个用例。

鉴于正确的硬件和配置,SCDF每秒处理数十万条消息。它是为支持水平可扩展性而构建的,所以如果你打算以某种方式分割你所捕获的视频帧(我们不提供这个开箱即用)并将每个图像发送到处理器,以便通过诸如OpenCV或TensorFlow。它实际上是一个非常常见的用例。

开始使用kafka可能会更好,因为你的数据对于处理内存中队列的兔子来说可能有点太大了,所以让代理写入磁盘可能更适合。

除此之外,您只需要编写视频捕获逻辑和处理器,并使用DSL将它们连接在一起。

答案 1 :(得分:0)

我意识到这是一个过时的线程,但是为了完整起见,您可以找到一些示例SCDF webcam-source实现here。您还可以在其中找到可用作播放器的image-viewer SCDF接收器应用程序。他们俩都使用Rabbit作为粘合剂。

请注意,这些只是实验性应用。我一直在使用它们来演示各种Tensorflow图像处理管道。