[MPlayer-users] Playing from v4l

Todd Lyons TLyons at sequentusa.com
Fri Nov 7 19:18:41 CET 2003


I'm trying to play and later archive video/sound from a v4l device.  The
driver (bttv and btaudio) are both successfully loaded, see below for dmesg
output.  Video displays properly with no problems.  But no sound is played.
Am I mistaken in thinking that I can have mplayer grab video/audio (physical
devices video0 and dsp1) from the capture card and play the video back on
the screen with audio out through /dev/dsp (my regular sound chip)?  I've
monitored system load with top and it's practically idle, so it's not load
related.

Hmmm, that sounds like I worded something wrong.  I should be trying to use
the ALSA plugin since ALSA is running.  But I don't think that's my issue as
I haven't gotten any file lock errors, meaning it doesn't even look like
it's trying to open /dev/dsp.  I'm kind of lost as to what to try next.
I've not studied any of the lavc options yet, so that may have some bearing
on my state of being lost.

(The next step is to make it archive the stream.  Then the final step is to
get mplayer or gmplayer working with whatever file format we end up using.
But those are later, once I get regular streaming working properly.)

System info:  P4 1.7GHz, 512 Megs RAM, Osprey 210 (BT878), Mandrake 9.2,
Mplayer 1.0 (precompiled from PLF), win codecs, ALSA sound drivers, devfs
enabled.

These are the commandlines that I've tried.  Note that in almost all of
them, the video works normally, but the sound never does.  There are some
obvious ones that do something different such as 921 or the lines with
syntax errors.  (Half of the battle is figuring out which options are
relevant to mplayer versus mencoder versus both).  I've culled all the
"help" and "man" options out of this grep.

  896  mplayer tv:// -tv driver=v4l:width=640:height=480:outfmt=i420 -vc
rawi420 -vo xv
  898  mplayer tv:// -tv driver=v4l:width=640:height=480:outfmt=i420 -vc
rawi420 -vo xv
  899  mplayer tv:// -tv driver=v4l:outfmt=i420 -vc rawi420 -vo xv
  900  mplayer tv:// -tv driver=v4l:width=320:height=240:outfmt=i420 -vc
rawi420 -vo xv
  901  mplayer tv:// -tv driver=v4l:width=320:height=240 -vc rawi420 -vo xv
  902  mplayer tv:// -tv driver=v4l:width=320:height=240:outfmt=i420 -vo xv
  903  mplayer tv:// -tv driver=v4l:width=320:height=240:outfmt=i420 -vc
rawi420
  904  mplayer tv:// -tv driver=v4l:width=320:height=240:outfmt=i420 -vc
rawi420 -vo xv
  908  mplayer tv:// -tv driver=v4l:width=320:height=240:outfmt=i420 -vc
rawi420 -vo x11
  909  mplayer tv:// -tv driver=v4l:width=320:height=240:outfmt=i420 -vc
rawi420 -vo gl
  910  mplayer tv:// -tv driver=v4l:width=320:height=240:outfmt=i420 -vc
rawi420 -vo gl2
  911  mplayer tv:// -tv driver=v4l:width=320:height=240:outfmt=i420 -vc
rawi420 -vo xv
  912  mplayer tv:// -tv driver=v4l:width=320:height=240:outfmt=i420 -vc
rawi420 -vo png
  918  mplayer tv:// -tv driver=v4l:width=320:height=240:outfmt=i420 -vc
rawi420 -vo png
  921  mplayer "*.png"
  978  mplayer tv:// -tv driver=v4l:width=640:height=480:outfmt=i420 -vc
rawi420 -vo
  979  mplayer tv:// -tv
driver=v4l:width=640:height=480:outfmt=i420:norm=ntsc -vc rawi420 -vo xv
  980  mplayer tv:// -tv
driver=v4l:width=640:height=480:outfmt=i420:norm=ntsc -vc rawi420
  987  mplayer tv:// -tv
driver=v4l:width=640:height=480:outfmt=i420:norm=ntsc -vc rawi420
  990  mplayer tv:// -tv
driver=v4l:width=640:height=480:outfmt=i420:norm=ntsc -vc rawi420 -oac
mp3lame
  991  mplayer tv:// -tv
driver=v4l:width=640:height=480:outfmt=i420:norm=ntsc -vc rawi420
  992  mplayer tv:// -tv
driver=v4l:width=640:height=480:outfmt=i420:norm=ntsc:adevice=/dev/dsp1 -vc
rawi420
  993  mplayer tv:// -tv
driver=v4l:width=640:height=480:outfmt=i420:norm=ntsc:adevice=/dev/mixer1
-vc rawi420
  994  mplayer tv:// -tv
driver=v4l:width=640:height=480:outfmt=i420:norm=ntsc:adevice=/dev/dsp2 -vc
rawi420
  995  mplayer tv:// -tv
driver=v4l:width=640:height=480:outfmt=i420:norm=ntsc:adevice=/dev/dsp2:amod
e=2 -vc rawi420
  996  mplayer tv:// -tv
driver=v4l:width=640:height=480:outfmt=i420:norm=ntsc:amode=2 -vc rawi420
  997  mplayer tv:// -tv
driver=v4l:width=640:height=480:outfmt=i420:norm=ntsc:amode=2 -vc rawi420
-ao alsa:/dev/dsp
  998  mplayer tv:// -tv
driver=v4l:width=640:height=480:outfmt=i420:norm=ntsc:amode=2 -vc rawi420
-ao alsa:/dev/dsp -mixer /dev/mixer1

Dmesg output:
i2c-core.o: i2c core module version 2.8.0 (20030714)
Linux video capture interface: v1.00
bttv: driver version 0.7.107 loaded
bttv: using 4 buffers with 2080k (8320k total) for capture
bttv: Host bridge is Silicon Integrated Systems [SiS] 650 Host
bttv: Bt8xx card found (0).
bttv0: Bt878 (rev 17) at 00:09.0, irq: 11, latency: 32, mmio: 0xec102000
bttv0: detected: Osprey-200 [card=88], PCI subsystem ID is 0070:ff01
bttv0: using: BT878(Osprey 200/250) [card=88,autodetected]
bttv0: osprey eeprom: card=89 name=Osprey 210/220 serial=3040275
bttv0: using tuner=-1
bttv0: PLL: 28636363 => 35468950 .. ok
bttv0: registered device video0
bttv0: registered device vbi0
bttv0: PLL can sleep, using XTAL (28636363).
bttv0: PLL: 28636363 => 35468950 .. ok
bttv0: PLL can sleep, using XTAL (28636363).
bttv0: PLL: 28636363 => 35468950 .. ok
bttv0: PLL can sleep, using XTAL (28636363).
bttv0: PLL: 28636363 => 35468950 .. ok
bttv0: PLL can sleep, using XTAL (28636363).
bttv0: PLL: 28636363 => 35468950 .. ok
bttv0: PLL can sleep, using XTAL (28636363).
bttv0: PLL: 28636363 => 35468950 .. ok
bttv0: PLL can sleep, using XTAL (28636363).
bttv0: PLL: 28636363 => 35468950 .. Ok
btaudio: driver version 0.7 loaded [digital+analog]
btaudio: Bt878 (rev 17) at 00:09.1, irq: 11, latency: 32, mmio: 0xec103000
btaudio: using card config "Osprey 200"
btaudio: registered device dsp1 [digital]
btaudio: registered device dsp2 [analog]

Comments welcome!  I don't claim to be an expert on video, nor do I claim to
be an expert on mplayer, so please point me in the direction or point me to
URLs.  I've pored over the docs at mplayerhq.hu and they're good, but I'm
hoping to find more of a tutorial than a technical reference (damn I feel
like a newbie cause that's what every single one of them says about man
pages).  I suppose that the more complex the commandline options get, the
more comfortable a tutorial becomes for a newbie as opposed to technical
guides.

Regards...                      Todd



More information about the MPlayer-users mailing list