<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_oskycar</title><subtitle type="text"/><id>http://feed.cnblogs.com/blog/u/29528/rss</id><updated>2011-02-28T10:41:10Z</updated><author><name>oskycar</name><uri>http://www.cnblogs.com/oskycar/</uri></author><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/oskycar/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/29528/rss"/><entry><id>http://www.cnblogs.com/oskycar/archive/2011/02/28/1967376.html</id><title type="text">linux下进行ftp上传下载的python代码-python</title><summary type="text">最近需要频繁的在windows和linux下进行文件传输，但是linux下又没有像飞鸽传书那样方便的软件，参阅网上的一些例子，自己写了个上传下载的python代码：上传：1、设置好服务器的ip，登录服务器的用户名、密码，2、设置好准备上传到服务器的位置：ftpdir3、设置好待上传的文件的目录：filedir_client4、运行：python upload.py ,按照程序提示输入要上传的文件名，回车等待。5、完成。#!/usr/bin/env python#upload filefrom ftplib import FTP#ip = raw_input("enter ip or </summary><published>2011-02-28T10:41:00Z</published><updated>2011-02-28T10:41:00Z</updated><author><name>oskycar</name><uri>http://www.cnblogs.com/oskycar/</uri></author><link rel="alternate" href="http://www.cnblogs.com/oskycar/archive/2011/02/28/1967376.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/oskycar/archive/2011/02/28/1967376.html"/><content type="html">&lt;p&gt;最近需要频繁的在windows和linux下进行文件传输，但是linux下又没有像飞鸽传书那样方便的软件，参阅网上的一些例子，自己写了个上传下载的python代码：&lt;/p&gt;&lt;p&gt;上传：1、设置好服务器的ip，登录服务器的用户名、密码，&lt;/p&gt;&lt;p&gt;2、设置好准备上传到服务器的位置：ftpdir&lt;/p&gt;&lt;p&gt;3、设置好待上传的文件的目录：filedir_client&lt;/p&gt;&lt;p&gt;4、运行：python&amp;nbsp; upload.py&amp;nbsp; ,按照程序提示输入要上传的文件名，回车等待。&lt;/p&gt;&lt;p&gt;5、完成。&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;#!/usr/bin/env python&lt;br/&gt;#upload file&lt;br/&gt;from ftplib import FTP&lt;br/&gt;&lt;br/&gt;#ip = raw_input("enter ip or tick enter for default: ")&lt;br/&gt;#port = raw_input("enter port or tick enter for default: ")&lt;br/&gt;#username = raw_input("enter username or tick enter for default: ")&lt;br/&gt;#password = raw_input("enter password or tick enter for default: ")&lt;br/&gt;#ftpdir = raw_input("enter uploaddir or tick enter for default: ")&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;ip='192.168.1.101'&lt;br/&gt;port='21'&lt;br/&gt;username='yangchuang'&lt;br/&gt;password='.'&lt;br/&gt;ftpdir='filesystem/dsplinktest/'&lt;br/&gt;filedir_client='dsp/export/BIN/DspBios/DAVINCIHD/DM6467GEM_0/DEBUG/'&lt;br/&gt;&lt;br/&gt;bufsize=1024&lt;br/&gt;try:&lt;br/&gt;    ftp=FTP()&lt;br/&gt;    ftp.set_debuglevel(2)&lt;br/&gt;    ftp.connect(ip,port)&lt;br/&gt;    ftp.login(username,password)&lt;br/&gt;    print ftp.getwelcome()&lt;br/&gt;except:&lt;br/&gt;    print "can't login to the server"&lt;br/&gt;    exit&lt;br/&gt;&lt;br/&gt;while 1:&lt;br/&gt;    filename = raw_input("enter upload filename or tick enter for default,q for exit: ")&lt;br/&gt;    if filename=='':&lt;br/&gt;        filename='avinfo.out'&lt;br/&gt;    if filename=='q':&lt;br/&gt;        break    &lt;br/&gt;    try:&lt;br/&gt;        file_handler=open(filedir_client+filename,'rb')&lt;br/&gt;    except:&lt;br/&gt;        print 'no such files,please check the filename'&lt;br/&gt;        continue&lt;br/&gt;&lt;br/&gt;    cmd='STOR '+ftpdir+filename&lt;br/&gt;    ftp.storbinary(cmd,file_handler,bufsize)&lt;br/&gt;ftp.set_debuglevel(0)&lt;br/&gt;ftp.quit()&lt;br/&gt;&lt;/div&gt;&lt;p&gt;下载：设置步骤同上传。&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;#!\usr\bin\env python&lt;br/&gt;#upload file&lt;br/&gt;import os&lt;br/&gt;from ftplib import FTP&lt;br/&gt;&lt;br/&gt;#ip = raw_input("enter  ip or tick enter for default: ")&lt;br/&gt;#port = raw_input("enter the port or tick enter for default: ")&lt;br/&gt;#username = raw_input("enter  username or tick enter for default: ")&lt;br/&gt;#password = raw_input("enter   password or tick enter for default: ")&lt;br/&gt;#ftpdir = raw_input("enter the download  dir or tick enter for default: ")&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;ip='192.168.1.101'&lt;br/&gt;port='21'&lt;br/&gt;username='yangchuang'&lt;br/&gt;password='.'&lt;br/&gt;ftpdir='filesystem//dsplinktest//' # where 's the file on the server&lt;br/&gt;filedir_client='..//' #where do you want to save the file&lt;br/&gt;bufsize=1024&lt;br/&gt;try:&lt;br/&gt;    ftp=FTP()&lt;br/&gt;    ftp.set_debuglevel(2)&lt;br/&gt;    ftp.connect(ip,port)&lt;br/&gt;    ftp.login(username,password)&lt;br/&gt;    print ftp.getwelcome()&lt;br/&gt;    &lt;br/&gt;except:&lt;br/&gt;    print "can't login to the server"&lt;br/&gt;    exit&lt;br/&gt;while 1:&lt;br/&gt;    filename = raw_input("enter download filename or tick enter for default, q for exit: ")   &lt;br/&gt;    if filename=='':&lt;br/&gt;        filename='o.264'&lt;br/&gt;    if filename=='q':&lt;br/&gt;        break&lt;br/&gt;    try:&lt;br/&gt;        file_handler=open(filedir_client+filename,'wb').write&lt;br/&gt;    except:&lt;br/&gt;        print "cann't create such files"&lt;br/&gt;        continue&lt;br/&gt;    &lt;br/&gt;    cmd='RETR '+ftpdir+filename&lt;br/&gt;    try:&lt;br/&gt;        ftp.retrbinary(cmd,file_handler,bufsize)&lt;br/&gt;    except:&lt;br/&gt;        print '----------ERROR-----------:no such files on server'&lt;br/&gt;        continue&lt;br/&gt;ftp.set_debuglevel(0)&lt;br/&gt;ftp.quit()&lt;br/&gt;&lt;/div&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;/div&gt;&lt;p&gt;也可以把*.py文件再linux和windows下编译成可直接执行的文件：*.pyc *.exe文件，以后运行起来更方便了。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/oskycar/aggbug/1967376.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/oskycar/archive/2011/02/28/1967376.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/oskycar/archive/2010/11/17/1879919.html</id><title type="text">扣扣保镖我喜欢</title><summary type="text">扣-扣-保-镖还是挺好用的，上次360召回之后，网上的下载链接都失效了，不过今天偶然发现我的硬盘上还有一份。。就打开试试，结果没事的哈。qq版本：qq2010正式版 sp2.1(1861)趣盘下载地址：http://oskycar.qupan.cc/6768096.html或发我邮件，网易网盘不能共享..呵呵</summary><published>2010-11-17T07:55:00Z</published><updated>2010-11-17T07:55:00Z</updated><author><name>oskycar</name><uri>http://www.cnblogs.com/oskycar/</uri></author><link rel="alternate" href="http://www.cnblogs.com/oskycar/archive/2010/11/17/1879919.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/oskycar/archive/2010/11/17/1879919.html"/><content type="html">&lt;p&gt;扣-扣-保-镖还是挺好用的，上次360召回之后，网上的下载链接都失效了，不过今天偶然发现我的硬盘上还有一份。。就打开试试，结果没事的哈。&lt;/p&gt;&lt;p&gt;qq版本：qq2010正式版 sp2.1(1861)&lt;/p&gt;&lt;p&gt;趣盘下载地址：&lt;a href="http://oskycar.qupan.cc/6768096.html"&gt;http://oskycar.qupan.cc/6768096.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;或发我邮件，网易网盘不能共享..呵呵&lt;/p&gt;&lt;img src="http://www.cnblogs.com/oskycar/aggbug/1879919.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/oskycar/archive/2010/11/17/1879919.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/oskycar/archive/2010/07/28/1787325.html</id><title type="text">define的特殊使用</title><summary type="text">在看ti的源代码的时候看到一个define的特殊使用，或者可能是我以前没这么用过吧。的确很经典。。。。。备忘一下。define的特殊使用编译通过了。分析其原因的确是的，只要参数类型给的正确就可以了。不过这样用有点不习惯。但是ti里面好多结构体的定义都是这么写的。</summary><published>2010-07-28T12:52:00Z</published><updated>2010-07-28T12:52:00Z</updated><author><name>oskycar</name><uri>http://www.cnblogs.com/oskycar/</uri></author><link rel="alternate" href="http://www.cnblogs.com/oskycar/archive/2010/07/28/1787325.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/oskycar/archive/2010/07/28/1787325.html"/><content type="html">&lt;p&gt;在看ti的源代码的时候看到一个define的特殊使用，或者可能是我以前没这么用过吧。的确很经典。。。。。备忘一下。&lt;/p&gt;&lt;div onclick="cnblogs_code_show('d76ad49a-045b-4584-a8ba-e00edbef06c2')" style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;img src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" class="code_img_closed" id="code_img_closed_d76ad49a-045b-4584-a8ba-e00edbef06c2" /&gt;&lt;img src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" onclick="cnblogs_code_hide('d76ad49a-045b-4584-a8ba-e00edbef06c2',event)" class="code_img_opened" id="code_img_opened_d76ad49a-045b-4584-a8ba-e00edbef06c2" style="display: none;" /&gt;&lt;div class="cnblogs_code_hide" id="cnblogs_code_open_d76ad49a-045b-4584-a8ba-e00edbef06c2"&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style="color: #008080;"&gt; 1&lt;/span&gt; &lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;**********************************************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt; 2&lt;/span&gt; &lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt; define的变态使用                                                     &lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt; 3&lt;/span&gt; &lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;**********************************************************************&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt; 4&lt;/span&gt; &lt;span style="color: #000000;"&gt;typedef &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt; A&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt; 5&lt;/span&gt; &lt;span style="color: #000000;"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt; 6&lt;/span&gt; &lt;span style="color: #000000;"&gt;    &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt; i;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt; 7&lt;/span&gt; &lt;span style="color: #000000;"&gt;}A;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt; 8&lt;/span&gt; &lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt; 9&lt;/span&gt; &lt;span style="color: #000000;"&gt;A aa;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;10&lt;/span&gt; &lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;11&lt;/span&gt; &lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;#define&lt;/span&gt;&lt;span style="color: #000000;"&gt; mydefine \&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;12&lt;/span&gt; &lt;span style="color: #000000;"&gt;    &lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;aa,\&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;13&lt;/span&gt; &lt;span style="color: #000000;"&gt;    NULL&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;14&lt;/span&gt; &lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;15&lt;/span&gt; &lt;span style="color: #000000;"&gt;typedef &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt; B&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;16&lt;/span&gt; &lt;span style="color: #000000;"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;17&lt;/span&gt; &lt;span style="color: #000000;"&gt;    A&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt; a;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;18&lt;/span&gt; &lt;span style="color: #000000;"&gt;    &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt; (&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;C)(&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;19&lt;/span&gt; &lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;20&lt;/span&gt; &lt;span style="color: #000000;"&gt;}B;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;21&lt;/span&gt; &lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;22&lt;/span&gt; &lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt; main(&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt; argc, &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;char&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt; argv[])&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;23&lt;/span&gt; &lt;span style="color: #000000;"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;24&lt;/span&gt; &lt;span style="color: #000000;"&gt;    B b&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;{mydefine};&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;25&lt;/span&gt; &lt;span style="color: #000000;"&gt;    printf(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;Hello World!\n&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;26&lt;/span&gt; &lt;span style="color: #000000;"&gt;    &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;27&lt;/span&gt; &lt;span style="color: #000000;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;编译通过了。分析其原因的确是的，只要参数类型给的正确就可以了。不过这样用有点不习惯。但是ti里面好多结构体的定义都是这么写的。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/oskycar/aggbug/1787325.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/oskycar/archive/2010/07/28/1787325.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/oskycar/archive/2010/07/15/1777764.html</id><title type="text">修改配置文件解决ccv一闪而过</title><summary type="text">ccv:多点触摸程序的一个公版后台，由guigroup维护开发。刚开始运行ccv的时候，经常一闪而过。在visualstudio中去调试时也是一闪而过，用命令行去调用，会发现以下错误信息：OF_ERROR: -----------------------------------------------------OF_ERROR: sorry, there is a problem with qu...</summary><published>2010-07-15T02:00:00Z</published><updated>2010-07-15T02:00:00Z</updated><author><name>oskycar</name><uri>http://www.cnblogs.com/oskycar/</uri></author><link rel="alternate" href="http://www.cnblogs.com/oskycar/archive/2010/07/15/1777764.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/oskycar/archive/2010/07/15/1777764.html"/><content type="html">&lt;p&gt;ccv:多点触摸程序的一个公版后台，由guigroup维护开发。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;刚开始运行ccv的时候，经常一闪而过。在visualstudio中去调试时也是一闪而过，用命令行去调用，会发现以下错误信息：&lt;/p&gt;&lt;p&gt;&lt;strong&gt;OF_ERROR: -----------------------------------------------------&lt;br /&gt;OF_ERROR: sorry, there is a problem with quicktime starting up... please check!&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;说是QuickTime启动时出问题了，而我机器上的确没有安装QuickTime。并且看到网上很多的解决方案都是告诉你去安装QuickTime，或者什么驱动之类的。（当然错误提示不一样的话另说）&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;刚开始我也一直这样认为。并且安装QuickTime后的确问题解决了。但是问题真的出在这里吗？？&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;一个偶然的时间，接触到别人利用ccv修改的一个后台，当时我并没有安装什么QuickTime，但是放到我机器上运行的时候并没有出错,而且对比了下目录下依赖的dll文件是一样的。唯一不一样的地方在这里：&lt;/p&gt;&lt;p&gt;当前目录的data文件夹下面有个config.xml的文件，里面有这么一段配置：&lt;/p&gt;&lt;p&gt;--------这个是修改后的ccv后台的配置文件内容------------&lt;/p&gt;&lt;p&gt;&amp;lt;!--// CAMERA SETTINGS // --&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;CAMERA_0&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;USECAMERA&amp;gt;1&amp;lt;/USECAMERA&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DEVICE&amp;gt;1&amp;lt;/DEVICE&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;WIDTH&amp;gt;320&amp;lt;/WIDTH&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;HEIGHT&amp;gt;240&amp;lt;/HEIGHT&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;FRAMERATE&amp;gt;60&amp;lt;/FRAMERATE&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/CAMERA_0&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;--------这个是原版配置文件内容------------&lt;/p&gt;&lt;p&gt;&amp;lt;!--// CAMERA SETTINGS // --&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;CAMERA_0&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;USECAMERA&amp;gt;0&amp;lt;/USECAMERA&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DEVICE&amp;gt;0&amp;lt;/DEVICE&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;WIDTH&amp;gt;320&amp;lt;/WIDTH&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;HEIGHT&amp;gt;240&amp;lt;/HEIGHT&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;FRAMERATE&amp;gt;60&amp;lt;/FRAMERATE&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/CAMERA_0&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 我们会发现，其中&amp;lt;USECAMERA&amp;gt; &amp;nbsp;&amp;lt;DEVICE&amp;gt;项的值是不一样的。细查之后知道：&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;USECAMERA&amp;gt;是用来选择视频来源的：即启动时是打开视频文件还是打开摄像头的，在修改后的ccv和公版ccv的data\test_videos目录下都有一个视频文件&amp;nbsp; &lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;ldquo;RearDI.m4v&amp;nbsp;&amp;rdquo;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DEVICE&amp;gt;是用来选择连接的设备号的，如果机器上有多个摄像头，默认的那个编号为0，依此类推。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;到现在似乎应该明白原因了。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; 1 那么我先将修改后的ccv后台的配置文件中的&amp;nbsp;&amp;nbsp;&amp;lt;USECAMERA&amp;gt;项改为0试试： &lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 问题果然出现了，出错信息也是一样的：OF_ERROR: sorry, there is a problem with quicktime starting up... please check!&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 并且即使配置文件中选择的是USECAMERA=1，可以正常启动，如果在界面里选了&amp;ldquo;use video&amp;rdquo;，程序一样会报错退出。&lt;/p&gt;&lt;p&gt;&amp;nbsp; 2 将公版后台的&amp;lt;USECAMERA&amp;gt;项改为1试试。。果然很爽的启动起来了。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;结论：视频文件的播放需要QuickTime组件的支持，而默认情况下我们的配置文件选择的是播放视频文件，如果没有安装QuickTime，当然会报错了。但是实际情况中我们更多的是使用摄像头，无论是在调试程序还是在发布程序的时候。不知道这个是不是ccv推销QuickTime的一种手段啊。哈哈。。。。。不过问题总算找出来了。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/oskycar/aggbug/1777764.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/oskycar/archive/2010/07/15/1777764.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/oskycar/archive/2009/10/12/1582013.html</id><title type="text">office2007漏洞补定补不上解决方法</title><summary type="text">office2007漏洞补定补不上 我装完office2007后360就提示有25个office漏洞要修复 完了我就用360下载安装 下载完了安装的时候提示(此程序安装包的安装失败) 我就又手动的在文件目录里手动安装也提示(此程序安装包的安装失败) 完了我又从新从微软官方下 下完后安装还是提示(此程序安装包的安装失败) 我实在没折了 上来提个问 希望知道情况的告诉下 应该怎么解决问题 在这衷心感谢...</summary><published>2009-10-12T12:52:00Z</published><updated>2009-10-12T12:52:00Z</updated><author><name>oskycar</name><uri>http://www.cnblogs.com/oskycar/</uri></author><link rel="alternate" href="http://www.cnblogs.com/oskycar/archive/2009/10/12/1582013.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/oskycar/archive/2009/10/12/1582013.html"/><content type="text">office2007漏洞补定补不上 我装完office2007后360就提示有25个office漏洞要修复 完了我就用360下载安装 下载完了安装的时候提示(此程序安装包的安装失败) 我就又手动的在文件目录里手动安装也提示(此程序安装包的安装失败) 完了我又从新从微软官方下 下完后安装还是提示(此程序安装包的安装失败) 我实在没折了 上来提个问 希望知道情况的告诉下 应该怎么解决问题 在这衷心感谢...</content></entry><entry><id>http://www.cnblogs.com/oskycar/archive/2009/09/25/1573977.html</id><title type="text">无驱摄像头-directshow采集方案</title><summary type="text">最近在下载到得directshow视频采集程序中，几乎所有的程序都不支持我的"无驱摄像头"，nnd，我还以为是自己的摄像头有问题呢，但是在qq中可以用其进行视频聊天哦，所以就仔细看了看directshow中视频是如何采集的。看了之后才明白，原来无驱摄像头中只提供了videosource接口，因而不能直接与videorender相连进行视频的采集，而目前大多数有驱动的摄像头在驱动中提供了包括vide...</summary><published>2009-09-25T06:21:00Z</published><updated>2009-09-25T06:21:00Z</updated><author><name>oskycar</name><uri>http://www.cnblogs.com/oskycar/</uri></author><link rel="alternate" href="http://www.cnblogs.com/oskycar/archive/2009/09/25/1573977.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/oskycar/archive/2009/09/25/1573977.html"/><content type="text">最近在下载到得directshow视频采集程序中，几乎所有的程序都不支持我的"无驱摄像头"，nnd，我还以为是自己的摄像头有问题呢，但是在qq中可以用其进行视频聊天哦，所以就仔细看了看directshow中视频是如何采集的。看了之后才明白，原来无驱摄像头中只提供了videosource接口，因而不能直接与videorender相连进行视频的采集，而目前大多数有驱动的摄像头在驱动中提供了包括vide...</content></entry><entry><id>http://www.cnblogs.com/oskycar/archive/2009/08/30/1556924.html</id><title type="text">OPENCV的highgui工程在vc6.0下编译出错的解决</title><summary type="text">最近在论坛里发现有很多人提出如下的问题：怎么按照网站上那个安装方法安装了,但调试运行怎么会出错啊? 错误是: error C2065: 'GetWindowLongPtr' : undeclared identifier C:\Opencv1.0\OpenCV\otherlibs\highgui\window_w32.cpp(243) : error C2065: 'GWLP_USERDATA' ...</summary><published>2009-08-30T15:00:00Z</published><updated>2009-08-30T15:00:00Z</updated><author><name>oskycar</name><uri>http://www.cnblogs.com/oskycar/</uri></author><link rel="alternate" href="http://www.cnblogs.com/oskycar/archive/2009/08/30/1556924.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/oskycar/archive/2009/08/30/1556924.html"/><content type="text">最近在论坛里发现有很多人提出如下的问题：怎么按照网站上那个安装方法安装了,但调试运行怎么会出错啊? 错误是: error C2065: 'GetWindowLongPtr' : undeclared identifier C:\Opencv1.0\OpenCV\otherlibs\highgui\window_w32.cpp(243) : error C2065: 'GWLP_USERDATA' ...</content></entry><entry><id>http://www.cnblogs.com/oskycar/archive/2009/08/30/1556920.html</id><title type="text">编译cvaux错误的原因</title><summary type="text">平台vc6.0;在debug模式下编译cvaux时会提示三个错误：error C2039: 'foreground_regions' : is not a member of 'CvFGDStatModel'error C2039: 'foreground_regions' : is not a member of 'CvFGDStatModel'error C2039: 'foreground_...</summary><published>2009-08-30T14:54:00Z</published><updated>2009-08-30T14:54:00Z</updated><author><name>oskycar</name><uri>http://www.cnblogs.com/oskycar/</uri></author><link rel="alternate" href="http://www.cnblogs.com/oskycar/archive/2009/08/30/1556920.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/oskycar/archive/2009/08/30/1556920.html"/><content type="text">平台vc6.0;在debug模式下编译cvaux时会提示三个错误：error C2039: 'foreground_regions' : is not a member of 'CvFGDStatModel'error C2039: 'foreground_regions' : is not a member of 'CvFGDStatModel'error C2039: 'foreground_...</content></entry><entry><id>http://www.cnblogs.com/oskycar/archive/2009/08/30/1556789.html</id><title type="text">socket使用详解（转）</title><summary type="text">本文详细讲述了windows下socket的5种IO模型，只要你在windows下进行socket编程，一定离不开这5种模型中一种。很值得收藏。Winsock 的I/O操作：1、 两种I/O模式 阻塞模式：执行I/O操作完成前会一直进行等待，不会将控制权交给程序。套接字 默认为阻塞模式。可以通过多线程技术进行处理。 非阻塞模式：执行I/O操作时，Winsock函数会返回并交出控制权。这种模式使用 ...</summary><published>2009-08-30T10:46:00Z</published><updated>2009-08-30T10:46:00Z</updated><author><name>oskycar</name><uri>http://www.cnblogs.com/oskycar/</uri></author><link rel="alternate" href="http://www.cnblogs.com/oskycar/archive/2009/08/30/1556789.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/oskycar/archive/2009/08/30/1556789.html"/><content type="text">本文详细讲述了windows下socket的5种IO模型，只要你在windows下进行socket编程，一定离不开这5种模型中一种。很值得收藏。Winsock 的I/O操作：1、 两种I/O模式 阻塞模式：执行I/O操作完成前会一直进行等待，不会将控制权交给程序。套接字 默认为阻塞模式。可以通过多线程技术进行处理。 非阻塞模式：执行I/O操作时，Winsock函数会返回并交出控制权。这种模式使用 ...</content></entry><entry><id>http://www.cnblogs.com/oskycar/archive/2009/08/19/1549797.html</id><title type="text">directshow抓取摄像头数据的封装类(转载)</title><summary type="text">网上流传很广的CCaptureVideo类有一些小问题，而且使用起来也不是特别方便。为了方便开发人员使用directshow的方便功能，我又重新封装了一下，代码也改了一些，修正了原有的bug，这个版本我相信是稍加修改就可以作为商业代码使用的，让它支持多次摄像头的打开，关闭，以及开始数据采集和关闭数据采集。本来可以把那些没必要的静态成员都放到类里面去的，但是考虑到大家对网上的那个CCaptureVi...</summary><published>2009-08-19T05:58:00Z</published><updated>2009-08-19T05:58:00Z</updated><author><name>oskycar</name><uri>http://www.cnblogs.com/oskycar/</uri></author><link rel="alternate" href="http://www.cnblogs.com/oskycar/archive/2009/08/19/1549797.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/oskycar/archive/2009/08/19/1549797.html"/><content type="text">网上流传很广的CCaptureVideo类有一些小问题，而且使用起来也不是特别方便。为了方便开发人员使用directshow的方便功能，我又重新封装了一下，代码也改了一些，修正了原有的bug，这个版本我相信是稍加修改就可以作为商业代码使用的，让它支持多次摄像头的打开，关闭，以及开始数据采集和关闭数据采集。本来可以把那些没必要的静态成员都放到类里面去的，但是考虑到大家对网上的那个CCaptureVi...</content></entry></feed>
