随着EasyNVR用户的增多,我们碰到的咨询也越来越多,为了让EasyNVR遇到的问题可以快速定位,我们又开发了一款新的调试工具:EasyStreamClientTool。目前大部分的网络串流资源都可以通过EasyStreamClient工具获取,当某一路流出现无法获取或者不标准的情况下,我们就可以用EasyStreamClient工具来排查具体问题出在什么环节。
调试流程
调试某一路流是否能够正常接入,我们可以从:连接-》信令(协议)-》流媒体数据解析-》串流输出,这4个环节逐一进行排查。
第一步:连接,很多场景下,我们采用"EasyStreamClient -m tcp -d "命令初步连接时,如果接收到数据,会有大批量的帧信息打印,如果无法连接到,这个时候可以直接去进行网络方面的设置和调试了。
第二步:信令,这其实就是RTSP、RTMP、HTTP这些信令控制协议的流程,我们可以通过"EasyStreamClient -d -l <log_level>"这样的命令,打印出整个信令过程,查找过程中是否会有类似于401/500/501/503这样的错误返回。
第三步:流媒体,当信令过程也无异常,那么下一步就是收流过程了。收流是一个流媒体数据包解析与合并的过程,当我们要调试收到或者解析的音视频数据是否符合规范,可以使用命令"EasyStreamClient -d -s file -f ",将收到的数据存成文件,再利用桌面工具,对音视频数据进行具体分析。
参数说明
-m: tcp or udp -d: rtsp、m3u8、rtmp、http -s: file、rtmp -f: fileName、rtmp://dstAddr -t: timeout(seconds) -l: log level 1:print(default) 2:print file
使用示例
1.EasyStreamClientTool.exe -m tcp -d rtsp://admin:a1234567@192.168.99.212:554/h264/ch1/main/av_stream
如果像上图一样能打印大量帧信息打印代表流连接正常,可以继续下一步调试。如果第一步就出现了错误,就可以根据打印的错误码找到问题。
2.第一步连接成功后接下来就是收流,将收到的数据转存文件,再利用工具,对音视频数据进行具体分析。
EasyStreamClientTool.exe -m tcp -d rtsp://192.168.99.180:5548/live/test110 -s file -f ch_1
如果需要将打印的帧数据存日志文件可以使用 -l 2命令,会在打印信息的同时将信息同时存日志文件,会在当前目录下生成.log日志文件。