1、收到init_ok的初始化和重新初始化:
1.1、初始化:new hisiVideoRender调用init
里面有10个ffmpeg线程,主要是用ffmpeg读取输入源的视频包,发给海思解码,或发给平台
里面还有10个FfmpegPackage线程,主要是用来保存各路视频文件用
一个SnapshotThread线程,用来定时截图,截图后的ftp任务添加到UpdateSnapshotfileThread
BuildVideoRender过程:
QueryEquipmentInfo从数据查输入源保存到map中select * from equipment where streamtype=2
ffmpegthread取流:
在videorender初始化时
m_pFfmpg[nDecodIndex] = new FfmpegThread((IVideoFrameComming*)this, nDecodIndex);
m_pFfmpg[nDecodIndex]->Open(nDecodIndex, info->m_strrtsp);
hisiVideoRender继承IVideoFrameComming,这样取流就能发到render的接口VideoFramecoming
render收到流三个处理:
给海思解码,给ffmpegpackage保存文件,给集控模块发给平台推流