关闭。这个问题需要更加突出重点。它目前不接受答案。
**想改进这个问题吗?**通过编辑这篇文章更新这个问题,使它只关注一个问题。
两年前关门了。
改进这个问题
我试图通过Kafka主题发送一个视频流,并在每条消息之间进行一些处理。这个过程大约需要20毫秒,所以在100帧之后,我会有一个相应的延迟。我可以检测到这个延迟,但是,我需要能够强制我的消费者从检测到延迟的那一刻起读取最新发送的帧。我知道这会导致许多帧被跳过。
我正在使用基于librdkafka的cppkafka。
我找不到一条线索可以让我走上正确的道路,因为大多数答案要么与我的问题不同,要么只使用其他语言API中存在的概念。
对这件事有什么想法吗?
1条答案
按热度按时间70gysomp1#
一个简单的方法是检查队列中的帧数。如果高于某个上限阈值,那么做一个紧密循环,在这个循环中“消耗”并丢弃(即完全不处理)帧,直到达到下限阈值(在您的例子中是一个)。
一旦完成了这个紧循环,就可以恢复队列的正常处理。