You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GStreamer gst-rtsp-server组播RTSP流客户端无法接收问题求助

排查与解决步骤

  • 检查服务端组播绑定网卡是否正确
    gst-rtsp-server的multicast2示例默认会绑定到环回网卡或首个可用网卡,没有指定绑定enp0s3的情况下,组播流不会从你配置的业务网卡发出。启动服务端时需显式指定绑定网卡、组播地址:

    ./multicast2 0.0.0.0 8554 /test 239.255.0.1 5004 enp0s3
    
  • 关闭Linux反向路径过滤(rp_filter)
    Linux默认开启的反向路径过滤会丢弃路由路径不匹配的组播报文,这是同网段组播不通最常见的原因,在两台机器上都执行以下配置:

    # 临时生效
    sysctl -w net.ipv4.conf.enp0s3.rp_filter=0
    sysctl -w net.ipv4.conf.all.rp_filter=0
    # 永久生效需将上述两行写入 /etc/sysctl.conf 后执行 sysctl -p
    
  • 拉流pipeline显式指定组播接收网卡
    你当前的拉流命令没有指定组播接收网卡,系统可能选错接收端口,修改pipeline增加multicast-iface参数:

    gst-launch-1.0 rtspsrc protocols=udp-mcast multicast-iface=enp0s3 location=rtsp://192.168.10.110:8554/test latency=0 ! rtph264depay ! avdec_h264 ! videoconvert ! videoscale ! autovideosink
    
  • 验证防火墙配置
    临时关闭两台机器的防火墙测试是否是拦截导致:

    # firewalld 环境
    systemctl stop firewalld
    # iptables 环境
    iptables -F && iptables -t nat -F
    

    测试通了之后再按需放行UDP组播端口的入站规则即可。

  • 确认组播包TTL配置
    如果你的服务端和客户端不在同一个二层网段,需要修改服务端组播流的TTL值,在multicast2示例代码中增加配置:

    gst_rtsp_media_set_multicast_ttl(media, 10);
    

内容的提问来源于stack exchange,提问作者Piotr Chmielewski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 12:06:01