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

使用GStreamer将RTSP摄像头推流至AWS Kinesis失败排查

解决RTSP推流到AWS Kinesis的超时(错误599)问题

针对你遇到的curl超时(错误码599)、传输速率不足30字节/秒导致推流终止的问题,可按以下步骤排查解决:

  • 验证RTSP源流的有效性
    先确认摄像头输出的RTSP流本身稳定且有数据,避免源流问题导致推流失败。执行以下命令将RTSP流保存到本地文件:

    gst-launch-1.0 rtspsrc location="rtsp://admin:bachir123@192.168.15.6:554/cam/realmonitor?channel=1&subtype=0" short-header=TRUE ! rtph264depay ! h264parse ! mp4mux ! filesink location=test.mp4
    

    播放生成的test.mp4文件,检查是否有正常视频输出;同时观察控制台输出的帧率、码率数据,确认源流持续稳定。

  • 优化GStreamer Pipeline参数
    调整Pipeline配置,确保数据持续、稳定地传输到kvssink:

    • 给rtspsrc添加buffer-mode=auto和drop-on-latency=TRUE参数,避免RTSP源延迟导致数据积压或中断;
    • 给h264parse添加config-interval=-1,强制每隔关键帧输出SPS/PPS信息(Kinesis需要这些参数正确解码视频);
    • 在h264parse和kvssink之间添加queue元素,缓冲数据应对网络波动。优化后的命令示例:
      gst-launch-1.0 -v rtspsrc location="rtsp://admin:bachir123@192.168.15.6:554/cam/realmonitor?channel=1&subtype=0" short-header=TRUE buffer-mode=auto drop-on-latency=TRUE ! rtph264depay ! h264parse config-interval=-1 ! queue ! kvssink stream-name=YourStreamName storage-size=512 access-key="YourAccessKey" secret-key="YourSecretKey" aws-region="eu-west-1"
      
  • 排查网络连通性问题
    错误599是curl的超时错误,说明本地到Kinesis视频服务的网络连接不稳定:

    • 直接测试Kinesis endpoint的连通性:执行curl -v https://s-5ac447c0.kinesisvideo.eu-west-1.amazonaws.com/putMedia,检查是否能正常建立TCP连接,有无丢包、延迟过高的情况;
    • 检查本地防火墙、代理设置,确保出站流量允许访问443端口(Kinesis视频服务使用HTTPS);如果运行在AWS VPC内,确认VPC终端节点配置正确,安全组规则允许出站到Kinesis视频服务的IP段。
  • 调整Kinesis相关配置

    • 调大storage-size参数:默认128MB可能不足以应对流的波动,建议改为512MB或1024MB,避免缓冲区溢出导致断流;
    • 验证IAM权限:确保使用的Access Key和Secret Key对应的IAM用户拥有kinesisvideo:PutMedia、kinesisvideo:DescribeStream等必要权限;
    • 手动指定endpoint参数:在kvssink中添加endpoint="https://s-5ac447c0.kinesisvideo.eu-west-1.amazonaws.com",确保连接到正确的服务端点。
  • 启用详细日志定位问题
    通过GStreamer的调试日志获取kvssink的详细运行信息,执行命令时添加环境变量:

    GST_DEBUG=kvssink:5 gst-launch-1.0 -v rtspsrc location="rtsp://admin:bachir123@192.168.15.6:554/cam/realmonitor?channel=1&subtype=0" short-header=TRUE ! rtph264depay ! h264parse ! kvssink stream-name=YourStreamName storage-size=128 access-key="YourAccessKey" secret-key="YourSecretKey" aws-region="eu-west-1"
    

    查看日志中是否有数据发送失败、权限错误等具体提示,进一步定位问题。

内容的提问来源于stack exchange,提问作者Jaques Missrie

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 20:03:12