<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zakker的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/zakker</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zakker]]></copyright><item><title><![CDATA[2011-09-11]]></title><link>https://blog.youkuaiyun.com/zakker/article/details/7966398</link><guid>https://blog.youkuaiyun.com/zakker/article/details/7966398</guid><author>zakker</author><pubDate>Tue, 11 Sep 2012 11:15:43 +0800</pubDate><description><![CDATA[linux :
tar zxvf bz
tar jxvf bz2


将头文件做个符号链接，即：ln -s /usr/local/include/boost /usr/include/boost


ubuntu apt-get bulid-essential


JRE:
sudo chmod 755 /opt/java/32/jre-6u16-linux-i586.bi]]></description><category></category></item><item><title><![CDATA[2012-06-30]]></title><link>https://blog.youkuaiyun.com/zakker/article/details/7705522</link><guid>https://blog.youkuaiyun.com/zakker/article/details/7705522</guid><author>zakker</author><pubDate>Sat, 30 Jun 2012 20:18:55 +0800</pubDate><description><![CDATA[这个月就这样的过去了，打个简单的总结，ok的就不写了，只写一下心里还没底的东西：
1- P2P ，原理是用UDP打洞来解决，但毕竟没有测试过，NAT的类型又是多种多样，不能保证所有的CONNET都能进行P2P通信
2- UDP，UDP在传递大数据量时候有个弊端就是由于客观原因，很容易出现数据掉包的情况，A/V数据流掉包就没办法搞了，所以方案只能做数据的手工切片和重组，而且要切为500多个字节为]]></description><category></category></item><item><title><![CDATA[2012-06-29]]></title><link>https://blog.youkuaiyun.com/zakker/article/details/7703601</link><guid>https://blog.youkuaiyun.com/zakker/article/details/7703601</guid><author>zakker</author><pubDate>Fri, 29 Jun 2012 19:23:57 +0800</pubDate><description><![CDATA[今天开始搭建界面了，虽然录文件的模块还没做，不过从上往下做要容易一些，另外SERVER数据模块也封装完毕，但还没有跑过，也没那么多时间去写模块的测试程序了。
回顾了一下CAMVIEW的UI，又牵扯到了MFC的自绘控件（想要UI看得，这个也是没办法的），总之意思就是UI编辑器是基本上废了，全部用代码实现控件的创建，绘制，数据交互等等，实现起来比较耗时间的说。
另外UI的布局也比比较费事的，不想搞]]></description><category></category></item><item><title><![CDATA[2010-06-28]]></title><link>https://blog.youkuaiyun.com/zakker/article/details/7699815</link><guid>https://blog.youkuaiyun.com/zakker/article/details/7699815</guid><author>zakker</author><pubDate>Thu, 28 Jun 2012 16:16:02 +0800</pubDate><description><![CDATA[这两天主要把UPNP的功能模块完善和整合
1-主要流程是发送discover 消息到内网多播端口，并接受反馈
2-根据反馈查询描述文件地址（192.168.1.90:49152/iftcdevicedesc.xml）
3-根据ip ，port，filename下载xml
4-解析xml，获取描述字段（presentationURL>http://192.168.1.90/presentat]]></description><category></category></item><item><title><![CDATA[2012-06-26]]></title><link>https://blog.youkuaiyun.com/zakker/article/details/7694671</link><guid>https://blog.youkuaiyun.com/zakker/article/details/7694671</guid><author>zakker</author><pubDate>Wed, 27 Jun 2012 00:03:12 +0800</pubDate><description><![CDATA[开始正式搭建程序构架， 基本的功能代码已经梳理通...
1- 网络模块，包括tcp/udp的消息的收发， 事件回调 (udp还需要修改协议，确保验证A/V数据包完整性，切分数据报文到512 bytes/per ，保证底层不对数据切片 )
2- 数据模块，8k/16K/6M 定长内存池， 多线程池
3- 解码模块，video - h264, audio - g711a/u
4- 视频绘图，G]]></description><category></category></item><item><title><![CDATA[2012-06-23]]></title><link>https://blog.youkuaiyun.com/zakker/article/details/7686107</link><guid>https://blog.youkuaiyun.com/zakker/article/details/7686107</guid><author>zakker</author><pubDate>Sat, 23 Jun 2012 15:14:53 +0800</pubDate><description><![CDATA[“热烈感谢屈原同志用自己的生命为我们换来的一天假期....” 这个太厉害了
这两天把udp通信搞了一下，以前用udp的时候几乎没有，所以看了一些资料，已经编码一些基础的功能，需要考虑的问题是：
在做UDP并发广播的时候，不知是udp的缓存池是否是线程安全的，同时往缓存里面扔数据，会报错么？
另外，说在做大数据包发送的时候，需要将数据分切成小数据包（mtu:1400）的长度来发送，如果一个数据]]></description><category></category></item><item><title><![CDATA[2012-06-21]]></title><link>https://blog.youkuaiyun.com/zakker/article/details/7684134</link><guid>https://blog.youkuaiyun.com/zakker/article/details/7684134</guid><author>zakker</author><pubDate>Fri, 22 Jun 2012 09:54:35 +0800</pubDate><description><![CDATA[昨天又忘记写日志，哎，健忘啊....
主要把网络模块TCP的事件回调机制完成了，由于通用采用异步机制，所以回调是很必要的
1- 当remote连接上，主要使用在异步投递待连接套接字，初始化为2000个
2- 当主动连接超时，主要考虑到如果连接IPC，server失效等
3- 当主动连接成功，主要使用在连接到IPC，server的事件通知，请求等
4- 当接收到数据，主要划分数据的解析，这]]></description><category></category></item><item><title><![CDATA[2012-06-20]]></title><link>https://blog.youkuaiyun.com/zakker/article/details/7681041</link><guid>https://blog.youkuaiyun.com/zakker/article/details/7681041</guid><author>zakker</author><pubDate>Wed, 20 Jun 2012 21:23:39 +0800</pubDate><description><![CDATA[今天把播放音频的功能测试了一下，更改IPC配置，测试了 ADPCM  和 G711A 两种格式 ，可以放出声音，并且是连续的，这就足够了，应该对这块要求不是那么高吧
 
要注意的有两点：
一是在播放音频的时候可能需要做缓存播放，虽然可能这个缓存很小
二是在播放音频的时候，音频数据的缓存需要一直保存，直到wave播放结束，需检测播放事件回调函数
 
今天开会的结论，CLIENT的UI需参]]></description><category></category></item><item><title><![CDATA[2012-06-19]]></title><link>https://blog.youkuaiyun.com/zakker/article/details/7677926</link><guid>https://blog.youkuaiyun.com/zakker/article/details/7677926</guid><author>zakker</author><pubDate>Tue, 19 Jun 2012 22:33:56 +0800</pubDate><description><![CDATA[以前遗留了一个问题，这两天把它补上，就是音频数据的播放，以前的认知只是停留在播放MP3和WAV文件上，算是更深入的了解音频数据的播放。
思路基本上是：
IPC传递过来的A_FRAME指定类型有三种，分别为ADPCM,G771A,G711U，通过解码为wav输出，看到wav就比较亲切了.... MCI 也忘记得差不多了，以前用来搞过麦克风的录音和回放的，还要翻一下MSDN才清楚，起码要写控制接口]]></description><category></category></item><item><title><![CDATA[2012-06-18]]></title><link>https://blog.youkuaiyun.com/zakker/article/details/7672304</link><guid>https://blog.youkuaiyun.com/zakker/article/details/7672304</guid><author>zakker</author><pubDate>Mon, 18 Jun 2012 09:43:02 +0800</pubDate><description><![CDATA[昨天了解到一个自己不知道的东西，毕竟游戏没有这种应用场景，所以看看资料，UDP如何实现打洞实现P2P？
关键词：UDP, NAT
应用场景：
第一种场景，我们假设两个客户端都处于不同的NAT之后；
第二种场景，我们假设两个客户端都处于同一个NAT之后，但是它们彼此都不知道(他们在同一个NAT中)。

NAT的类型：
1 -Full Cone ，这种NAT内部的机器A连接过外网机器C后]]></description><category></category></item><item><title><![CDATA[2012-06-16]]></title><link>https://blog.youkuaiyun.com/zakker/article/details/7669891</link><guid>https://blog.youkuaiyun.com/zakker/article/details/7669891</guid><author>zakker</author><pubDate>Sun, 17 Jun 2012 00:01:54 +0800</pubDate><description><![CDATA[写个完整的网络引擎还是比较废时间，现在需要处理多套通信流协议，更是麻烦，由于基础协议不统一，程序只好把数据流按规则分开，本来想把不同协议的连接独立进程完全划分开，又考虑到两端资源需要相互调用，要做一个很大的泛型程序模型才能容纳这些内容。
通信模块的代码下周三一定要完，最多耽搁一天，不然后面就有点紧了。
 
另外，备注记录两点是：
一.在做跨资源域访问的时候，很多资源模块看起来都是singl]]></description><category></category></item><item><title><![CDATA[2012-06-15]]></title><link>https://blog.youkuaiyun.com/zakker/article/details/7668344</link><guid>https://blog.youkuaiyun.com/zakker/article/details/7668344</guid><author>zakker</author><pubDate>Sat, 16 Jun 2012 09:03:42 +0800</pubDate><description><![CDATA[昨天忘记写了，搞的脑壳昏，把csdn的密码忘记了.... 才发现优快云也屈服了，可以绑定第三方账号(腾讯等)，看来腾讯这个用户数据库还是蛮值钱的啊。
主要搞线程工作，总觉得开那么多线程不合适，因为这套东西很可能放在家用PC上，不象服务器有那么多CPU，线程开多了的话效率反而会降低，动态分配线程来完成业务也是比较复杂的事情，而且多线程工作的话，一是要考虑共享数据资源的安全，二是要竟可能让资源独立]]></description><category></category></item><item><title><![CDATA[2012-06-14]]></title><link>https://blog.youkuaiyun.com/zakker/article/details/7664642</link><guid>https://blog.youkuaiyun.com/zakker/article/details/7664642</guid><author>zakker</author><pubDate>Thu, 14 Jun 2012 22:04:11 +0800</pubDate><description><![CDATA[更新了《NVR总体设计》，主要是UI方面的设计，主要考虑的是功能的实现，这个方案很可能变动
另外开始搭建程序主框架，依然按模块开发，以前为了开发速度，所以很多东西考虑都不完全，这次把这些东西都封装好，所以做的速度也比较慢，有些头文件很接口声明也多考虑了一下，一是为了独立性，二是为了通用性，有些接口设计还是使用TEMPLATE比较好，虽然说代码很不好看，但也是为了扩展功能的考虑
作为通信模块是很]]></description><category></category></item><item><title><![CDATA[2012-06-13]]></title><link>https://blog.youkuaiyun.com/zakker/article/details/7661361</link><guid>https://blog.youkuaiyun.com/zakker/article/details/7661361</guid><author>zakker</author><pubDate>Wed, 13 Jun 2012 23:08:03 +0800</pubDate><description><![CDATA[上午把 NVR  SERVER 和 IPC的通信写搞了， 一切从简，尽量减少交互的信息和次数
有一点比较麻烦，不管是IPC 还是 CLIENT，都需要预设 NVR SERVER的IP 之后才能工作，IPC那边不清楚， CLIENT在登录时会有IP CONTROL来填写 NVR的地址，同时也会写入本地配置文件
1- 存储依然放在服务器端，回放的时候还是只能在服务器调度文件， C/S 之间传递视频]]></description><category></category></item><item><title><![CDATA[2012-06-12]]></title><link>https://blog.youkuaiyun.com/zakker/article/details/7657582</link><guid>https://blog.youkuaiyun.com/zakker/article/details/7657582</guid><author>zakker</author><pubDate>Tue, 12 Jun 2012 22:04:46 +0800</pubDate><description><![CDATA[今天参加了于上海公司的网上会议，LAN NVR 是不用考虑做了
系统目标是微客户群，面向小区或者企业用户，估计设备也就50个以内了吧，以前做游戏通信那套东西还是要搬出来重新来一次，真后面没把自己的代码COPY一份。
客户端和摄像机 对于服务器来说都是一样的，不同是的 摄像机只是一路数据通信， 客户端则是多路数据同时发送，做TCP数据转发的时候应该考虑效率的问题。
瓶颈在于带宽的问题，也就是服]]></description><category></category></item><item><title><![CDATA[2012-06-11]]></title><link>https://blog.youkuaiyun.com/zakker/article/details/7653194</link><guid>https://blog.youkuaiyun.com/zakker/article/details/7653194</guid><author>zakker</author><pubDate>Mon, 11 Jun 2012 16:50:31 +0800</pubDate><description><![CDATA[在IPv4环境，当需要使用多播方式传送相关消息的时候，SSDP一般使用多播地址239.255.255.250和UDP端口号1900。
 
UPNP功能不做了... 由IPCAM直连NVR。需求更改： 软件拆分为 SERVER / CLIENT，又是要搞一套通信协议出来，改的东西多哦。
 
记录今天修改的几个bug：
1- FFMpeg在初始化avcodec_open的时候，这个函数不是线]]></description><category></category></item><item><title><![CDATA[2012-06-08]]></title><link>https://blog.youkuaiyun.com/zakker/article/details/7646712</link><guid>https://blog.youkuaiyun.com/zakker/article/details/7646712</guid><author>zakker</author><pubDate>Fri, 08 Jun 2012 21:20:29 +0800</pubDate><description><![CDATA[今天终于把LIVE VIEW调通了，几经周折，遇到的问题还是记录下吧
1- ffmpeg在做yub2rgb的时候，会出现画面倒立（这个比较容易理解），另外在做非等比缩放的时候，会出现一些画面的上的问题，我想如果缩放RBG应该不会出现这样的问题吧，以前没处理yuv数据，这方面没什么经验
2- 在绘制DIB数据的时候，有的时候总觉得画面有延迟，使用ipcam上的AX来播放，还是延迟，这样看来觉得是]]></description><category></category></item><item><title><![CDATA[2012-06-07]]></title><link>https://blog.youkuaiyun.com/zakker/article/details/7641647</link><guid>https://blog.youkuaiyun.com/zakker/article/details/7641647</guid><author>zakker</author><pubDate>Thu, 07 Jun 2012 14:01:21 +0800</pubDate><description><![CDATA[今天拿到了老徐的反馈，终于找到了有点价值的信息
EMAIL原文：
先接收的64字节为AV_FRAME结构
接下来的数据为buffer
另外下边的代码注意字节顺序：
h264_header.length = ntohs(data_size); 
其实我也关注过这个变量，鬼才知道做网络发送之前会颠倒字节序，我勒个去，不加密就这么搞....有木有
实际上经过测试，客户端指定userdata]]></description><category></category></item><item><title><![CDATA[2012-06-06]]></title><link>https://blog.youkuaiyun.com/zakker/article/details/7640037</link><guid>https://blog.youkuaiyun.com/zakker/article/details/7640037</guid><author>zakker</author><pubDate>Wed, 06 Jun 2012 22:29:22 +0800</pubDate><description><![CDATA[把界面重新code了一下，主要把绘制RGB的窗口的代码搞了一下。
记录几个要注意的地方：
1- 子窗口以父窗口的CWnd创建以后，其ClientRect是以自身的rect为基准，不再是绝对的坐标或者上级窗口的坐标，为此耽误了起码2个钟头，子窗口的rect始终无法按要求动态布局到最大铺满rect也是这个原因
2- 在绘制CSTATIC CONTROL的时候，采用DRAWDIB API，这样可以]]></description><category></category></item><item><title><![CDATA[2012-06-05]]></title><link>https://blog.youkuaiyun.com/zakker/article/details/7636195</link><guid>https://blog.youkuaiyun.com/zakker/article/details/7636195</guid><author>zakker</author><pubDate>Tue, 05 Jun 2012 22:24:08 +0800</pubDate><description><![CDATA[今天把UI简单搞了一下，MFC好久没碰了，CONTROL的使用也是生疏了，当然做起来也不是很吃力，微软这套东西虽然很经典，内部确实做的太麻烦了，真要把MFC搞很的很懂，估计要个一年半载的了。
NVR的设计先考虑用DLG模块化，主要是封装监控和回放的两个对话框，先试做了monitor的dlg，根据客户端PC的分辨率自适应最大化，多窗口动态分布，可指定监控窗口的数量，根据摄像机的个数指定，以便保证用]]></description><category></category></item></channel></rss>