在wince上用Directshow开发的摄像头应用程序,保存视频为什么那么慢,该怎么解决
在wince上用Directshow开发的摄像头应用程序,保存视频为什么那么慢最近在wince6.0上面开发了一个基于Direc
在wince上用Directshow开发的摄像头应用程序,保存视频为什么那么慢
最近在wince6.0上面开发了一个基于Directshow的摄像头应用程序,是在网上一个工程代码基础上改的,这个工程代码估计也是出自微软,因为文件头都写着微软的版权,所以API的调用应该没啥问题。现在应用程序跑起来后,发现录像时,点击保存保存视频文件要很久,比如录10秒,保存视频文件也基本要十几秒,还有截图,截完图后视频画面居然不动了。网上资料很少,有人说wince的Directshow机制无法实现视频边录像边保存,所以保存时特别耗时。
请教路过的大侠,如果懂Directshow,尤其是wince平台上的Directshow的,请指点一下我该如何解决以上问题。
[解决办法]
因为这玩意用了 软解码,微软的压缩量太大 所以慢。可以找找平台的硬解码。或者用软解码,压缩量没那么大的,例如:压缩成jpeg保存为avi
[解决办法]
CE下的编码是软编码,速度是很慢的,要想速度快,只有想办法去实现硬编码。
[解决办法]
[解决办法]硬编码你的处理器支持吗?支持的话,厂家会提供示例调用代码,你找到读懂就行了。
不支持只能软编码,最好用mpeg4编码器(你的例子是asf文件格式,实际应该调用了wmv9编码器,本身运算量大于mpeg4),并且要对算法高度优化,才能取得好的效果,所以这个东西不是那么简单的
[解决办法][解决办法]我弄过个JPEG.LIB来软编码,录像320*240,15帧每秒,速度可以。要是分辨率高了就不行,还得用mfc(硬编码)
[解决办法][解决办法] 我们做的可视对讲,互相声音视频对讲,除了可以同时对讲之外,还能实时录制音视频,不过我是分开录制的,以前用过一个MP4库,想录成MP4格式,但是发现写文件时跟你说的差不多,前面基本不写,调用了停止录制时才开始写,非常慢。。硬件编解码是很快的,几乎不需要时间,就能编码能MP4格式
[解决办法][解决办法][解决办法]还没解决完啊。
我弄过个JPEG.LIB来软编码,录像320*240,15帧每秒,速度可以(点停就停)。要是分辨率高了就不行,还得用mfc(硬编码)
平台上都会有mfc的例子的。平台不一样mfc也不一样,找找api撒