sound for cx88 analog capture

Jason Harmening jason.harmening at gmail.com
Mon Jan 5 20:48:59 UTC 2009


> I updated to the latest cx88 and am trying to get analog
> working as described in "Capturing Raw Video" on the wiki.
>
> I have the video working, but no audio.
>
> Wiki says: "The ffmpeg command above uses the OSS-compatible cx88 audio
> interface, and assumes that /dev/dsp1 is the OSS audio device that
> corresponds to cx88audio0.
>
> How do we determine if /dev/dsp1 corresponds to cx88audio0?
>
> pcm0: <nVidia nForce4> port 0xf000-0xf0ff,0xec00-0xecff mem 0xfebfd000-0xfebfdfff irq 12 at device 4.0 on pci0
> pcm0: [ITHREAD]
> pcm0: <Avance Logic ALC655 AC97 Codec>
> cx88audio0: <Conexant CX2388x Analog Audio> mem 0xfc000000-0xfcffffff irq 10 at device 7.1 on pci1
> iicbus6: <Philips I2C bus> on cx88audio0
> cx88audio0: [FILTER]
> pcm1: <CX2388x PCM interface> on cx88audio0
> cx88audio0: [FILTER+ITHREAD]

The node number of the dsp* entry will correspond to the number for
the pcm* entry, so /dev/dsp1 should be it.  Can you try capturing just
the audio:

cx88 -d /dev/cx88audio0 -x
/usr/local/share/examples/cx88/cx88.xml.sample -c USA:42

while simultaneously doing a 'cat /dev/dsp1 > /dev/dsp0'?

That will be basically the same thing that's happening for the audio
part of the combined video/audio capture.

>
> The /dev entries seem kinda screwy:
>
> crw-rw-rw-  1 root  wheel    0, 202 Dec 29 13:10 /dev/dsp0.0
> crw-rw-rw-  1 root  wheel    0, 207 Dec 29 13:10 /dev/dsp0.1
> crw-rw-rw-  1 root  wheel    0, 203 Dec 29 13:10 /dev/dsp1.0
> crw-rw-rw-  1 root  wheel    0, 209 Dec 29 13:10 /dev/dsp1
> crw-rw-rw-  1 root  wheel    0, 210 Dec 29 13:10 /dev/dsp0
>
> ls: /dev/pcm0: No such file or directory
> ls: /dev/pcm1: No such file or directory
>
> crw-rw-rw-  1 root  wheel    0, 205 Dec 29 13:10 /dev/cx88audio0
>
> I changed the script to output dv format:
>
> mkfifo /tmp/vpipe
> /usr/local/bin/ffmpeg -v 2 \
>     -f oss -ar 48000 -ac 2 -i /dev/dsp1 \
>     -pix_fmt yuv422p -r 30000/1001 -s 640x480 -f rawvideo -i /tmp/vpipe \
>     -pix_fmt yuv411p -r 30000/1001 -padleft 40 -padright 40 \
>     /var/tmp/analog.dv
>
> ffmpeg says:
>
> Input #0, oss, from '/dev/dsp1':
>   Duration: N/A, start: 1230593138.586555, bitrate: N/A
>   Stream #0.0, 1/1000000: Audio: pcm_s16le, 48000 Hz, stereo, 1536 kb/s
> Input #1, rawvideo, from '/tmp/vpipe':
>   Duration: N/A, bitrate: N/A
>   Stream #1.0, 1001/30000: Video: rawvideo, yuv422p, 640x480, 1001/30000, 29.97 fps(r)
> Output #0, dv, to '/var/tmp/analog.dv':
>   Stream #0.0, 1/90000: Video: dvvideo, yuv411p, 720x480, 1001/30000, q=2-31, 200 kb/s, 29.97 fps(c)
>   Stream #0.1, 1/90000: Audio: pcm_s16le, 48000 Hz, stereo, 1536 kb/s
> Stream mapping:
>   Stream #1.0 -> #0.0
>   Stream #0.0 -> #0.1
> Press [q] to stop encoding
> frame=  494 fps= 30 q=0.0 size=   57773kB time=16.5 bitrate=28755.7kbits/s dup=0 drop=0

ffmpeg seems to think it captured the audio--could it have something
to do with the dv format?  Can you try using the MPEG format like the
example on the wiki?


More information about the freebsd-multimedia mailing list