Kafkaトピックを介してビデオストリームを送信し、各メッセージの消費の間にいくつかの処理を実行しようとしています。この処理には約20ミリ秒かかるため、100フレーム後、結果として遅延が発生します。このレイテンシーは検出できますが、レイテンシーが検出された瞬間から、コンシューマーに最新の送信済みフレームからの読み取りを強制できる必要があります。これにより、多くのフレームがスキップされることを認識しています。
librdkafkaをベースにしたcppkafkaを使用しています。
答えのほとんどが私の問題とは異なるか、他の言語のAPIにのみ存在する概念を使用しているため、正しい道に進むためのリードを見つけることができません。
この問題について何か考えはありますか?
単純な、ある種の野蛮な方法は、キュー内のフレーム数を確認することです。特定の上限しきい値を超えている場合は、下限しきい値(この場合は1つ)に達するまで、フレームを「消費」して破棄する(つまり、処理をまったく行わない)タイトループを実行します。
そのタイトなループが完了すると、キューの通常の処理を再開します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加