H265视频播放器项目EasyPlayer-RTSP-WIN异常终止原因分析
Posted TSINGSEE
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了H265视频播放器项目EasyPlayer-RTSP-WIN异常终止原因分析相关的知识,希望对你有一定的参考价值。
EasyPlayer播放器系列项目可以说是目前市面中一款非常开放的播放器项目,用户可以根据自己的需求调用接口或者进行开发,实用性强,稳定性也足够优越。上周我们遇到一个用户在使用EasyPlayer-RTSP-WIN的时候报异常终止,程序无法正常运行,如下图:
于是给该用户远程调试了一次,现在将过程记录下来。
1、既然程序已经正常运行,说明肯定不是VC环境等问题导致的异常终止;
2、用户在输入RTSP流地址后,点击播放按钮的时候出现的异常终止,说明异常肯定是在预览函数后面触发的,于是带着疑问单步调试程序,最终定位发现是数组长度定义短了,导致无法完整拷贝字符串。
下面是具体代码处:
定位在OnBnClickedButtonPreview()函数中,如下图中,用户原本输入的URL为:
rtsp://60.208.113.69:1192/37166000581314000001#18?DstCode=01&IsExDomain=1&ServiceType=1&ClientType=0&StreamID=1&SrcTP=2&DstTP=2&SrcPP=0&DstPP=1&MediaTransMode=0&BroadcastType=0&SV=3&Token=gAx2g2e2ki7ybRzFOrV7MnshjMtlb9Wzhy4L7lEeR4I=&ExNat=1&DomainCode=f0ad2e06cb4946d9a67a6f96beb6f5dd&UserId=1&
但是单独调试到此位置后wszURL已经变成:
rtsp://60.208.113.69:1192/37166000581314000001#18?DstCode=01&IsExDomain=1&ServiceType=1&ClientType=0&StreamID=1&SrcTP=2&DstTP=2&
在设计之初,我们并未考虑到URL会出现这么长的情况,已经超过128位,于是重新定义:wchar_t wszURL[512] = {0,};重新跟踪代码,发现到上诉位置时,URL已经被全部拷贝,接着运行下去也再无报错,并且成功预览出图像:
在该问题中,URL地址过长的问题已经得到了优化,在此我们也欢迎更多的朋友在自己的运行环境中测试EasyPlayer播放器,并及时告知我们需求,我们定会在用户体验上做进一步的调整和完善。
以上是关于H265视频播放器项目EasyPlayer-RTSP-WIN异常终止原因分析的主要内容,如果未能解决你的问题,请参考以下文章
H265网页视频播放器项目EasyPlayer.JS版本不支持PCM/711音频格式如何转换?
Windows/Android/iOS平台视频播放器EasyPlayerEasyPlayer.js调用中无法播放H265视频流如何解决?
H265编码视频流媒体播放器EasyPlayer.js支持9宫格视频同屏播放的写法