2 Replies Latest reply on Oct 31, 2008 8:42 AM by dsdsdsdsd

    Camera.get - USB vs. Firewire

      This may not be the right forum, I'm not sure this is a "code" issue. I am trying to display live video. My project works GREAT with a Firewire video camera attached - I see live video in my SWF; but I get no video in my SWF when I attach a USB 2.0 webcam. I don't think this is my code - is this a bug? I am using Flash MX 2004. The USB webcam works fine with iChat and QuickTime, just not in Flash. Any ideas on this would be greatly appreciated.

        • 1. Camera.get - USB vs. Firewire
          Its not your code - that's fine. Its nothing to do with firewire or usb 2.0, as firewire transfer rates are only 400mbps compared to usb 2.0's 480mbps - the usb should be better. Are you using a mac? You hardly ever hear of firewires on pcs.

          Your problem is to do with the curse of all hardware: drivers. Now, most drivers are good, and the best are the ones that come with your pc - the plug in and play ones. These work find with Flash and are tested and efficient. If your using a Mac, you would've had the drivers for the firewire, apple likes firewire, but perhaps not the usb. If you're on a pc, you probably have bad drivers from a bad company. Logitech are particually bad. Yes, they are.

          Anyhow, what im really trying to get at is its nothing to do with flash or your code, its the camera's drivers failing to interact with flash. Either this was a dodgey install or you have a Mac, which then you have no hope, or just siply flash doesn't like it. I suggest you put it on a website to test with the people on this forum.
          • 2. Re: Camera.get - USB vs. Firewire
            dsdsdsdsd Level 1
            trace( Camera.names );
            // DV Video,IIDC FireWire Video,USB Video Class Video
            var lvo_cam = null;

            //for ( var lvi_i = 0 ; lvi_i < Camera.names.length ; lvi_i++ )
            for ( var lvi_i = Camera.names.length - 1 ; lvi_i >= 0 ; lvi_i-- )
            { if ( Camera.names[ lvi_i ] == "USB Video Class Video" )
            { lvo_cam = Camera.get( lvi_i );
            break ;
            else if ( Camera.names[ lvi_i ] == "IIDC FireWire Video" )
            { if ( lvo_cam == null )
            { lvo_cam = Camera.get( lvi_i );
            } ;
            } ;
            } ;

            var lvmc = video_instance ;
            lvmc.attachVideo( lvo_cam ) ;

            //System.showSettings(3) ;