【发布时间】:2014-08-05 15:33:42
【问题描述】:
我一直在学习 gstreamer,试图编写一个应用程序,它需要多个视频文件并同步处理其中的每一帧(特别是我需要比较这些帧,直到转向下一个)。 我已经建立了一个具有多个独立“分支”的管道:
filesrc ---> decodebin ---> videoconvert ---> appsink
filesrc ---> decodebin ---> videoconvert ---> appsink
...
filesrc ---> decodebin ---> videoconvert ---> appsink
我已经设法独立处理帧。 我的问题是:
如何同步每个应用程序接收器,以便将来自一个应用程序接收器的帧与其他应用程序接收器的帧进行比较?
我想到的就是在新样本回调函数中轮询其他应用程序接收器是否已将其缓冲区存储在某些共享内存中,然后这些回调之一开始在所有缓冲区上工作。然而,这似乎是一种相当残酷和混乱的方法。你能帮我找到一个更好的吗?
【问题讨论】:
标签: c parallel-processing synchronization gstreamer