在 Linux 中使用網路攝影機和 VLC 進行高解析度串流傳輸時,影像品質差且 CPU 使用率高

在 Linux 中使用網路攝影機和 VLC 進行高解析度串流傳輸時,影像品質差且 CPU 使用率高

我正在嘗試使用網路攝影機進行一些串流傳輸,但到目前為止,結果並不好:我以320x240 進行串流的所有內容看起來都不錯,但一旦我選擇更高解析度,影像品質就會變得很糟糕,CPU 使用率也會下降穿過屋頂。

我使用的是 Logitech C525 攝像頭,它聲稱是高清的,原始分辨率為 1280x720)。

如果1280x720是原生分辨率,我想知道為什麼品質這麼差?

我使用 VLC 進行串流傳輸,並使用以下 vlm 設定檔:

new camNumber2 broadcast enabled
setup camNumber2 input v4l2:///dev/video2:width:320:heigth:240
setup camNumber2 output #transcode{vcodec=mpeg4,acodec=none,vb=1000}:standard{access=http,mux=ogg,dst=0.0.0.0:8080}
control camNumber2 play

就像我說的,一旦我把解析度提高到更高,品質就會下降到一團糟。

我懷疑我的視訊輸入設定可能有問題,VLC 只是嘗試將圖像放大到我請求的分辨率,而不是按照請求的分辨率抓取圖像。

答案1

我有一些觀察和建議。我認為您的命令不一定有任何問題,但讓我們嘗試找到解決方案。

  1. 看起來你使用的是 mpeg4,我建議你看一下支援的 VLC 編解碼器列表。我建議您嘗試 h265 或 mp4v。經過仔細檢查,我實際上並沒有在該列表中看到 mpeg4,所以這可能是您的問題。
  2. 您使用什麼CPU?您的系統可能不夠強大,無法傳輸 1280x720 的解析度。你沒有提到你使用的是什麼計算機,我只是想確保你沒有在 Raspberry Pi 或任何東西上嘗試這個。
  3. 嘗試使用 GUI 讓它工作。我認識到 GUI 可能不是最終的解決方案,但如果我們能讓它在那裡工作,那麼我們就知道這是可能的,並且可以繼續使用 CLI 參數。
  4. 嘗試使用其他作業系統和電腦。你能讓它在 Windows 和 Linux 上運作嗎?同樣,這將有助於消除有關問題所在的一些變數。
  5. 不太可能,但您的 USB 總線可能已飽和,連接埠可能僅為 USB 1,或者在同一總線上有一個外部硬碟佔用了所有頻寬。

如果您發現哪些解決方案適合您,請嘗試上面的一些選項。如果仍然不起作用,請發布您發現的內容。

相關內容