numberwolf / h265web.js

🔥 作者:常炎隆(Author: ChangYanlong):HEVC/H.265 网页直播/点播播放器 支持硬解! 支持H.265的HttpFLV/HLS/MP4/TS/FLV/M3U8/Websocket播放。 🔥 A HEVC/H.265 Web Player, Support hard-decoding! for LIVE/VOD stream. Support H.265 Codec with HttpFLV/HLS/MP4/TS/FLV/M3U8/Websocket.
http://v.yuveye.com/h265web
Other
2k stars 353 forks source link

flv-hevc.js中_skip_hrd_parameters方法定义缺少参数hvcc,导致播放时报“hvcc is not defined”,播放黑屏 #249

Open guwolf opened 1 year ago

guwolf commented 1 year ago

主题 (这个地方选一个 问题 或者 需求)

场景

问题:播放 http flv h265 失败 模式:直播

视频 URL

http://192.168.0.11:800/live/test.flv

视频信息 编码:H265 封装格式:flv

问题描述

1)src/src-js/src/demuxer/flv-hevc/flv-hevc.js中,调用_skip_hrd_parameters方法处,传了参数hvcc 5626: HevcSPSParser._skip_hrd_parameters(gb, hvcc, 1, max_sub_layers_minus1);

2)但在_skip_hrd_parameters方法声明定义处,又缺少hvcc参数 5691: HevcSPSParser._skip_hrd_parameters = function (gb, cprms_present_flag, max_sub_layers_minus1) {

3)当VUI参数vui_hrd_parameters_present_flag为1时,播放此码流时,浏览器F12报错“hvcc is not defined”,报错行号为 5730: hvcc.fps_fixed = fixed_pic_rate_general_flag;

是否偶发

否(VUI参数vui_hrd_parameters_present_flag为1时,必现)

补充

微信图片_20231016145114

isVince commented 11 months ago

我也遇到这个问题

isVince commented 11 months ago

HVCC(H.265),这种情况大概是流协议不一样,需要经过解析处理。我遇到这个问题时,是用框架对接大华摄像头推得原始流,因此出现了hvcc is not defined。我采用的方案是:将所有原始流交给英伟达进行处理,我接受英伟达提供的地址进行播放。结果这个问题就迎刃而解了。