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