Gstreamer 在断开相机连接后关闭接收器

问题描述 投票:0回答:1

我将 Gstreamer 与 rtspsrc 和 RTSP 摄像头一起使用,当我从计算机连接摄像头时,autovideosink 保持打开状态。如何让它在断开相机连接后自动关闭?

我尝试设置超时,但没有用。我没有线索。

gstreamer rtsp
1个回答
0
投票

按照@Christoph的建议,在消息总线上添加监视,GStreaner使用消息总线在管道的不同部分之间进行通信,例如在不同元素之间传递事件、警告、错误。

因此,当传感器断开连接时,源元素会在消息总线上发布警告或错误,您需要注意这一点,然后使用

GST_RTSP_FILTER_REMOVE
关闭所有活动客户端。

GstRTSPFilterResult client_filter(GstRTSPServer* server,
                                  GstRTSPClient* client,
                                  gpointer       user_data) {
    /* Simple filter that shuts down all clients. */
    return GST_RTSP_FILTER_REMOVE;
}

当您在总线上收到传感器断开错误时,只需调用以下命令,其中

server
是您的
GstRTSPServer
实例。

gst_rtsp_server_client_filter(server, client_filter, NULL);
© www.soinside.com 2019 - 2024. All rights reserved.