毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

数字视频监控系统客户端设计+源代码+绪论 第6页

更新时间:2010-9-8:  来源:毕业论文
数字视频监控系统客户端设计+源代码+绪论 第6页
链接,请求一个Public Key,然后客户端会用接收到的Public Key对将要发送给服务器的认证信息进行加密,最后服务器端会返回一个认证结果,如果用户信息和PublicKey均为有效,客户端将会收到一个AuthValue,这个值将会在以后和服务器的交流中用于认证。客户端和服务器的认证协议如下图:图4-3 远程认证过程示意图
相反stop函数则在管线的状态从READY变化为NULL的时候被调用,主要实现优雅地中断和远程设备的链接。在断开auth port上的链接前要先保证control port和data port上的链接已经断开。
create函数则最为重要,实现从远程设备读取数据并组合成完整的GstBuffer,提供下游元件处理,当管线在PAUSE或PLAYING状态下create函数会被反复调用。在create函数里,首先会从input stream里读取一个数据包头大小的数据,然后检查数据包是否合法,接着分析数据包头部信息创建一个特定大小的GstBuffer,这个GstBuffer用以存放将要接收到的所有数据,等数据都接收并存放到这个GstBuffer后,GstBuffer将会被加入到一个预先创建的GstAdapter中,最后检查GstAdapter中的数据是否完整,例如一个完整的视频帧,如果数据已经完整则把数据Push到source衬垫,否则进入下一次读取数据的流程。
读取数据的基本流程如下图:
图4-4接收数据流程图4.1.2 udworksdemux 元件的实现
udworksdemux继承于GstElement,GstElement是所有Gstreamer 元件的父类,是最基本的元件。udworksdemux对udworkslive提供的数据动态地分为视频数据和音频数据,并动态地创建GstPad,通知下游的元件处理相应的数据。
4.2通用设备管理的实现
基于通用设备管理的基本设计思想,按产品计划的需求视频监控系统的客户端的第一个版本需要实现对DM365DVR-1系列中4路的产品提供支持。支持DM365DVR-1需要实现的类如下图:
图4-5 dm365Dvr类图
Dm365DvrPreview的中的dm365dvr_live_mixin类主要负责实现dm365dvr的live功能,其中dm365dvr_live_mixin_constructed构造函数主要负责构造live的视频回放管线。实现代码如下:
static void论文网http://www.751com.cn
dm365dvr_live_mixin_constructed(GObject *object)
{
 Dm365dvrLiveMixinPrivate *priv = DM365DVR_LIVE_MIXIN_GET_PRIVATE(object);
 GstElement *source, *demux;本文来自辣-文'论-文~网

 priv->pipeline = gst_pipeline_new("root device nane");
 // make
#if 0
 source = gst_element_factory_make("udworkslivesrc", NULL);
 g_assert(source != NULL);

 demux = gst_element_factory_make("udworksdemux", NULL);
 g_assert(demux != NULL);
#else
 source = gst_element_factory_make("filesrc", NULL);
 g_assert(source != NULL);

 demux = gst_element_factory_make("ffdemux_mov_mp4_m4a_3gp_3g2_mj2", NULL);
 g_assert(demux != NULL);

上一页  [1] [2] [3] [4] [5] [6] 

数字视频监控系统客户端设计+源代码+绪论 第6页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。