Vistb's Tiny IT Space

Am I a Geek?

导航

最近的一个小工程

Posted on 2010-01-27 01:32  Vistb  阅读(609)  评论(1编辑  收藏  举报

前段时间一直是在做一些关于图像方面的研究,本来挺好的,但老师一直催促要把以前做的一个程序完善。其实我觉得那个东西已经差不多了,以我的水平基本已经不可能再往上走了,而且那东西的代码我已经重写过2-3遍了,实在是没意思了……可是,又不能明着和老师对着干,于是乎,我干脆决定自己想出一个自己觉得有意思的应用,再加以实现,然后给老师交差……

这个应用其实很不靠谱,主要是个人有兴趣,可以锻炼蛮多技术,而且可以做的比较炫。大致来说,其可以叫做电影信息浏览程序。具体来说,依托于用户电脑中已有的电影影片的预告片或海报,根据IMDB编号和豆瓣API,使用户可以了解其相关信息(如演职员信息、豆瓣网友的评价和评论等等)。听起来不错吧,但是不靠谱的地方很有几个:

  1. “依托用户电脑中已有的电影影片的预告片或海报”,没事的话,大家哪里会下载一大堆预告片和海报呢。另外,有了预告片和海报,应该代表用户对这些影片已经有了一定了解,你再显现演职员信息、豆瓣网友的评价和评论,其实没有很大意义。
  2. 这是最不靠谱的一点,电影影片的预告片或海报的命名必须是IMDB编号。其实这很无奈,完全出于同名电影什么的太多了,而且预告片(通常为MOV)和海报(JPG及BMP等)不像MP3那样有元数据可以准确定位究竟是哪部电影。

总的来说,就是不是很实用 + 用户友好性不够。不过,正如上面所说,这个应用可以锻炼蛮多技术,而且可以做的比较炫。

  1. 技术方面,确实很多了。我的实现是在Windows平台下用C++。图形化用OpenGL实现,OpenGL上层还加OpenFrameworks(OF)、FTGL等库。其实OF里面又有很多东西,像图像、视频、音频、文字等等,不过已经做了很大程度的简化,否则我估计又要用一大堆其他的库。一些图形特效准备用GLSL。网络方面用MFC的子集,而解析豆瓣传回的结果又要涉及XML,用libxml2。这只是目前想到的和遇到的,说不定发展下去还会有更多东西…… 
  2. 炫,这是肯定的,要不用OpenGL干什么呢,Qt什么的做界面不都挺好了……大致来说,声音、视频、图像、文字一应俱全,外加动画、CoverFlow等各种特效,绝对“富媒体”。现在不好描述,写出成品一定会和大家分享的 :)

到现在,整个已经写了20%左右吧。各方面都还好,主要想谈谈OpenFramewors(简称OF)。这个库其实立意很好的,功能也比较强大和全面,正如我上面所说,大量简化了图像、视频、音频、文字等在C++程序中的实现,尤其是纯粹用OpenGL做界面时。但是,感觉其也存在很多不足。简述一二:

  1. 视频功能太差。首先,其在Windows平台上用QuickTime做解码器(在Linux上却用的是强悍的FFMpeg~~~),支持格式大大受限。好吧,格式受限就罢了,其解码速度还超级慢!不知道是不是苹果的解码器问题,但至少我用QuickTime Player时没问题啊!举例来说,优酷和Youtube上的H.264高清视频通过OF后竟然不能流畅播放(我的机器是T5750@2.0GHz,2GB DDRII667,NV G8400M GS)!非得要转码成Motion JPEG编码才行,可Motion JPEG的大小哪是一般人消受的了的啊!
  2. 文字问题。用了FreeType,结果竟然不支持汉字直接显示……我还必须再结合FTGL才行。对了,这里顺便为FTGL打下广告,该库很好很强大。效果嘛,谁用谁知道啊~~~

不过啊,话说回来,OF总得来说还是很不错的,而且人家毕竟是新产品,要有成长的时间和空间嘛 O(∩_∩)O~

最后说一句,该工程成品一旦出炉,就会给大家分享的,敬请期待~~~