我必须制作 2 个小程序 它将在类似 TOMCAT 的服务器中运行,当我在客户端访问网页 [HTML 页面] 时,我将 2 个摄像头 连接到该 客户端 PC 并且我想显示 2 网页 在客户端 上同时来自两个摄像头的视频

我试过使用 JMF。输出是

  • 在大多数机器中,它不能同时用于两个摄像头。它适用于一次拍摄一个相机
  • 在某些机器上是可以的,但是每次打开网页都要选择摄像头。为第一个小程序选择相机 1,为第二个小程序选择相机 2。

  • 有没有办法在有/没有 JMF 的情况下,我可以在一台客户端 PC 上打开 2 个网页,其中有 2 个小程序在远程服务器上运行,并在每个页面上显示来自每个 USBCAM 的视频?

    我在使用 JMF 时使用过它。
    private void StartStreaming()
        {
            String mediaFile = "vfw:Micrsoft WDM Image Capture (Win32):0";
                try
                {
                    MediaLocator mlr = new MediaLocator(mediaFile);
                    _player = Manager.createRealizedPlayer(mlr);
    
                    if (_player.getVisualComponent() != null)
                    {
                        setSize(480, 320);
                        jpnVideoStream.add("South", _player.getVisualComponent());
                    }
                }
                catch (Exception e)
                {
                    System.err.println("Got exception " + e);
                }
                _player.start();
        }
    

    这就是我的两个小程序中存在的内容。但正如我所说,大多数情况下,它会启动一个 CAM,然后给出设备正在使用并且无法捕获消息。

    请提出任何解决方案。

    最佳答案

    问题是您试图在两个小程序中使用相同的网络摄像头。

    而是使用:

    String mediaFile = "webcam 1"  in applet 1
    String mediaFile = "webcam 2"  in applet 2
    

    您的第一个网络摄像头是:vfw:Micrsoft WDM Image Capture (Win32):0

    您可以通过 :using JMStudio 检查您的第二个网络摄像头。
    选择文件->首选项->捕获设备,然后单击检测捕获设备。

    这也可以使用代码来完成,但上面的更简单。我仍然列出代码:
    Vector list = CaptureDeviceManager.getDeviceList(null);
    int i;
    CaptureDeviceInfo tempDevice;
    
      // List all the devices ...
        if( list!=null)  {
    
            if( list.size() == 0)
            {
                System.out.println("the device list is zero : ");
                System.exit(1);
            }
    
            System.out.println("The devices are : ");
    
            for( i=0;i< list.size() ;i++ ) {
                tempDevice = (CaptureDeviceInfo) list.elementAt(i);
                System.out.println(tempDevice.getName());
            }
        }
    

    注意:如果它不起作用,请尝试以管理员身份运行代码。

    关于java - 从多个 USB 摄像头捕获视频并使用 JAVA + Java 小程序并排显示在 UI 中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7415489/

    10-12 06:16