2013-08-01 14 views
0

我已經用C語言編寫了一個服務器端客戶端程序(帶有套接字)。我如何從網絡攝像頭壓縮mjpeg本機格式幀

  1. 的幀是:

    • 在MJPEG本地格式640×480(另一本機格式是YUYV)
    • 大小的單個幀的是204000字節(200 KB)
  2. 捕獲
  3. 網絡處於ad-hoc模式,所以我只得到11-12 Mbps。

  4. 目的傳輸速度:25-30 fps(顯然沒有達到)。

所以我需要在發送之前壓縮幀,我的問題是:

1. what format could i use? 
2. I am making use of the API V4L2, so i want to know if there is a method, 
    function, etc. inside of this API that i can use for my purpose. 
+2

的MJPEG流已經被壓縮,進一步的壓縮嘗試甚至可能使數據更大*。您可能需要考慮將流重新編碼爲壓縮更好的內容。 –

+0

你是對的。我只有這兩種原生格式:MJPEG和YUYV(422),我該如何繼續? – user2501133

+0

MJPEG數據目前得到的壓縮比約爲4.5:1。這意味着相機以非常高的質量設置進行壓縮。您可以以較低的質量設置重新壓縮數據。在20:1的壓縮比下,質量仍然不錯。如果您知道這些圖像不具備支持其他類型壓縮的特性(例如PNG - 恆定顏色的大面積區域),那麼較低質量的設置可能是最佳選擇。如果你不能告訴相機使用什麼質量,那麼你需要重新編碼圖像。 – BitBank

回答