![](/img/trans.png)
[英]What is the difference between byte stream and packetized stream in gstreamer rtsp h264 depayloader
[英]Reconnect RTSP stream in Gstreamer pipeline
我有一個使用 RTSP 輸入流的工作 Gstreamer 管道。 為了處理這些給定的 RTSP 輸入流,使用了 uridecobin 元素。
我的目標是在互聯網連接不穩定時重新連接到 RTSP 輸入流。 當互聯網連接僅關閉幾秒鍾然后又啟動時,管道再次開始接收幀,一切正常。 當互聯網連接中斷 > 20 秒時,我會收到 GST_MESSAGE_EOS。 我試圖在 uridecodebin 生成的每個元素中找到一些超時<\/strong>變量,但我沒有找到。 您是否有任何提示哪個元素具有此超時<\/strong>變量以及如何設置它?
如果無法設置這樣的超時<\/strong>變量,有沒有辦法阻止 GST_MESSAGE_EOS? 因為當我在總線上收到 GST_MESSAGE_EOS 時,我嘗試從管道中刪除 uridecodebin 並創建一個新的。 但是當收到 GST_MESSAGE_EOS 時它對我不起作用(當我嘗試從管道中刪除 uridecodebin 並在正常狀態下創建一個新的時,它可以工作)。
我找到了阻止 GST_MESSAGE_EOS 的方法。
創建以下函數以刪除 GST_EVENT_EOS:
GstPadProbeReturn eos_probe_cb(GstPad *pad, GstPadProbeInfo *info, gpointer u_data)
{
if (GST_EVENT_TYPE(GST_PAD_PROBE_INFO_DATA(info)) == GST_EVENT_EOS)
{
return GST_PAD_PROBE_DROP;
}
return GST_PAD_PROBE_OK;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.