[MEncoder-users] Basic Compile/Use Question With Pure Alsa

mgrollman at cox.net mgrollman at cox.net
Wed Sep 17 07:53:13 CEST 2008


 
 
I am trying to get my otherwise happy current build of mencoder to recognize
Alsa capture devices on an x86-Intel Atom box, using Debian Etch.
 
Video capture, it's good with mencoder.  And separately, with arecord, I can
snag audio from the Alsa world just fine.  But my mencoder acts like it
hates me whenever I ask it to do the Alsa thing, to wit:
 
/mencoder tv:// -tv
driver=v4l2:norm=NTSC-M:device=/dev/video2:input=1:width=352:height=288:alsa
:adevice=hw.0,0 \
         -ofps 30000/1001 -oac lavc -ovc lavc -lavcopts
vcodec=mpeg4:vbitrate=800 \
         -endpos 00:00:10 -o /rw/testy.avi

is followed by:
 

MEncoder dev-SVN-r27573-4.1.2 (C) 2000-2008 MPlayer Team
CPU: Intel(R) Atom(TM) CPU  230   @ 1.60GHz (Family: 6, Model: 28, Stepping:
2)
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2
 
Option tv: Unknown suboption alsa
 
Exiting... (error parsing command line)

Same command works fine with -nosound flag, or with adevice=/dev/dsp w/o
Alsa, which I think means the oss wrapper instead of pure Alsa (example at
bottom).  That does not work for me other than as test, because I am trying
to share the audio capture device, and pure Alsa seems to be the winner for
that.
 
I am guessing this has something to do with a dependency I am missing on my
build station (which is the same as the test station).  I think this because
the configure output has decided somehow not to build some Alsa thing.  But
I have installed just about every Debian Alsa package I can find!
 
Can anyone tell me either A) what my mistake here in, or B) Just what are
the build dependency requirements for effective audio capture under pure
Alsa using mencoder?
 
Any and all help is greatly appreciated!
 
Cheers!
 
- Michael
 
------------------
 
./configure --disable-mplayer --enable-tv-v4l2 --enable-alsa
 
[B-999:ATOM:10:41 PM, Tue Sep 16 - /hd/mplayer]>
[B-999:ATOM:10:41 PM, Tue Sep 16 - /hd/mplayer]> ./conf1.sh
Detected operating system: Linux
Detected host architecture: i386
Checking for cc version ... 4.1.2
Checking for host cc ... cc
Checking for cross compilation ... no
Checking for CPU vendor ... GenuineIntel (6:28:2)
Checking for CPU type ...  Intel(R) Atom(TM) CPU  230   @ 1.60GHz
Checking for kernel support of mmx ... yes
Checking for kernel support of mmxext ... yes
Checking for kernel support of sse ... yes
Checking for kernel support of sse2 ... yes
Checking for kernel support of ssse3 ... yes
Checking for kernel support of cmov ... yes
Checking for mtrr support ... yes
Checking for GCC & CPU optimization abilities ... pentium-m
Checking for extern symbol prefix ...
Checking for assembler support of -pipe option ... yes
Checking for compiler support of named assembler arguments ... yes
Checking for assembler (as 2.17) ... ok
Checking for .align is a power of two ... no
Checking for Linux kernel version ... 2.6.26-rc9-atomvoyage, ok
Checking for -lposix ... no
Checking for -lm ... yes
Checking for langinfo ... yes
Checking for language ... messages: en - man pages: en - documentation: en
Checking for enable sighandler ... yes
Checking for runtime cpudetection ... no
Checking for restrict keyword ... __restrict
Checking for __builtin_expect ... yes
Checking for kstat ... no
Checking for posix4 ... no
Checking for llrint ... yes
Checking for lrint ... yes
Checking for lrintf ... yes
Checking for round ... yes
Checking for roundf ... yes
Checking for mkstemp ... yes
Checking for nanosleep ... yes
Checking for socklib ... yes
Checking for inet_pton() ... yes (using )
Checking for socklen_t ... yes
Checking for closesocket() ... no
Checking for network ... yes
Checking for inttypes.h (required) ... yes
Checking for int_fastXY_t in inttypes.h ... yes
Checking for word size ... 32
Checking for malloc.h ... yes
Checking for memalign() ... yes
Checking for alloca.h ... yes
Checking for byteswap.h ... yes
Checking for mman.h ... yes
Checking for dynamic loader ... yes
Checking for dynamic a/v plugins support ... no
Checking for pthread ... yes (using -lpthread)
Checking for w32threads ... no (using pthread instead)
Checking for rpath ... no
Checking for iconv ... yes
Checking for soundcard.h ... yes (sys/soundcard.h)
Checking for sys/dvdio.h ... no
Checking for sys/cdio.h ... no
Checking for linux/cdrom.h ... yes
Checking for dvd.h ... no
Checking for termcap ... yes (using -lncurses)
Checking for termios ... yes (sys/termios.h)
Checking for shm ... yes
Checking for strsep() ... yes
Checking for vsscanf() ... yes
Checking for swab() ... yes
Checking for POSIX select() ... yes
Checking for gettimeofday() ... yes
Checking for glob() ... yes
Checking for setenv() ... yes
Checking for sys/sysinfo.h ... yes
Checking for Apple IR ... yes
Checking for pkg-config ... yes
Checking for Samba support (libsmbclient) ... no
Checking for tdfxfb ... no
Checking for s3fb ... no
Checking for wii ... no
Checking for tdfxvid ... no
Checking for xvr100 ... no
Checking for tga ... yes
Checking for md5sum support ... yes
Checking for yuv4mpeg support ... yes
Checking for bl ... no
Checking for DirectFB ... no
Checking for X11 headers presence ... yes
Checking for X11 ... yes
Checking for Xss screensaver extensions ... no
Checking for DPMS ... yes (using Xdpms 4)
Checking for Xv ... no
Checking for XvMC ... no
Checking for Xinerama ... no
Checking for Xxf86vm ... no
Checking for XF86keysym ... yes
Checking for DGA ... no
Checking for 3dfx ... no
Checking for OpenGL ... no
Checking for VIDIX ... yes
Checking for VIDIX PCI device name database ... yes
Checking for VIDIX dhahelper support ... no
Checking for VIDIX svgalib_helper support ... no
Checking for /dev/mga_vid ... no
Checking for xmga ... no
Checking for GGI ... no
Checking for GGI extension: libggiwmh ... no
Checking for AA ... no
Checking for CACA ... no
Checking for SVGAlib ... no
Checking for FBDev ... yes
Checking for DVB ... no
Checking for DVB HEAD ... yes
Checking for PNG support ... no
Checking for JPEG support ... no
Checking for PNM support ... yes
Checking for GIF support ... no
Checking for VESA support ... no
Checking for SDL ... no
Checking for NAS ... no
Checking for DXR2 ... no
Checking for DXR3/H+ ... no
Checking for IVTV TV-Out (pre linux-2.6.24) ... no
Checking for V4L2 MPEG Decoder ... no
Checking for OSS Audio ... yes
Checking for aRts ... no
Checking for EsounD ... no
Checking for pulse ... no
Checking for JACK ... no
Checking for OpenAL ... no
Checking for ALSA audio ... no
Checking for Sun audio ... no
Checking for VCD support ... yes
Checking for dvdread ... yes (internal)
Checking for internal libdvdcss ... yes
Checking for cdparanoia ... no
Checking for libcdio ... no
Checking for bitmap font support ... yes
Checking for freetype >= 2.0.9 ... yes
Checking for fontconfig ... no
Checking for SSA/ASS support ... no (FreeType >= 2.1.8 needed)
Checking for fribidi with charsets ... no
Checking for ENCA ... no
Checking for zlib ... yes
Checking for RTC ... yes
Checking for liblzo2 support ... no
Checking for mad support ... yes
Checking for Twolame ... no
Checking for Toolame ... no
Checking for OggVorbis support ... yes (internal Tremor)
Checking for libspeex (version >= 1.1 required) ... no
Checking for OggTheora support ... no
Checking for internal mp3lib support ... yes
Checking for internal liba52 support ... yes
Checking for internal libmpeg2 support ... yes
Checking for libdca support ... no
Checking for libmpcdec (musepack, version >= 1.2.1 required) ... no
Checking for FAAC (AAC encoder) support ... yes (in libavcodec: yes)
Checking for FAAD2 (AAC) support ... yes (internal floating-point)
Checking for LADSPA plugin support ... no
Checking for Win32 codecs ... yes (using /usr/local/lib/codecs)
Checking for XAnim codecs ... yes (using /usr/local/lib/codecs)
Checking for RealPlayer codecs ... yes (using /usr/local/lib/codecs)
Checking for QuickTime codecs ... yes
Checking for Nemesi Streaming Media libraries ... no
Checking for LIVE555 Streaming Media libraries ... no
Checking for FFmpeg libavutil ... yes (static)
Checking for FFmpeg libavcodec ... yes (static)
Checking for FFmpeg libavformat ... yes (static)
Checking for FFmpeg libpostproc ... yes (static)
Checking for libamr narrowband ... no
Checking for libamr wideband ... no
Checking for libdv-0.9.5+ ... no
Checking for Xvid ... no
Checking for Xvid two pass plugin ... no
Checking for x264 ... yes (in libavcodec: yes)
Checking for libdirac ... no
Checking for libschroedinger ... no
Checking for libnut ... no
Checking for zr ... no
Checking for libmp3lame (for mencoder) ... no (in libavcodec: no)
Checking for mencoder ... yes
Checking for fastmemcpy ... yes
Checking for UnRAR executable ... yes
Checking for TV interface ... yes
Checking for DirectShow TV interface ... no
Checking for Video 4 Linux TV interface ... yes
Checking for Video 4 Linux 2 TV interface ... yes
Checking for TV teletext interface ... yes
Checking for Radio interface ... no
Checking for Capture for Radio interface ... no
Checking for Video 4 Linux 2 Radio interface ... no
Checking for Video 4 Linux Radio interface ... no
Checking for Video 4 Linux 2 MPEG PVR interface ... yes
Checking for audio select() ... yes
Checking for ftp ... yes
Checking for vstream client ... no
Checking for byte order ... little-endian
Checking for OSD menu ... no
Checking for Subtitles sorting ... yes
Checking for XMMS inputplugin support ... no
Checking for inet6 ... yes
Checking for gethostbyname2 ... yes
Checking for GUI ... no
Checking for automatic gdb attach ... no
Checking for compiler support for noexecstack ... yes
Checking for joystick ... no
Checking for lirc ... no
Checking for lircc ... no
Checking for DVD support (libdvdnav) ... no (Disabled in favor of the
internal copy of dvdread. Append --disable-dvdread-internal.)
Creating config.mak
Creating config.h
 
Config files successfully generated by ./configure --disable-mplayer
--enable-tv-v4l2 --enable-alsa !
 
  Install prefix: /usr/local
  Data directory: /usr/local/share/mplayer
  Config direct.: /usr/local/etc/mplayer
 
  Byte order: little-endian
  Optimizing for: pentium-m
 
  Languages:
    Messages/GUI: en
    Manual pages: en
 
  Enabled optional drivers:
    Input: ftp pvr tv-teletext tv-v4l2 tv-v4l tv libdvdcss(internal)
dvdread(internal) vcd dvb network
    Codecs: x264 libavcodec qtx real xanim win32 faad2 faac libmpeg2 liba52
mp3lib tremor(internal) libmad
    Audio output: oss mpegpes(dvb)
    Video output: pnm mpegpes(dvb) fbdev xvidix cvidix x11 xover yuv4mpeg
md5sum tga
 
  Disabled optional drivers:
    Input: dvdnav vstream radio tv-dshow live555 nemesi cddb cdda smb
    Codecs: libschroedinger libdirac xvid libdv libamr_wb libamr_nb musepack
libdca libtheora speex toolame twolame liblzo gif
    Audio output: sun alsa openal jack pulse esd arts v4l2 ivtv dxr2 nas sdl
    Video output: zr zr2 v4l2 ivtv dxr3 dxr2 sdl vesa gif89a jpeg png svga
caca aa ggi xmga mga winvidix opengl 3dfx dga xvmc xv dfbmga directfb bl
xvr100 tdfx_vid wii s3fb tdfxfb
 
'config.h' and 'config.mak' contain your configuration options.
Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
      compile *** DO NOT REPORT BUGS if you tweak these files ***
 
'make' will now compile MPlayer and 'make install' will install it.
Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
 
Please check mtrr settings at /proc/mtrr (see DOCS/HTML/en/video.html#mtrr)
 
Check configure.log if you wonder why an autodetection failed (make sure
development headers/packages are installed).
 
NOTE: The --enable-* parameters unconditionally force options on, completely
skipping autodetection. This behavior is unlike what you may be used to from
autoconf-based configure scripts that can decide to override you. This
greater
level of control comes at a price. You may have to provide the correct
compiler
and linker flags yourself.
If you used one of these options (except --enable-gui and similar ones that
turn on internal features) and experience a compilation or linking failure,
make sure you have passed the necessary compiler/linker flags to configure.
 
If you suspect a bug, please read DOCS/HTML/en/bugreports.html.
 
[B-999:ATOM:10:41 PM, Tue Sep 16 - /hd/mplayer]>
-------------------------

Same mencoder command, but no Alsa:

./mencoder tv:// -tv
driver=v4l2:norm=NTSC-M:device=/dev/video2:input=1:width=352:height=288:adev
ice=/dev/dsp \
         -ofps 30000/1001 -oac lavc -ovc lavc -lavcopts
vcodec=mpeg4:vbitrate=800 \
         -endpos 00:00:10 -o /rw/testy.avi

Gives:

MEncoder dev-SVN-r27573-4.1.2 (C) 2000-2008 MPlayer Team
CPU: Intel(R) Atom(TM) CPU  230   @ 1.60GHz (Family: 6, Model: 28, Stepping:
2)
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2

success: format: 9  data: 0x0 - 0x0
TV file format 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 (Kodicom 4400R (sla
 Capabilites:  video capture  video overlay  VBI capture device  read/write
streaming
 supported norms: 0 = NTSC; 1 = NTSC-M; 2 = NTSC-M-JP; 3 = NTSC-M-KR; 4 =
PAL; 5 = PAL-BG; 6 = PAL-H; 7 = PAL-I; 8 = PAL-DK; 9 = PAL-M; 10 = PAL-N; 11
= PAL-Nc; 12 = PAL-60; 13 = SECAM; 14 = SECAM-B; 15 = SECAM-G; 16 = SECAM-H;
17 = SECAM-DK; 18 = SECAM-L; 19 = SECAM-Lc;
 inputs: 0 = Composite0; 1 = Composite1; 2 = Composite2; 3 = Composite3; 4 =
Composite4; 5 = Composite5; 6 = Composite6; 7 = Composite7; 8 = Composite8;
9 = Composite9; 10 = Composite10; 11 = Composite11; 12 = Composite12; 13 =
Composite13; 14 = Composite14; 15 = Composite15;
 Current input: 1
 Current format: YVU420
Selected input hasn't got a tuner!
Audio block size too low, setting to 16384!
[V] filefmt:9  fourcc:0x32315659  size:352x288  fps:29.970  ftime:=0.0334
Opening video filter: [expand osd=1]
Expand: -1 x -1, -1 ; -1, osd: 1, aspect: 0.000000, round: 1
==========================================================================
Opening video decoder: [raw] RAW Uncompressed Video
VDec: vo config request - 352 x 288 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
videocodec: libavcodec (352x288 fourcc=34504d46 [FMP4])
Selected video codec: [rawyv12] vfm: raw (RAW YV12)
==========================================================================
Forcing audio preload to 0, max pts correction to 0.
Writing header...
ODML: Aspect information not (yet?) available or unspecified, not writing
vprp header.
Writing header...
ODML: Aspect information not (yet?) available or unspecified, not writing
vprp header.
Pos:   0.0s      1f ( 0%)  0.00fps Trem:   0min   0mb  A-V:0.000 [0:0]
1 duplicate frame(s)!
Pos:   1.5s     45f ( 0%) 27.93fps Trem:   0min   0mb  A-V:0.000 [687:0]
1 duplicate frame(s)!
Pos:   4.4s    129f ( 0%) 29.22fps Trem:   0min   0mb  A-V:0.000 [626:0]
1 duplicate frame(s)!
Pos:  10.0s    297f ( 0%) 29.66fps Trem:   0min   0mb  A-V:0.000 [639:0]
Flushing video frames.
Writing index...
Writing header...
ODML: Aspect information not (yet?) available or unspecified, not writing
vprp header.

Video stream:  639.260 kbit/s  (79907 B/s)  size: 799874 bytes  10.010 secs
297 frames
v4l2: 299 frames successfully processed, -298 frames dropped.

 




More information about the MEncoder-users mailing list