我想移植我的一个ActiveX (到Silverlight),它具有以下特性:
当前的ActiveX使用DirectShow -不幸的是,它不能在Silverlight中使用。我如何才能放弃旧的ActiveX技术,转而使用新的Silverlight技术?
发布于 2010-01-08 17:19:59
简单的答案是:你不能。
Silverlight主要针对两种类型的应用:-
视频编辑并不是真正属于这两个阵营,也没有被照顾到。
我还不确定ActiveX是否老了,毕竟在Internet中使用了什么技术来托管Silverlight插件?ActiveX。
发布于 2010-01-08 17:08:57
我不知道这样做是否容易。Silverlight本机可用的各种编解码器都由Silverlight MediaElement控件包装,据我所知,它们不是通过API直接公开的,例如,您无法获得原始解码的RGBA比特流。(如果我搞错了,我很想知道,但我已经四处打听过了,我不知道该怎么做。)Mono源树只有解码实现的狄拉克编解码,但没有任何东西可以让你很容易地解码,例如,WMV或AVI文件,据我所知。
即使您可以以某种方式获取原始的、解码的RGBA (或YCbCr)比特流,以便能够将任何您想要的数据插入到这些帧中,您仍然必须重新编码视频流,Silverlight也不提供任何本地支持。您必须编写自己的编码器(一点也不琐碎),从ffmpeg库中移植它们(也不简单),或者等待其他人这样做。
简而言之,我怀疑您现在需要坚持使用您的ActiveX解决方案--尽管使用一些聪明的JavaScript编码,也许可以将其封装在一个漂亮的Silverlight UI中。
https://stackoverflow.com/questions/2028587
复制相似问题