![](/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.