簡體   English   中英

流水線Gstreamer RTSP文件下沉的延遲很大

[英]Pipeline Gstreamer RTSP file sinking with big delay

我在RTSP上用Gstremer准備了一個IP攝像機,它似乎可以在線和實時地通過以下命令進行:

gst-launch-1.0 rtspsrc location=rtsp://192.168.1.138:554/axis-media/media.amp ! rtph264depay ! decodebin ! videoconvert ! autovideosink sync=false

它非常出色,並且延遲顯示大約40毫秒(毫秒)

如果我刪除autovideosink sync=false結束,則顯示延遲2秒

現在,我想在文件上同步RTSP流。 首先,我在/tmp通過mkfifo file.ts創建一個管道,然后使用:

gst-launch-1.0 rtspsrc location=rtsp://192.168.1.138:554/axis-media/media.amp ! rtph264depay ! mpegtsmux ! filesink location=file.ts

它可以正常工作並以ts格式和h264編解碼器正確同步RTSP。 我可以成功使用mplayer file.tsgst-play-1.0 file.ts播放它,但有2秒的延遲!

我嘗試使用sync=falseautovideosink但出現錯誤或無效。

如何減少文件下沉的延遲?
謝謝

經過大量搜索后,我發現Gstreamer官方文檔中的“抖動緩沖區”默認閥為200ms,但實際上為2秒。

“延遲” guint抖動緩沖區的最大延遲。 數據包將最多保留一次在緩沖區中。 標志:讀/寫默認值:200 以下

所以我可以使用以下命令將延遲增加到400ms:

gst-launch-1.0 rtspsrc latency = 0 location=rtsp://192.168.1.138:554/axis-media/media.amp ! rtph264depay ! mpegtsmux ! filesink  location=file.ts

mkfifo的延遲也為400毫秒,因此命名管道不是實時應用的好解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM