天天看點

gstreamer支援多攝像頭的思路

已知:

  • gstreamer可以很好的支援多檔案同時播放。
  • gstreamer無法正常支援多攝像頭同時播放。偶爾可以,多數情況下直接崩潰。

兩個現象對比,可以确定是因為攝像頭建立連結、接受資料有延遲導緻的。目前分析是在h264parse出錯的。

解決思路:

  1. 主線程使用appsrc。
  2. 每個攝像頭一個線程。
  3. 對每個攝像頭增加一個探頭,儲存讀取到的資料。
  4. 當下遊元素請求資料時,關鍵步驟來了:
  • 第一個攝像頭,除了儲存到自己的緩沖區,還要儲存到公用緩沖區。
  • 其他攝像頭,如果自己的資料還沒有到達,就使用公用緩沖區的資料。

大體思路如此。具體細節自行完善。

繼續閱讀