现在我想开发一个实时流媒体播放器,在WM6的手机上使用,播放器要采用H.264解码。现在想调用dshow中的API来作,请问应该采用什么样的环境
。我有几个选择
1.用PlatForm Builder 5.0,加上wince dshow 的sdk
2.用VC++,加上wince dshow 的sdk。
3.用VS2005的C#,托管264的C代码的方式。
前两种用C++,第三种用C#。
或者各位在这方面有经验的,建议下用什么环境比较合适,这里关键是H.264的解码,应该用什么方式解决。谢谢。
1和2其实差不多,所用代码是完全一样,只是project的一些文件信息稍有不同。
2的VS2005更适合做应用开发。2开发出来的project可以很容易的合入PB中去。
建议还是用2 VS2005下,C++开发,因为能找到的大部分开源资料都会是C++的,C#是M$自己设计的语言,并不被全世界的开源者们认可和接受。而可参考性最大的开源项目基本都是基于C++的。
楼上的回答犹如拨云见日,使我思路稍微清晰了点。
的确,在网上找到的很多的例子,绝大部分都是用C++写的,我也想用C++来作。
还有一个叫做EVC的软件,据说专门用来作嵌入式开发。
下面还有几个疑问,请各位网友一定赐教。
1.能否比较下VS2005中的C++和EVC++。哪种更适合作WM6的应用程序开发。
2.direct show 是否分wince平台和PC 平台,如果分,那么wince下的比如WM6的dshow是不是就在WM6 的SDK中,还是单独有个dshow sdk for wince。
3.dshow 的api究竟包含多少种数字视频格式的解码,有没有H.264的,如果没有,那么WM6的H.264解码该怎么办。
以上问题,我在网上苦苦寻找几天,但最终找不到一个确定的答案,E文也不太好,所以请各位网友一定赐教。
补充下3楼的描述。
准确的说,现在的目标是:想用dshow的H.264解码器来开发WM6的实时流媒体播放器。
要求:实时性要好,代码不能太臃肿,最后可能还要用汇编优化。
这就产生了三楼所涉及的问题。
但是对于实现这个目标,如果有更好的建议或者解决方案,真诚希望能指教下,这样尽可能不走或者少走弯路。
DHOW在MSDN上有比较详细的介绍,在而且有例子吧.http://code.msdn.microsoft.com/SimplePlayer这个您可以参考下,而且您做应用的要PB没有什么意义吧.明显只有方案2可行.
如果想做视频,可以找TCPMP,在2.72之前是开源的,很不错的。而且针对了很多CPU平台做到汇编级优化。
eVC是相对以前的VCx.0而言的,嵌入式开发版本,使用环境和操作流程跟VCx.x系列一致。
VC2005是VS2005的一个组成部分,就和VC6是VStudio6.0的一个部分一样。VS200x集成度很高,并且将PC平台和嵌入式平台(WINCE/WINMobile)的开发都集中到一起了,只要在建立project时选择针对不同的平台(WIN32表示对PC平台,SmartDevice表示对智能设备,就是嵌入式的了),生成的代码就会针对不同平台进行改动。
只要你的机子安装了需要的WINCE/WMOBILE的SDK,eVC和VS2005都可选,两者的开发都可行,没太大差别。
WM6/WINCE下的Dshow差的不大,但是这两者下的和PC上的差别就不小了,倒不是函数名称、参数差别,而是功能和性能差别。这也是平台限制造成的。毕竟嵌入式平台上不可能有PC平台下那么强劲视频解码系统。
vc++是哪个版本? vc6肯定是不行的. VC2005/EVC+DSHOW SDK
VS2005中的C++在装了WM6 SDK后确实在工程创建里有WM6 professional的向导,那就证明生成的代码是针对WM6的了。
现在问题缩小为:
WM6的show sdk从哪里能找到?
难道只能用platform builder 5.0或者6.0去生成?
还有,即使找到后,其SDK中是否包括对h.264的解码。