已知:
- gstreamer可以很好的支援多檔案同時播放。
- gstreamer無法正常支援多攝像頭同時播放。偶爾可以,多數情況下直接崩潰。
兩個現象對比,可以确定是因為攝像頭建立連結、接受資料有延遲導緻的。目前分析是在h264parse出錯的。
解決思路:
- 主線程使用appsrc。
- 每個攝像頭一個線程。
- 對每個攝像頭增加一個探頭,儲存讀取到的資料。
- 當下遊元素請求資料時,關鍵步驟來了:
- 第一個攝像頭,除了儲存到自己的緩沖區,還要儲存到公用緩沖區。
- 其他攝像頭,如果自己的資料還沒有到達,就使用公用緩沖區的資料。
大體思路如此。具體細節自行完善。