我正在使用JMF在我的Java项目中捕获视频流(网络摄像头)。
我正在使用的相机被JMF(JFMStudio)识别,我设法获得视频流。
但是,在JMF注册表编辑器上 - 有一个可用的捕获设备列表,当我点击其中一个项目(包括我需要的项目)上的“添加”时,我收到“无法添加项目”错误。 因此,这个相机没有设置在它的注册表中(上帝知道在哪里),后来我的项目无法识别它:
RGBFormat fmt = new RGBFormat(); //可能是YUV - 没关系 Vector v = CaptureDeviceManager.getDeviceList(fmt);
v为空(我知道视频源是由Java识别的,因为我设法在JMF Studio上获取视频)。
现在,这只发生在Vista(其他地方)而不是XP上。
我怀疑Vista安全阻止Java编写注册表文件,但当然,我可能错了。
还有一条评论:这是vfw:Microsoft WDM Image Capture(Win32):0设备。
有什么想法吗?
答案 0 :(得分:0)
我在Vista上使用JMF捕获网络摄像头图像,但它确实有效。我没有使用JMF Studio,因此在那里没有太多帮助。
我在此post中发布了一些示例代码,您可以查看它是否适合您。
答案 1 :(得分:0)
未来遇到同一问题的其他人
我有同样的问题,我意识到这是因为我的Java Media Framework默认安装在“C:\ Program Files”下。 当我在\ bin中运行“jmfinit.exe”时,我注意到我无法更新“jmf.properties”文件
错误在
下复制找到设备Microsoft WDM Image Capture(Win32) 查询设备。请耐心等待... commit = java.io.FileNotFoundException:C:\ Program Files \ JMF2.1.1e \ bin .. \ lib \ jmf.properties(访问被拒绝)
我更改了JMF2.1.1e文件夹的安全设置,一切正常。 我很确定在其他地方也可以安装它