海思视频监控系统学习.doc

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
海思视频监控系统学习.doc

海思媒体处理平台的主要内部处理流程 如图1-2 所示,主要分为视频输入(VI)、视频 处理(VPSS)、视频编码(VENC)、视频解码(VDEC)、视频输出(VO)、视频侦测分 析(VDA)、音频输入(AI)、音频输出(AO)、音频编码(AENC)、音频解码(ADEC)、 区域管理(REGION)等模块。 VI 模块捕获视频图像,可对其做剪切、缩放、镜像等处理,并输出多路不同分辨 率的图像数据。 ???解码模块对编码后的视频码流进行解码,并将解析后的图像数据送 VPSS 进行图 像处理或直接送VO 显示。可对H264/VC1/MPEG4/MPEG2/AVS 格式的视频码流 进行解码。 ???VPSS 模块接收VI 和解码模块发送过来的图像,可对图像进行去噪、图像增强、 锐化等处理,并实现同源输出多路不同分辨率的图像数据用于编码、预览或抓 拍。 ???编码模块接收 VI 捕获并经VPSS 处理后输出的图像数据,可叠加用户通过Region 模块设置的OSD 图像,然后按不同协议进行编码并输出相应码流。 ???VDA 模块接收VI 的输出图像,并进行移动侦测和遮挡侦测,最后输出侦测分析 结果。 ???VO 模块接收VPSS 处理后的输出图像,可进行播放控制等处理,最后按用户配置 的输出协议输出给外围视频设备。 ???AI 模块捕获音频数据,然后AENC 模块支持按多种音频协议对其进行编码,最后 输出音频码流。 用户从网络或外围存储设备获取的音频码流可直接送给ADEC 模块,ADEC 支持解码 多种不同的音频格式码流,解码后数据送给AO 模块即可播放声音。 示例程序功能分析: 硬盘管理初始化: 初始硬盘没有工作; 检测外部设备: 挂载硬盘; 初始化系统全局信息: struct __DVR_SYSTEM_INFO_T { DVR_SystemBuffer_T *MediaBuffer; DVR_SYSTEM_STATE_T SystemState;//系统状态 DVR_H264_Profile_T *H264Profile; DVR_Recorder_T *DTRecorder; DVR_NetClientInstance_T *DTNetClient; LIVE_MODE live_mode; DVR_I32_T system_format ;//ntsc ,pal DVR_U32_T stImageSize_Width; DVR_U32_T stImageSize_Hight; System_Output_Method_T system_output_method;//0---VGA,1----CVBS DVR_U8_T RbootfOrPowerDown; DVR_U8_T screenResolution; }; 这里只设置了SystemState = DVR_STATE_INIT;system_output_method = SYSTEM_VGA_OUTPUT;并将此空间挂入globalVal中。 分配媒体缓冲并初始化: 接续对MediaBuffer进行开空间及赋值; typedef struct { DVR_BUFFER_T *H264Buffer[DVR_SYSTEM_CHANNEL_NUMBER *DVR_MAX_STREAM_NUM]; //Video buffer DVR_BUFFER_T *AudioBuffer[DVR_SYSTEM_CHANNEL_NUMBER *DVR_MAX_STREAM_NUM]; //AudioBuffer int *StreamBufferCount[DVR_SYSTEM_CHANNEL_NUMBER *DVR_MAX_STREAM_NUM]; int *StreamIndicator[DVR_SYSTEM_CHANNEL_NUMBER *DVR_MAX_STREAM_NUM]; } DVR_SystemBuffer_T; 代码中实际并没有开出H264Buffer; 获得系统配置(可以通过文件,也可以通过在代码中直接写死) 下面是读取配置文件的数据结构 typedef struct _ALLCONFIG_T { AllConfigDef_t AllConfigDef; //系统全局配置 pthread_mutex_t config_lock; bool init_mutexLock; } A

文档评论(0)

zhangningclb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档