[MPlayer-users] Mencoder sound problem with Linux 2.6.15 and V4L2

Sakari Ailus sakari.ailus at saunalahti.fi
Thu Jan 12 21:37:01 CET 2006


Hi!

It appears that sound recording doesn't work with Linux 2.6.15 and V4L2. 
It used to work with 2.6.14... Can someone confirm if this happens / 
doesn't happen for them and in what circumstances?

Here's what mencoder says with v4l and v4l2 driver:

---
23:08:08 masiina sakke [/tmp]mrec -o moi.avi
fuser -k -INT /dev/video0
/dev/video0:          5270m
fuser -k -INT /dev/dsp2
fuser -k -KILL /dev/video0
fuser -k -KILL /dev/dsp2
v4lctl color 40%
v4lctl hue 50%
v4lctl contrast 30%
v4lctl bright 40%
mencoder  tv:// -lameopts vbr=0:br=128:aq=9 -ovc lavc -lavcopts 
vqscale=7:vcodec=mpeg4 -tv 
width=768:adevice=/dev/dsp2:device=/dev/video0:height=576:driver=v4l 
-oac mp3lame -o moi.avi -passlogfile /tmp/mrec-tmp-5278 -aspect 4:3
MEncoder dev-CVS-050508-07:00-3.3.5 (C) 2000-2005 MPlayer Team
CPU: Advanced Micro Devices Athlon MP/XP Thoroughbred (Family: 6, 
Stepping: 1)
Detected cache-line size is 64 bytes
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 0
Compiled with runtime CPU detection - WARNING - this is not optimal!
To get best performance, recompile MPlayer with 
--disable-runtime-cpudetection.
File not found: 'frameno.avi'
Failed to open frameno.avi

success: format: 9  data: 0x0 - 0x0
TV 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: BT878 video (Pinnacle PCTV Stud
  Capabilites: capture tuner overlay clipping scales
  Device type: 171
  Supported sizes: 48x32 => 924x576
  Inputs: 3
   0: Television: tuner audio tv camera  (tuner:1, norm:pal)
   1: Composite1: audio camera  (tuner:0, norm:pal)
   2: S-Video: audio camera  (tuner:0, norm:pal)
audio block size too low, setting to 8192!
Using input 'Television'
[V] filefmt:9  fourcc:0x32315659  size:768x576  fps:25.00  ftime:=0.0400
==========================================================================
Opening audio decoder: [pcm] Uncompressed PCM audio decoder
AUDIO: 44100 Hz, 1 ch, s16le, 705.6 kbit/100.00% (ratio: 88200->88200)
Selected audio codec: [pcm] afm:pcm (Uncompressed PCM)
==========================================================================
Opening video filter: [expand osd=1]
Expand: -1 x -1, -1 ; -1  (-1=autodetect) osd: 1
==========================================================================
Opening video decoder: [raw] RAW Uncompressed Video
VDec: vo config request - 768 x 576 (preferred csp: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
videocodec: libavcodec (768x576 fourcc=34504d46 [FMP4])
Using constant qscale = 7.000000 (VBR)
Selected video codec: [rawyv12] vfm:raw (RAW YV12)
==========================================================================
MP3 audio selected
Building audio filter chain for 44100Hz/1ch/s16le -> 44100Hz/2ch/s16le...
Writing AVI header...
ODML: Aspect information not (yet?) available or unspecified, not 
writing vprp header.
Forcing audio preload to 0, max pts correction to 0
ODML: Aspect information not (yet?) available or unspecified, not 
writing vprp header.
Pos:   2.1s     53f ( 0%)  23fps Trem:   0min   0mb  A-V:0.000 [1064:127]
Flushing video frames


CBR audio: 16000 bytes/sec, 418 bytes/block

Writing AVI index...
Fixing AVI header...
ODML: Aspect information not (yet?) available or unspecified, not 
writing vprp header.

Video stream: 1064.234 kbit/s  (133029 bps)  size: 282022 bytes  2.120 
secs  53 frames

Audio stream:  127.997 kbit/s  (15999 bps)  size: 33436 bytes  2.090 secs
   MJP: returning!
Non-zero status when running command at /opt/bin/mrec line 679.
23:08:18 masiina sakke [/tmp]mrec -o moi.avi
fuser -k -INT /dev/video0
fuser -k -INT /dev/dsp2
v4lctl color 40%
v4lctl hue 50%
v4lctl contrast 30%
v4lctl bright 40%
mencoder  tv:// -lameopts vbr=0:br=128:aq=9 -ovc lavc -lavcopts 
vqscale=7:vcodec=mpeg4 -tv 
width=768:adevice=/dev/dsp2:device=/dev/video0:height=576:driver=v4l2 
-oac mp3lame -o moi.avi -passlogfile /tmp/mrec-tmp-5291 -aspect 4:3
MEncoder dev-CVS-050508-07:00-3.3.5 (C) 2000-2005 MPlayer Team
CPU: Advanced Micro Devices Athlon MP/XP Thoroughbred (Family: 6, 
Stepping: 1)
Detected cache-line size is 64 bytes
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 0
Compiled with runtime CPU detection - WARNING - this is not optimal!
To get best performance, recompile MPlayer with 
--disable-runtime-cpudetection.
File not found: 'frameno.avi'
Failed to open frameno.avi

success: format: 9  data: 0x0 - 0x0
TV detected! ;-)
Selected driver: v4l2
  name: Video 4 Linux 2 input
  author: Martin Olschewski <olschewski at zpr.uni-koeln.de>
  comment: first try, more to come ;-)
Selected device: BT878 video (Pinnacle PCTV Stud
  Tuner cap:
  Tuner rxs: MONO
  Capabilites:  video capture  video overlay  VBI capture device  tuner 
  read/write  streaming
  supported norms: 0 = PAL; 1 = NTSC; 2 = SECAM; 3 = PAL-Nc; 4 = PAL-M; 
5 = PAL-N; 6 = NTSC-JP; 7 = PAL-60;
  inputs: 0 = Television; 1 = Composite1; 2 = S-Video;
  Current input: 0
  Current format: YUV420
v4l2: current audio mode is : MONO
audio block size too low, setting to 8192!
[V] filefmt:9  fourcc:0x32315659  size:768x576  fps:25.00  ftime:=0.0400
Opening video filter: [expand osd=1]
Expand: -1 x -1, -1 ; -1  (-1=autodetect) osd: 1
==========================================================================
Opening video decoder: [raw] RAW Uncompressed Video
VDec: vo config request - 768 x 576 (preferred csp: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
videocodec: libavcodec (768x576 fourcc=34504d46 [FMP4])
Using constant qscale = 7.000000 (VBR)
Selected video codec: [rawyv12] vfm:raw (RAW YV12)
==========================================================================
Writing AVI header...
ODML: Aspect information not (yet?) available or unspecified, not 
writing vprp header.
Forcing audio preload to 0, max pts correction to 0
ODML: Aspect information not (yet?) available or unspecified, not 
writing vprp header.
Pos:   0.1s      2f ( 0%)   0fps Trem:   0min   0mb  A-V:0.000 [0:0]
1 duplicate frame(s)!
Pos:   4.6s    114f ( 0%)  24fps Trem:   0min   0mb  A-V:0.000 [1715:0]
Flushing video frames

Writing AVI index...
Fixing AVI header...
ODML: Aspect information not (yet?) available or unspecified, not 
writing vprp header.

Video stream: 1715.070 kbit/s  (214383 bps)  size: 986165 bytes  4.600 
secs  114 frames
v4l2: 116 frames successfully processed, 0 frames dropped.
Non-zero status when running command at /opt/bin/mrec line 679.
---

It doesn't seem to matter if ALSA is used or not:

<URL:http://lists.debian.org/debian-amd64/2005/12/msg00459.html>

According to that message, 2.6.14-rc5 works while 2.6.15-rc6 doesn't.

It looks like to me that there's been a change in V4L2 drivers in the 
kernel and mencoder doesn't take it too well. The old V4L input in 
mencoder is unaffected, however, and records audio nicely.

I'm using es1371, should that matter.

-- 
Sakari Ailus
sakari.ailus at saunalahti.fi




More information about the MPlayer-users mailing list