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

GStreamer使用rtspclientsink推送MJPEG流到rtsp-simple-server问题求助

GStreamer使用rtspclientsink推送MJPEG流到rtsp-simple-server解决方案

错误原因说明

  • 第一个命令链路失败的核心原因是rtspclientsink仅支持RTP封装的裸流作为输入,你使用matroskamux输出的是MKV容器格式流,和rtspclientsink要求的输入格式不兼容,直接导致链路协商失败。
  • 第二个命令使用rtpjpegpay做RTP封装的思路是正确的,问题出在缺少显式的RTP流格式声明,rtspclientsink无法自动识别流的编码属性,导致链路协商失败。

可直接运行的推流命令

gst-launch-1.0 souphttpsrc location="http://192.82.150.11:8083/mjpg/1/video.mjpg" ! jpegparse ! rtpjpegpay ! application/x-rtp,media=video,encoding-name=JPEG,payload=96 ! rtspclientsink location=rtsp://localhost:8554/cam protocols=tcp

参数说明

  • 新增的application/x-rtp,media=video,encoding-name=JPEG,payload=96是显式的caps过滤器,明确告诉rtspclientsink当前输入的RTP流的媒体类型、编码格式和负载号,解决自动协商失败的问题。
  • 新增的protocols=tcp指定RTSP推流使用TCP协议传输RTP包,避免UDP传输可能出现的端口冲突、内网限制导致的推流失败,如需使用UDP可将参数值改为udp。

常见问题排查

  1. 推流前先确认rtsp-simple-server服务已经正常启动,且8554端口没有被其他进程占用。
  2. 如果你给rtsp-simple-server配置了推流鉴权,需要将推流地址修改为rtsp://<用户名>:<密码>@localhost:8554/cam格式。
  3. 源流不稳定导致推流中断的话,可以在souphttpsrc后添加timeout=5参数设置HTTP流超时重连阈值。

内容的提问来源于stack exchange,提问作者Lloyd Briggs

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 14:24:04