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

Vivitar折叠无人机RTSP流播放画面截断及解码错误问题求助

Vivitar折叠无人机RTSP流拉取画面异常问题

近期我尝试拉取Vivitar Folding Drone的RTSP直播流,通过逆向该无人机配套App的.apk文件,获取到其RTSP地址为rtsp://192.168.1.1:7070/webcam。但通过VLC或FFPLAY拉取该流时,大部分画面被截断,出现绿屏或灰屏(具体现象取决于保存为.mjpeg文件还是.dump文件)。

异常画面示例

我使用的FFPLAY拉流命令如下:

ffplay -i -rtsp_flags rtsp://192.168.1.1:7070/webcam

启动FFPLAY拉流时首先收到如下报错:

[swscaler @ 00000240daeadf80] deprecated pixel format used, make sure you did set range correctly

几乎每帧都会触发以下报错:

[mjpeg @ 00000240d6226b00] mjpeg_decode_dc: bad vlc: 0:0 (00000240d6266050)
[mjpeg @ 00000240d6226b00] error dc
[mjpeg @ 00000240d6226b00] error y=1 x=0

备注: 该Vivitar无人机需接入其自建的WiFi热点才能拉取RTSP流,通过官方App查看画面完全正常,仅FFPLAY、FFMPEG、VLC无法正常解码播放。

更新信息

进一步排查发现,Vivitar Folding Drone可能未完整传输单帧jpg数据,以下为RTSP流原始字节数据解码生成的图像:
原始字节解码图像

从该图像可观测到三个特征:

  1. 图像存在大量数据块丢失
  2. 图像整体偏红(红移)
  3. 两块可见画面内容是连续的,第二块可视区域可与第一块拼接,示例如下:
    画面拼接示例

问题成因

  1. 私有流传输规则不兼容:该厂商未遵循标准RTSP/RTP的MJPEG封装规范,对传输的流做了私有定制:包括单帧拆分到多个RTP包时未按标准标记结束位、每帧前增加自定义私有头、故意省略部分MJPEG填充数据降低传输带宽。官方App内置了对应的解析重组逻辑,通用播放器没有适配,无法正确拼接出完整的单帧数据,就会出现块丢失、DC系数解码报错。
  2. 像素格式与色彩映射篡改:报错中提到的废弃像素格式,说明流使用了非标准的色彩空间映射,大概率是厂商调换了UV分量的存储顺序,同时用了有限范围(TV range)的YCbCr而播放器默认用全范围(Full range)解析,最终导致画面偏红。
  3. 传输协议适配问题:通用播放器默认用UDP协议拉取RTSP流,无人机WiFi热点本身稳定性不足,且厂商未实现UDP丢包重传逻辑,容易出现帧数据丢失;官方App默认走TCP拉流,不会出现丢包问题。另外部分厂商会校验RTSP请求的UA等头信息,非官方请求会返回篡改后的残缺流。

修复方案

  1. 调整拉流解码参数
    首先修正ffplay命令参数,指定TCP传输、关闭严格解码校验、适配色彩参数:
ffplay -rtsp_transport tcp -fflags nobuffer -strict -2 -skip_loop_filter all -i rtsp://192.168.1.1:7070/webcam -pixel_format yuvj420p -color_range tv

如果仍然出现红移,可以额外加滤镜参数交换UV分量:-vf "swapuv"。
2. 模拟官方请求头
抓包获取官方App发起RTSP请求时的UA、自定义头字段,给ffplay/ffmpeg加上对应请求头:

ffplay -user_agent "Vivitar Official App UA" -headers "自定义头键:自定义头值" -rtsp_transport tcp -i rtsp://192.168.1.1:7070/webcam
  1. 自定义帧重组逻辑
    抓取RTSP原始流,对比官方App解析出的完整MJPEG帧和原始流的差异,提取厂商自定义的帧分隔标识,把原始流中的分片按规则拼接成完整MJPEG帧后再喂给解码器。
  2. 适配自定义解码器
    修改FFmpeg的mjpeg解码模块,关闭DC系数的严格校验,增加丢块时的邻块插值补全逻辑,适配厂商自定义的像素格式映射规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 08:42:03