新版本的流媒体服务器,如EasyGBS、EasyNVR等平台,采用的都是H.265的播放器,也就是说能够实现网页无插件播放H.265编码视频。
EasyNVR的视频广场就是显示快照的地方,能够直观展示视频直播的状态。正常来说,视频接入EasyNVR后,不管是什么格式,都能显示快照。但是我们发现在EasyNVR接入H.265视频流,视频广场并没有显示快照。
我们将log打印出来,显示报错“Get snap DecodeVideo failed! ret = -5”,如下:
随后我们增加了log调试。
获取H.265视频流的CodecID是173,可以看到代码中对于H.265的快照做了限制,只允许对H.264获取快照。
在此处修改下代码,直接返回,不对编码格式进行判断。修改拉流库代码,删除后在获取快照时对编码格式进行判断如下:
修改后则能够正常显示H.265编码视频的快照了。