2017-03-23 33 views
0

我的設置是這樣的:gstreamer的低幀率的數據流的中斷之後

  1. 連接到無線鏈路節點的以太網相機。
  2. 相機使用UDP發送H264編碼流(320 * 184,速度爲25 FPS)。
  3. 連接到筆記本電腦的另一個無線鏈接節點(Windows 7)。
  4. 筆記本電腦正在運行gstreamer。
  5. 接收到的UDP數據包用於顯示沒有任何延遲的視頻。

GStreamer的命令顯示視頻流:
GST-發射-1.0 rtspsrc協議= 00000001位置= RTSP://10.0.0.3:554 /流1延遲= 0 drop_on_latency =真!解碼器! videoscale! video/x-raw,width = 1280,height = 800! autovideosink

這裏是問題:

  1. 我通過去除相機和第一無線鏈路的節點之間的以太網電纜5秒鐘,然後重新連接電纜中斷的數據流。結果:視頻流的顯示停止然後恢復。
  2. 我中斷了15秒的數據流。結果:視頻流的顯示恢復,但幀率非常低;大約每秒1幀。如果我然後重新啓動gstreamer videostream再次很好地呈現。

我該如何克服這種幀率下降?如果檢測到這種情況,自動重新啓動gstreamer將是我的一個選擇。

問候,doojoo

+0

你能嘗試水槽的同步屬性設置爲false? 'autovideosink sync = false' –

+0

將同步設置爲false時,流的顯示會很好地恢復! – Doojoo

回答

0

當設置同步爲false,通過阿爾珀如所建議的,流的顯示恢復很好!
現在會發生什麼是這樣的:

  1. 當數據流停止的GStreamer將繼續顯示最後一幀。
  2. 當數據流再次啓動時,gstreamer停止並且我的腳本再次啓動gstreamer。然後它會以良好的幀速率呈現視頻。

當流停止而不是停止流再次啓動時可以停止gstreamer嗎?

問候, doojoo