在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(硬编码)
要做Wince6.0上对Cpu做Directshow硬编码。一个可能自己本身第一次接触过Directshow摄像头,把这个硬编想得神户神奇,高深莫测。网上的关于硬编码的例子又少,基本就找不到,如果哪位大侠有wince摄像头Directshow硬编码的例子,能否指明下方向,好让我去下载个来看看别人是怎么做的,这个玩意水好深,还真得从模仿开始。