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

使用ffmpeg抓取IP摄像头HEVC/H265 RTSP流输出视频出现绿条问题求助

问题原因分析

你遇到的绿条故障本质是H265码流解码时帧信息不完整导致的,当前你用的-vcodec copy流复制模式下,ffmpeg不会对码流做任何修正,只要出现以下任意一种情况就会出现花屏、绿条:

  • RTSP默认走UDP传输,网络波动导致码流NALU单元丢包,帧数据不完整
  • 摄像头输出的H265流没有在每个关键帧前携带SPS/PPS参数集,拉流起始阶段没抓到参数集就会导致后续所有帧解码出错
  • MP4容器打包H265流时缺少必要的格式转换参数,导致封装后的文件头信息异常

你使用的node-rtsp-recorder默认生成的ffmpeg参数只适配了基础的H264流录制,没有兼容H265流的特殊配置,是问题的核心诱因。

解决方案
  • 优先修改ffmpeg调用参数,新增RTSP传输协议配置,强制走TCP避免丢包:
    给spawnargs数组插入'-rtsp_transport', 'tcp'参数,插入位置在'-i'之前,修改后参数如下:
    spawnargs: [
      'ffmpeg',
      '-rtsp_transport',
      'tcp',
      '-i',
      'rtsp://[...]',
      '-vcodec',
      'copy',
      'videos/cam1/Aug-26th-21/video/2021-8-26-5-51-13.mp4'
    ]
    
  • 如果修改传输协议后仍有绿条,新增H265码流过滤参数,补充封装所需的头信息:
    在-vcodec copy后面新增'-bsf:v', 'hevc_metadata'参数,自动补全H265流的元信息
  • 上述方案都无效的话,放弃流复制,改用软转码模式,ffmpeg会自动修正错误帧:
    把'-vcodec', 'copy'替换为'-vcodec', 'libx265', '-crf', '28',CRF值可根据画质需求调整,数值越小画质越高、文件越大
  • 额外排查项:确认摄像头的编码配置为固定分辨率、固定GOP,关闭动态码率之外的动态编码参数,避免流格式频繁变化导致封装异常
故障效果参考

绿条故障效果图

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 09:36:03