eview得流媒体得总体流程如下图所示:
现存在问题如下:
- 前端向httpserver服务请求视频:httpserver立马返回一个流地址。导致视频流还没推送上去。前端已经向livego请求拉流。导致无法获取到视频流。
- livego存在不稳定得情况。
- 前端页面无法检测到视频掉线的情况。
draw.io Diagram | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
PKPushStreamServer.exe服务的流程如下
draw.io Diagram | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
信令线程池的实现流程图:
draw.io Diagram | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
程序开发过程中常见的问题:
- 视频推流正常,但是显示视频端,视频显示的播放慢:
- 最大的原因是流的pts和dts的计算问题。每次推流的时候,都是pts和dts归0.开始推流的。在函数CalcPtsAndDts()。之前frame_index 每次多加了个1.导致视频流卡
- 在计算pts和dts的地方,程序异常:
- 调试发现:设置流的协议地方出错,setStreamInfo();使用默认参数即可。 导致out_stream的指针为空。异常。
程序异常修复记录:
2020-03-22:
- 修复解析json消息的地方。JSONMSG的消息未赋值摄像机名称。导致在打印日志的地方。异常。