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

GStreamer转换RTSP流为FLV时调整分辨率出现链路错误如何解决

错误原因
  • 最直接的问题是Caps过滤器的媒体类型拼写错误:你在命令中写的video-x/raw不是GStreamer定义的原始视频媒体类型,正确写法应为video/x-raw。拼写错误导致videoscale输出的格式和x264enc要求的输入格式都无法匹配该错误标识,因此无法完成元素连接。
  • 存在隐性兼容风险:即使修正拼写,部分场景下也可能因像素格式不兼容报错,x264enc仅支持特定像素格式的原始视频输入,如果解码输出的原始视频像素格式不在其支持范围内,仍会出现连接失败的问题。
修复方案

你只需要做两处调整即可:

  1. 将Caps过滤器中的video-x/raw修正为video/x-raw
  2. 可选在Caps过滤器后新增videoconvert元素,自动适配x264enc支持的像素格式,覆盖所有兼容性场景

修正后的完整命令如下:

gst-launch-1.0 rtspsrc location=$RTSP_SOURCE latency=0 ! rtpbin ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! videoscale ! video/x-raw,width=640,height=640 ! videoconvert ! x264enc ! h264parse ! flvmux streamable=true ! rtmpsink location=$RTMP_SERVER

如果你的RTSP源解码后输出的像素格式本身是x264enc支持的I420等格式,也可以省略新增的videoconvert元素,仅修正拼写错误即可正常运行。

内容的提问来源于stack exchange,提问作者Jim Lin

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 07:12:02