flv.js播放http-flv流时报错分析

时间:2024-04-12 12:17:06

错误描述:

console 信息:
Uncaught (in promise) DOMException
flv.js:11675 [MSEController] > MediaSource onSourceOpen
flv.js:11590 [TransmuxingController] > DemuxException: type = FormatError, info = Flv: Invalid AVCDecoderConfigurationRecord

错误的大致意思是:格式错误,无效的AVCDecoderConfigurationRecord,而这AVCDecoderConfigurationRecord是flv格式中对于h264编码的视频数据特定的结构,对应h264编码中的pps\sps信息;

分析手段:

  1. 使用谷歌浏览器保存流到本地文件:
    flv.js播放http-flv流时报错分析
  2. 将文件重新另存为 a.flv
    flv.js播放http-flv流时报错分析
  3. 使用flv工具进行分析:(在此要感谢工具的分享者)
    工具名称:flv.js播放http-flv流时报错分析
    flv.js播放http-flv流时报错分析
    发现flv格式有error,然后切换到提示信息:
    flv.js播放http-flv流时报错分析
    发现与一开始的判断一致,是sps和pps无效;打开数据块进行具体分析;
    flv.js播放http-flv流时报错分析
    最终发现并找到问题。
    最后感谢这款工具的提供者,为我们分析此类问题节约了大部分的时间。
    flv.js播放http-flv流时报错分析