Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 Mar 2011 19:03:45 -0400
From:      Jimmie James <jimmiejaz@gmail.com>
To:        freebsd-questions@freebsd.org, freebsd-multimedia@FreeBSD.org
Subject:   Fwd: Re: vlc, webcam streaming
Message-ID:  <4D892AD1.8060005@gmail.com>

next in thread | raw e-mail | index | archive | help
(sorry, dropped the list off this)


On 03/22/11 10:55, Hans Petter Selasky wrote:
> On Tuesday 22 March 2011 15:16:56 Jimmie James wrote:
>> Camera works fine with skype, emesene work wonderfully, mplayer gives me
>> an image, but it flashes between green screen and the actual images.
>>
>> Full vlc -vv output is here,  http://pastebin.com/MaEP6f6R (highlights
>> below) Anyone have a suggestion/hint/tip?
>>
>> VLC is unable to open the MRL 'v4l://'. Check the log for details.
>
> Hi,
>
> I think VLC removed support for Webcams. Only video streaming devices and DVB-
> X devices are supported.
>
> Flickering pictures might be due to lack of buffering in webcamd.
>
> Could you dump the config descriptor with usbconfig for your device?
>
> Which version of webcamd are you using?
>
> --HPS
>


That's interesting with VLC, googling around seems to suggest it works
with V4L2

usbconfig -u 2 -a 2 dump_curr_config_desc is at the end of this message.

webcamd-0.1.20_1
gstreamer-plugins-v4l2-0.10.27,3 Gstreamer Video 4 Linux 2 source plugin
libv4l-0.8.1        Video4Linux library
v4l_compat-1.0.20101027_1 Video4Linux IOCTL header files


As for mplayer, I'm going to "assuME" it's more user error/command line
options after playing a bit more with it.

Mplayer called like mplayer tv:// -tv driver=v4l:device=/dev/video0 is
clear.
Playing tv://.
TV file format detected.
Selected driver: v4l
  name: Video 4 Linux input
  author: Alex Beregszaszi
  comment: under development
=================================================================
  WARNING: YOU ARE USING V4L DEMUXER WITH V4L2 DRIVERS!!!
  As the V4L1 compatibility layer is broken, this may not work.
  If you encounter any problems, use driver=v4l2 instead.
  Bugreports on driver=v4l with v4l2 drivers will be ignored.
=================================================================
Selected device: Logitech QuickCam Pro 4000
  Capabilities: capture teletext overlay clipping frameram mjpeg-encoder
  Device type: 1917853805
  Supported sizes: 160x120 => 640x480
  Inputs: 1
   0: usb:  (tuner:0, norm:pal)

Called like tv:// -tv driver=v4l2:device=/dev/video0 is all flickery.
MPlayer SVN-r32577-snapshot-4.2.1 (C) 2000-2010 MPlayer Team

Playing tv://.
TV file format detected.
Selected driver: v4l2
  name: Video 4 Linux 2 input
  author: Martin Olschewski <olschewski@zpr.uni-koeln.de>
  comment: first try, more to come ;-)
Selected device: Logitech QuickCam Pro 4000
  Capabilities:  video capture  read/write  streaming
  supported norms: 0 = webcam;
  inputs: 0 = usb;
  Current input: 0
  Current format: YUV420
tv.c: norm_from_string(pal): Bogus norm parameter, setting default.
Selected input hasn't got a tuner!
v4l2: Cannot get fps
v4l2: ioctl set mute failed: Invalid argument
v4l2: ioctl query control failed: Invalid argument
==========================================================================
Opening video decoder: [raw] RAW Uncompressed Video
Movie-Aspect is undefined - no prescaling applied.
VO: [x11] 640x480 => 640x480 Planar YV12
[swscaler @ 0x2aa3f010] using unscaled yuv420p -> bgra special converter
Selected video codec: [rawyv12] vfm: raw (RAW YV12)




ugen2.2: <product 0x08b2 vendor 0x046d> at usbus2, cfg=0 md=HOST
spd=FULL (12Mbps) pwr=ON


  Configuration index 0

     bLength = 0x0009
     bDescriptorType = 0x0002
     wTotalLength = 0x01fd
     bNumInterfaces = 0x0003
     bConfigurationValue = 0x0001
     iConfiguration = 0x0000  <no string>
     bmAttributes = 0x00a0
     bMaxPower = 0x00fa

     Interface 0
       bLength = 0x0009
       bDescriptorType = 0x0004
       bInterfaceNumber = 0x0000
       bAlternateSetting = 0x0000
       bNumEndpoints = 0x0002
       bInterfaceClass = 0x000a
       bInterfaceSubClass = 0x00ff
       bInterfaceProtocol = 0x0000
       iInterface = 0x0000  <no string>

      Endpoint 0
         bLength = 0x0007
         bDescriptorType = 0x0005
         bEndpointAddress = 0x0082  <IN>
         bmAttributes = 0x0003  <INTERRUPT>
         wMaxPacketSize = 0x0001
         bInterval = 0x0064
         bRefresh = 0x0000
         bSynchAddress = 0x0000

      Endpoint 1
         bLength = 0x0007
         bDescriptorType = 0x0005
         bEndpointAddress = 0x0085  <IN>
         bmAttributes = 0x0001  <ISOCHRONOUS>
         wMaxPacketSize = 0x0000
         bInterval = 0x0001
         bRefresh = 0x0000
         bSynchAddress = 0x0000


     Interface 0 Alt 1
       bLength = 0x0009
       bDescriptorType = 0x0004
       bInterfaceNumber = 0x0000
       bAlternateSetting = 0x0001
       bNumEndpoints = 0x0002
       bInterfaceClass = 0x000a
       bInterfaceSubClass = 0x00ff
       bInterfaceProtocol = 0x0000
       iInterface = 0x0000  <no string>

      Endpoint 0
         bLength = 0x0007
         bDescriptorType = 0x0005
         bEndpointAddress = 0x0082  <IN>
         bmAttributes = 0x0003  <INTERRUPT>
         wMaxPacketSize = 0x0001
         bInterval = 0x0064
         bRefresh = 0x0000
         bSynchAddress = 0x0000

      Endpoint 1
         bLength = 0x0007
         bDescriptorType = 0x0005
         bEndpointAddress = 0x0085  <IN>
         bmAttributes = 0x0001  <ISOCHRONOUS>
         wMaxPacketSize = 0x00c4
         bInterval = 0x0001
         bRefresh = 0x0000
         bSynchAddress = 0x0000


     Interface 0 Alt 2
       bLength = 0x0009
       bDescriptorType = 0x0004
       bInterfaceNumber = 0x0000
       bAlternateSetting = 0x0002
       bNumEndpoints = 0x0002
       bInterfaceClass = 0x000a
       bInterfaceSubClass = 0x00ff
       bInterfaceProtocol = 0x0000
       iInterface = 0x0000  <no string>

      Endpoint 0
         bLength = 0x0007
         bDescriptorType = 0x0005
         bEndpointAddress = 0x0082  <IN>
         bmAttributes = 0x0003  <INTERRUPT>
         wMaxPacketSize = 0x0001
         bInterval = 0x0064
         bRefresh = 0x0000
         bSynchAddress = 0x0000

      Endpoint 1
         bLength = 0x0007
         bDescriptorType = 0x0005
         bEndpointAddress = 0x0085  <IN>
         bmAttributes = 0x0001  <ISOCHRONOUS>
         wMaxPacketSize = 0x0124
         bInterval = 0x0001
         bRefresh = 0x0000
         bSynchAddress = 0x0000


     Interface 0 Alt 3
       bLength = 0x0009
       bDescriptorType = 0x0004
       bInterfaceNumber = 0x0000
       bAlternateSetting = 0x0003
       bNumEndpoints = 0x0002
       bInterfaceClass = 0x000a
       bInterfaceSubClass = 0x00ff
       bInterfaceProtocol = 0x0000
       iInterface = 0x0000  <no string>

      Endpoint 0
         bLength = 0x0007
         bDescriptorType = 0x0005
         bEndpointAddress = 0x0082  <IN>
         bmAttributes = 0x0003  <INTERRUPT>
         wMaxPacketSize = 0x0001
         bInterval = 0x0064
         bRefresh = 0x0000
         bSynchAddress = 0x0000

      Endpoint 1
         bLength = 0x0007
         bDescriptorType = 0x0005
         bEndpointAddress = 0x0085  <IN>
         bmAttributes = 0x0001  <ISOCHRONOUS>
         wMaxPacketSize = 0x01c0
         bInterval = 0x0001
         bRefresh = 0x0000
         bSynchAddress = 0x0000


     Interface 0 Alt 4
       bLength = 0x0009
       bDescriptorType = 0x0004
       bInterfaceNumber = 0x0000
       bAlternateSetting = 0x0004
       bNumEndpoints = 0x0002
       bInterfaceClass = 0x000a
       bInterfaceSubClass = 0x00ff
       bInterfaceProtocol = 0x0000
       iInterface = 0x0000  <no string>

      Endpoint 0
         bLength = 0x0007
         bDescriptorType = 0x0005
         bEndpointAddress = 0x0082  <IN>
         bmAttributes = 0x0003  <INTERRUPT>
         wMaxPacketSize = 0x0001
         bInterval = 0x0064
         bRefresh = 0x0000
         bSynchAddress = 0x0000

      Endpoint 1
         bLength = 0x0007
         bDescriptorType = 0x0005
         bEndpointAddress = 0x0085  <IN>
         bmAttributes = 0x0001  <ISOCHRONOUS>
         wMaxPacketSize = 0x0250
         bInterval = 0x0001
         bRefresh = 0x0000
         bSynchAddress = 0x0000


     Interface 0 Alt 5
       bLength = 0x0009
       bDescriptorType = 0x0004
       bInterfaceNumber = 0x0000
       bAlternateSetting = 0x0005
       bNumEndpoints = 0x0002
       bInterfaceClass = 0x000a
       bInterfaceSubClass = 0x00ff
       bInterfaceProtocol = 0x0000
       iInterface = 0x0000  <no string>

      Endpoint 0
         bLength = 0x0007
         bDescriptorType = 0x0005
         bEndpointAddress = 0x0082  <IN>
         bmAttributes = 0x0003  <INTERRUPT>
         wMaxPacketSize = 0x0001
         bInterval = 0x0064
         bRefresh = 0x0000
         bSynchAddress = 0x0000

      Endpoint 1
         bLength = 0x0007
         bDescriptorType = 0x0005
         bEndpointAddress = 0x0085  <IN>
         bmAttributes = 0x0001  <ISOCHRONOUS>
         wMaxPacketSize = 0x02c0
         bInterval = 0x0001
         bRefresh = 0x0000
         bSynchAddress = 0x0000


     Interface 0 Alt 6
       bLength = 0x0009
       bDescriptorType = 0x0004
       bInterfaceNumber = 0x0000
       bAlternateSetting = 0x0006
       bNumEndpoints = 0x0002
       bInterfaceClass = 0x000a
       bInterfaceSubClass = 0x00ff
       bInterfaceProtocol = 0x0000
       iInterface = 0x0000  <no string>

      Endpoint 0
         bLength = 0x0007
         bDescriptorType = 0x0005
         bEndpointAddress = 0x0082  <IN>
         bmAttributes = 0x0003  <INTERRUPT>
         wMaxPacketSize = 0x0001
         bInterval = 0x0064
         bRefresh = 0x0000
         bSynchAddress = 0x0000

      Endpoint 1
         bLength = 0x0007
         bDescriptorType = 0x0005
         bEndpointAddress = 0x0085  <IN>
         bmAttributes = 0x0001  <ISOCHRONOUS>
         wMaxPacketSize = 0x0308
         bInterval = 0x0001
         bRefresh = 0x0000
         bSynchAddress = 0x0000


     Interface 0 Alt 7
       bLength = 0x0009
       bDescriptorType = 0x0004
       bInterfaceNumber = 0x0000
       bAlternateSetting = 0x0007
       bNumEndpoints = 0x0002
       bInterfaceClass = 0x000a
       bInterfaceSubClass = 0x00ff
       bInterfaceProtocol = 0x0000
       iInterface = 0x0000  <no string>

      Endpoint 0
         bLength = 0x0007
         bDescriptorType = 0x0005
         bEndpointAddress = 0x0082  <IN>
         bmAttributes = 0x0003  <INTERRUPT>
         wMaxPacketSize = 0x0001
         bInterval = 0x0064
         bRefresh = 0x0000
         bSynchAddress = 0x0000

      Endpoint 1
         bLength = 0x0007
         bDescriptorType = 0x0005
         bEndpointAddress = 0x0085  <IN>
         bmAttributes = 0x0001  <ISOCHRONOUS>
         wMaxPacketSize = 0x0348
         bInterval = 0x0001
         bRefresh = 0x0000
         bSynchAddress = 0x0000


     Interface 0 Alt 8
       bLength = 0x0009
       bDescriptorType = 0x0004
       bInterfaceNumber = 0x0000
       bAlternateSetting = 0x0008
       bNumEndpoints = 0x0002
       bInterfaceClass = 0x000a
       bInterfaceSubClass = 0x00ff
       bInterfaceProtocol = 0x0000
       iInterface = 0x0000  <no string>

      Endpoint 0
         bLength = 0x0007
         bDescriptorType = 0x0005
         bEndpointAddress = 0x0082  <IN>
         bmAttributes = 0x0003  <INTERRUPT>
         wMaxPacketSize = 0x0001
         bInterval = 0x0064
         bRefresh = 0x0000
         bSynchAddress = 0x0000

      Endpoint 1
         bLength = 0x0007
         bDescriptorType = 0x0005
         bEndpointAddress = 0x0085  <IN>
         bmAttributes = 0x0001  <ISOCHRONOUS>
         wMaxPacketSize = 0x0380
         bInterval = 0x0001
         bRefresh = 0x0000
         bSynchAddress = 0x0000


     Interface 0 Alt 9
       bLength = 0x0009
       bDescriptorType = 0x0004
       bInterfaceNumber = 0x0000
       bAlternateSetting = 0x0009
       bNumEndpoints = 0x0002
       bInterfaceClass = 0x000a
       bInterfaceSubClass = 0x00ff
       bInterfaceProtocol = 0x0000
       iInterface = 0x0000  <no string>

      Endpoint 0
         bLength = 0x0007
         bDescriptorType = 0x0005
         bEndpointAddress = 0x0082  <IN>
         bmAttributes = 0x0003  <INTERRUPT>
         wMaxPacketSize = 0x0001
         bInterval = 0x0064
         bRefresh = 0x0000
         bSynchAddress = 0x0000

      Endpoint 1
         bLength = 0x0007
         bDescriptorType = 0x0005
         bEndpointAddress = 0x0085  <IN>
         bmAttributes = 0x0001  <ISOCHRONOUS>
         wMaxPacketSize = 0x03c0
         bInterval = 0x0001
         bRefresh = 0x0000
         bSynchAddress = 0x0000


     Interface 0 Alt 10
       bLength = 0x0009
       bDescriptorType = 0x0004
       bInterfaceNumber = 0x0000
       bAlternateSetting = 0x000a
       bNumEndpoints = 0x0002
       bInterfaceClass = 0x000a
       bInterfaceSubClass = 0x00ff
       bInterfaceProtocol = 0x0000
       iInterface = 0x0000  <no string>

      Endpoint 0
         bLength = 0x0007
         bDescriptorType = 0x0005
         bEndpointAddress = 0x0082  <IN>
         bmAttributes = 0x0003  <INTERRUPT>
         wMaxPacketSize = 0x0001
         bInterval = 0x0064
         bRefresh = 0x0000
         bSynchAddress = 0x0000

      Endpoint 1
         bLength = 0x0007
         bDescriptorType = 0x0005
         bEndpointAddress = 0x0085  <IN>
         bmAttributes = 0x0001  <ISOCHRONOUS>
         wMaxPacketSize = 0x03c0
         bInterval = 0x0001
         bRefresh = 0x0000
         bSynchAddress = 0x0000


     Interface 1
       bLength = 0x0009
       bDescriptorType = 0x0004
       bInterfaceNumber = 0x0001
       bAlternateSetting = 0x0000
       bNumEndpoints = 0x0000
       bInterfaceClass = 0x0001
       bInterfaceSubClass = 0x0001
       bInterfaceProtocol = 0x0000
       iInterface = 0x0000  <no string>

       Additional Descriptor

       bLength = 0x09
       bDescriptorType = 0x24
       bDescriptorSubType = 0x01
        RAW dump:
        0x00 | 0x09, 0x24, 0x01, 0x00, 0x01, 0x26, 0x00, 0x01,
        0x08 | 0x02

       Additional Descriptor

       bLength = 0x0c
       bDescriptorType = 0x24
       bDescriptorSubType = 0x02
        RAW dump:
        0x00 | 0x0c, 0x24, 0x02, 0x01, 0x01, 0x02, 0x00, 0x01,
        0x08 | 0x00, 0x00, 0x00, 0x00


       Additional Descriptor

       bLength = 0x08
       bDescriptorType = 0x24
       bDescriptorSubType = 0x06
        RAW dump:
        0x00 | 0x08, 0x24, 0x06, 0x02, 0x01, 0x01, 0x03, 0x00


       Additional Descriptor

       bLength = 0x09
       bDescriptorType = 0x24
       bDescriptorSubType = 0x03
        RAW dump:
        0x00 | 0x09, 0x24, 0x03, 0x03, 0x01, 0x01, 0x00, 0x02,
        0x08 | 0x00


     Interface 2
       bLength = 0x000b
       bDescriptorType = 0x0004
       bInterfaceNumber = 0x0002
       bAlternateSetting = 0x0000
       bNumEndpoints = 0x0001
       bInterfaceClass = 0x0001
       bInterfaceSubClass = 0x0002
       bInterfaceProtocol = 0x0000
       iInterface = 0x0000  <no string>

      Endpoint 0
         bLength = 0x0009
         bDescriptorType = 0x0005
         bEndpointAddress = 0x0084  <IN>
         bmAttributes = 0x0001  <ISOCHRONOUS>
         wMaxPacketSize = 0x0000
         bInterval = 0x0001
         bRefresh = 0x0000
         bSynchAddress = 0x0000


     Interface 2 Alt 1
       bLength = 0x000b
       bDescriptorType = 0x0004
       bInterfaceNumber = 0x0002
       bAlternateSetting = 0x0001
       bNumEndpoints = 0x0001
       bInterfaceClass = 0x0001
       bInterfaceSubClass = 0x0002
       bInterfaceProtocol = 0x0000
       iInterface = 0x0000  <no string>

       Additional Descriptor

       bLength = 0x07
       bDescriptorType = 0x24
       bDescriptorSubType = 0x01
        RAW dump:
        0x00 | 0x07, 0x24, 0x01, 0x03, 0x01, 0x01, 0x00


       Additional Descriptor

       bLength = 0x0b
       bDescriptorType = 0x24
       bDescriptorSubType = 0x02
        RAW dump:
        0x00 | 0x0b, 0x24, 0x02, 0x01, 0x01, 0x02, 0x10, 0x01,
        0x08 | 0x44, 0xac, 0x00


      Endpoint 0
         bLength = 0x0009
         bDescriptorType = 0x0005
         bEndpointAddress = 0x0084  <IN>
         bmAttributes = 0x0001  <ISOCHRONOUS>
         wMaxPacketSize = 0x005a
         bInterval = 0x0001
         bRefresh = 0x0000
         bSynchAddress = 0x0000

       Additional Descriptor

       bLength = 0x07
       bDescriptorType = 0x25
       bDescriptorSubType = 0x01
        RAW dump:
        0x00 | 0x07, 0x25, 0x01, 0x00, 0x00, 0x00, 0x00



     Interface 2 Alt 2
       bLength = 0x000b
       bDescriptorType = 0x0004
       bInterfaceNumber = 0x0002
       bAlternateSetting = 0x0002
       bNumEndpoints = 0x0001
       bInterfaceClass = 0x0001
       bInterfaceSubClass = 0x0002
       bInterfaceProtocol = 0x0000
       iInterface = 0x0000  <no string>

       Additional Descriptor

       bLength = 0x07
       bDescriptorType = 0x24
       bDescriptorSubType = 0x01
        RAW dump:
        0x00 | 0x07, 0x24, 0x01, 0x03, 0x01, 0x01, 0x00


       Additional Descriptor

       bLength = 0x0b
       bDescriptorType = 0x24
       bDescriptorSubType = 0x02
        RAW dump:
        0x00 | 0x0b, 0x24, 0x02, 0x01, 0x01, 0x02, 0x10, 0x01,
        0x08 | 0x22, 0x56, 0x00


      Endpoint 0
         bLength = 0x0009
         bDescriptorType = 0x0005
         bEndpointAddress = 0x0084  <IN>
         bmAttributes = 0x0001  <ISOCHRONOUS>
         wMaxPacketSize = 0x002e
         bInterval = 0x0001
         bRefresh = 0x0000
         bSynchAddress = 0x0000

       Additional Descriptor

       bLength = 0x07
       bDescriptorType = 0x25
       bDescriptorSubType = 0x01
        RAW dump:
        0x00 | 0x07, 0x25, 0x01, 0x00, 0x00, 0x00, 0x00



     Interface 2 Alt 3
       bLength = 0x000b
       bDescriptorType = 0x0004
       bInterfaceNumber = 0x0002
       bAlternateSetting = 0x0003
       bNumEndpoints = 0x0001
       bInterfaceClass = 0x0001
       bInterfaceSubClass = 0x0002
       bInterfaceProtocol = 0x0000
       iInterface = 0x0000  <no string>

       Additional Descriptor

       bLength = 0x07
       bDescriptorType = 0x24
       bDescriptorSubType = 0x01
        RAW dump:
        0x00 | 0x07, 0x24, 0x01, 0x03, 0x01, 0x01, 0x00


       Additional Descriptor

       bLength = 0x0b
       bDescriptorType = 0x24
       bDescriptorSubType = 0x02
        RAW dump:
        0x00 | 0x0b, 0x24, 0x02, 0x01, 0x01, 0x02, 0x10, 0x01,
        0x08 | 0x11, 0x2b, 0x00


      Endpoint 0
         bLength = 0x0009
         bDescriptorType = 0x0005
         bEndpointAddress = 0x0084  <IN>
         bmAttributes = 0x0001  <ISOCHRONOUS>
         wMaxPacketSize = 0x0019
         bInterval = 0x0001
         bRefresh = 0x0000
         bSynchAddress = 0x0000

       Additional Descriptor

       bLength = 0x07
       bDescriptorType = 0x25
       bDescriptorSubType = 0x01
        RAW dump:
        0x00 | 0x07, 0x25, 0x01, 0x00, 0x00, 0x00, 0x00



     Interface 2 Alt 4
       bLength = 0x000b
       bDescriptorType = 0x0004
       bInterfaceNumber = 0x0002
       bAlternateSetting = 0x0004
       bNumEndpoints = 0x0001
       bInterfaceClass = 0x0001
       bInterfaceSubClass = 0x0002
       bInterfaceProtocol = 0x0000
       iInterface = 0x0000  <no string>

       Additional Descriptor

       bLength = 0x07
       bDescriptorType = 0x24
       bDescriptorSubType = 0x01
        RAW dump:
        0x00 | 0x07, 0x24, 0x01, 0x03, 0x01, 0x01, 0x00


       Additional Descriptor

       bLength = 0x0b
       bDescriptorType = 0x24
       bDescriptorSubType = 0x02
        RAW dump:
        0x00 | 0x0b, 0x24, 0x02, 0x01, 0x01, 0x02, 0x10, 0x01,
        0x08 | 0x40, 0x1f, 0x00


      Endpoint 0
         bLength = 0x0009
         bDescriptorType = 0x0005
         bEndpointAddress = 0x0084  <IN>
         bmAttributes = 0x0001  <ISOCHRONOUS>
         wMaxPacketSize = 0x0010
         bInterval = 0x0001
         bRefresh = 0x0000
         bSynchAddress = 0x0000

       Additional Descriptor

       bLength = 0x07
       bDescriptorType = 0x25
       bDescriptorSubType = 0x01
        RAW dump:
        0x00 | 0x07, 0x25, 0x01, 0x00, 0x00, 0x00, 0x00







-- 
I am currently away on leave, traveling through time and will be
returning last week.
Life is tough, but it's tougher when you're stupid.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4D892AD1.8060005>