2012-05-12 202 views
1

我正在研究通過在客戶機上添加虛擬USB設備來重定向網絡上的USB設備的USB重定向軟件。一切正常,但客戶抱怨說,當他連接一個攝像頭640X480分辨率,100 Mbps網絡扼流圈。我已經在1 Gbps適配器上測試了網絡攝像頭,並使用了大約16%(160 Mbps)的帶寬。網絡攝像機是否需要這麼多帶寬?無論如何他希望網絡使用率低於50 Mbps。通過C++中的套接字傳輸限制數據

我試過壓縮數據,從DeviceIoControl獲取,然後在將其傳遞到DeviceIoControl之前在客戶端解壓縮。適用於文件傳輸,但視頻停止工作,帶寬降至50 Mbps左右。我曾嘗試在發送數據前添加短暫延遲,但這也會導致黑屏。現在我正在想方設法將相機分辨率降低到320X240。我不確定是否有其他方式減少DeviceIoControl拋出的數據。

如果你能分享你的想法並帶領我走向正確的方向,我將非常感激。提前致謝。

編輯:

它是一個YUV2格式的網絡攝像頭。

是否有任何開源庫可以用來降低Windows平臺上的攝像頭的幀率或分辨率?

+1

聽起來像你想要實現更多的降低幀率。那麼分辨率就不那麼重要,分辨率更高,幀率更低。 –

+0

有沒有辦法降低攝像頭的幀率?我可以使用哪些開源庫與網絡攝像頭進行交互? – umair

回答

1

如果數據是未壓縮的:640像素/線× 480行/幀× 30幀/秒× 24比特/像素≈ 211 Mbps的

可以檢查網絡攝像頭的文檔是否支持某種壓縮或幀速率控制。

+0

它是一個YUV2格式的網絡攝像頭。 – umair

+0

@umair:什麼是YUV2?那是12bpp嗎?那麼你有一半的速度。 –

+0

YUV2是16bpp,這意味着未壓縮的數據大約是150 Mbps – umair