0
我用v4l2打開兩個網絡攝像頭。 30幀/秒的一切正常。以60 fps,開始麻煩。第一個凸輪上的FPS約爲20,第二個凸輪上的FPS約爲0-3。我嘗試在不同的線程(和不同的處理器內核)中運行 - 同樣的問題。 我覺得在v4l2驅動程序的問題。v4l2多設備故障
我的任務非常簡單 - 以60 fps的速度從一臺電腦上的兩個網絡攝像機捕獲數據。可能嗎?可能是什麼問題?我可能會顯示代碼,但它很大。
對不起,我的英語。
謝謝回答。 但我怎麼能使用DMA?現在我只使用v4l2 API。 如果在短緩衝區隊列中存在問題,那麼增加緩衝區數量將不能解決問題。所以或者表現夠了,或者表現還不夠,那麼沒有什麼能幫上忙。 – herolover 2013-03-20 08:57:29
如果硬件可以執行DMA,則可以使用DMA。 V4L2提供了VideoBuf2框架來處理緩衝區。在這裏你可以找到不同的DMA內存分配器vb2-dma-contig,vb2-dma-sg。 顯然,如果你的攝像頭比你的處理器快,一個長緩衝隊列不能解決問題。但是如果你有一個10個緩衝區的隊列,並且你有15個幀,你可以設置10個緩衝區,但你必須等待設置其他5個緩衝區。 – Federico 2013-03-20 09:45:42