Hi.
I am quiet desperate...
'cause every HOWTO I found so far:
...unfortunatly covers only recording using btaudio / OSS!
...but as I heard that the OSS-sound-drivers (DEPRICATED) will be removed in
one of the next kernel releases, I am trying to use the new snd_bt87x /
saa7134_alsa ALSA-modules!
The /etc/asound.conf is "a book with seven seals" to me.
And the (for me) cryptical error messages from alsa (via mencoder) are not very
helpfull to me too.
Thats why any help would be VERY VERY apreciated!!!
...or if someone knows someone / or / a website that might help me on this...
Okey, here is my situation/problems:
///KERNEL///
2.6.15-gentoo-r1-jolie #15
///HARDWARE///
I have TWO tv-cards in my linux-box (lspci):
1.)
02:0a.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture
(rev 11)
02:0a.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev
11)
2.)
02:0c.0 Multimedia controller: Philips Semiconductors SAA7134 Video Broadcast
Decoder (rev 01)
And on-board sound:
00:1f.5 Multimedia audio controller: Intel Corporation 82801EB/ER (ICH5/ICH5R)
AC'97 Audio Controller (rev 02)
///MODULES///
( /etc/modules.autoload.d/kernel-2.6: )
======================================================================================================
bttv gbuffers=32 v4l2=1
snd_bt87x enable=1
saa7134 alsa=1
saa7134_alsa
======================================================================================================
///dmesg///
======================================================================================================
[17179602.484000] Linux video capture interface: v1.00
[17179602.492000] bttv: driver version 0.9.16 loaded
[17179602.492000] bttv: using 32 buffers with 2080k (520 pages) each for capture
[17179602.492000] bttv: Bt8xx card found (0).
[17179602.492000] ACPI: PCI Interrupt 0000:02:0a.0[A] -> Link [LNKG] -> GSI 5
(level, low) -> IRQ 5
[17179602.492000] bttv0: Bt878 (rev 17) at 0000:02:0a.0, irq: 5, latency: 64,
mmio: 0xf7efe000
[17179602.492000] bttv0: detected: Hauppauge WinTV [card=10], PCI subsystem ID
is 0070:13eb
[17179602.492000] bttv0: using: Hauppauge (bt878) [card=10,autodetected]
[17179602.492000] bttv0: gpio: en=00000000, out=00000000 in=00ffffdb [init]
[17179602.492000] bttv0: Hauppauge/Voodoo msp34xx: reset line init [5]
[17179602.588000] tveeprom 1-0050: Hauppauge model 44354, rev A321, serial#
5061892
[17179602.588000] tveeprom 1-0050: tuner model is Philips FM1216 (idx 21, type
5)
[17179602.588000] tveeprom 1-0050: TV standards PAL(B/G) (eeprom 0x04)
[17179602.588000] tveeprom 1-0050: audio processor is MSP3415 (idx 6)
[17179602.588000] tveeprom 1-0050: has radio
[17179602.588000] bttv0: using tuner=5
[17179602.616000] bttv0: i2c: checking for MSP34xx @ 0x80... found
[17179602.652000] msp3400 1-0040: chip=MSP3415D-B3 +nicam +simple mode=simple
[17179602.652000] msp3400 1-0040: msp3410 daemon started
[17179602.680000] bttv0: i2c: checking for TDA9875 @ 0xb0... not found
[17179602.684000] bttv0: i2c: checking for TDA7432 @ 0x8a... not found
[17179602.704000] bttv0: i2c: checking for TDA9887 @ 0x86... not found
[17179602.720000] tuner 1-0061: chip found @ 0xc2 (bt878 #0 [sw])
[17179602.720000] tuner 1-0061: type set to 5 (Philips PAL_BG (FI1216 and
compatibles))
[17179602.764000] bttv0: registered device video0
[17179602.764000] bttv0: registered device vbi0
[17179602.764000] bttv0: registered device radio0
[17179602.780000] bttv0: PLL: 28636363 => 35468950 .. ok
[17179602.856000] ACPI: PCI Interrupt 0000:02:0a.1[A] -> Link [LNKG] -> GSI 5
(level, low) -> IRQ 5
[17179602.868000] input: i2c IR (Hauppauge) as /class/input/input2
[17179602.876000] saa7130/34: v4l2 driver version 0.2.14 loaded
[17179602.880000] ACPI: PCI Interrupt 0000:02:0c.0[A] -> Link [LNKE] -> GSI 5
(level, low) -> IRQ 5
[17179602.880000] saa7134[0]: found at 0000:02:0c.0, rev: 1, irq: 5, latency:
64, mmio: 0xfeaff000
[17179602.880000] saa7134[0]: subsystem: 153b:1143, board: Terratec Cinergy 600
TV [card=11,autodetected]
[17179602.880000] saa7134[0]: board init: gpio is 50000
[17179602.880000] input: saa7134 IR (Terratec Cinergy 60 as /class/input/input3
[17179603.024000] tuner 2-0060: All bytes are equal. It is not a TEA5767
[17179603.024000] tuner 2-0060: chip found @ 0xc0 (saa7134[0])
[17179603.024000] tuner 2-0060: type set to 5 (Philips PAL_BG (FI1216 and
compatibles))
[17179603.060000] saa7134[0]: i2c eeprom 00: 3b 15 43 11 ff ff ff ff ff ff ff
ff ff ff ff ff
[17179603.060000] saa7134[0]: i2c eeprom 10: ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff
[17179603.060000] saa7134[0]: i2c eeprom 20: ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff
[17179603.060000] saa7134[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff
[17179603.060000] saa7134[0]: i2c eeprom 40: ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff
[17179603.060000] saa7134[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff
[17179603.060000] saa7134[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff
[17179603.060000] saa7134[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff
[17179603.084000] saa7134[0]: registered device video1 [v4l2]
[17179603.084000] saa7134[0]: registered device vbi1
[17179603.084000] saa7134[0]: registered device radio1
[17179603.092000] saa7134 ALSA driver for DMA sound loaded
[17179603.092000] saa7134[0]/alsa: saa7134[0] at 0xfeaff000 irq 5 registered as
card -1
======================================================================================================
///ALSA-CONFIG///
( /etc/asound.conf: )
======================================================================================================
# Die Soundkarten werden festgelegt.
pcm.sndcard {
type hw
card 0
device 0
}
pcm.haupauge {
type hw
card 1
device 0
}
pcm.cinergy {
type hw
card 2
device 0
}
pcm.klaus {
type plug
slave {
pcm "cinergy"
# rate 44100
}
bindings {
0 0
}
}
# Das dmix-Plugin wird definiert.
pcm.dmixer {
type dmix
ipc_key 1024
ipc_perm 0666 # Andere Benutzer können ebenfalls dmix gleichzeitig
nutzen ( geil! :) )
slave.pcm "sndcard"
slave {
# buffer_size kann bei Problemen der jeweiligen Karte angepasst werden.
period_time 0
period_size 1024
buffer_size 4096
# bei Störungen kann die Konvertierung auf die Rate 44100
eingeschaltet werden.
# rate 44100
}
bindings {
0 0
1 1
}
}
# Das dsnoop-Plugin, welches es erlaubt, mehrere Programme gleichzeitig
aufnehmen zu lassen.
pcm.dsnooper {
type dsnoop
ipc_key 2048
ipc_perm 0666
slave.pcm "sndcard"
slave
{
period_time 0
period_size 1024
buffer_size 4096
# bei Störungen kann die Konvertierung auf die Rate 44100
eingeschaltet werden.
# rate 44100
}
#wbindings {
# 0 0
# 1 1
#}
}
pcm.dsnooper_haupauge {
type dsnoop
ipc_key 2048
ipc_perm 0666
slave.pcm "haupauge"
slave
{
period_time 0
period_size 1024
buffer_size 4096
# bei Störungen kann die Konvertierung auf die Rate 44100
eingeschaltet werden.
# rate 44100
}
#bindings {
# 0 0
# 1 1
#}
}
pcm.dsnooper_cinergy {
type dsnoop
ipc_key 2048
ipc_perm 0666
slave.pcm "cinergy"
slave
{
period_time 0
period_size 1024
buffer_size 4096
# bei Störungen kann die Konvertierung auf die Rate 44100
eingeschaltet werden.
# rate 44100
}
#bindings {
# 0 0
# 1 1
#}
}
# Dies definiert unser Fullduplex-Plugin als Standard für alle ALSA-Programme.
pcm.duplex {
type asym
playback.pcm "dmixer"
capture.pcm "dsnooper"
}
pcm.!default {
type plug
slave.pcm "duplex"
}
########
# AOSS #
########
# DSP wird simuliert und benutzt das dmix-Plugin.
pcm.dsp "duplex"
pcm.dsp1 "duplex"
# OSS-Steuerung für dsp0 (falls es benötigt wird...)
ctl.dsp {
type plug
slave.pcm "sndcard"
}
# OSS-Steuerung für dsp0 (falls es benötigt wird...)
ctl.mixer {
type plug
slave.pcm "sndcard"
}
======================================================================================================
///ALSA///
======================================================================================================
jolie /proc # cat asound/cards
0 [ICH5 ]: ICH4 - Intel ICH5
Intel ICH5 with AD1985 at 0xfebff400, irq 5
1 [Bt878 ]: Bt87x - Brooktree Bt878
Brooktree Bt878 at 0xf7eff000, irq 5
2 [SAA7134 ]: SAA7134 - SAA7134
saa7134[0] at 0xfeaff000 irq 5
======================================================================================================
jolie /proc # amixer controls -c 1
numid=3,iface=MIXER,name='Capture Source'
numid=2,iface=MIXER,name='Capture Boost'
numid=1,iface=MIXER,name='Capture Volume'
======================================================================================================
jolie /proc # amixer controls -c 2
numid=3,iface=MIXER,name='Line Volume',index=1
numid=5,iface=MIXER,name='Line Volume',index=2
numid=4,iface=MIXER,name='Line Capture Switch',index=1
numid=6,iface=MIXER,name='Line Capture Switch',index=2
numid=1,iface=MIXER,name='Video Volume'
numid=2,iface=MIXER,name='Video Capture Switch'
======================================================================================================
jolie /proc # amixer controls -c 0
numid=11,iface=MIXER,name='Master Mono Playback Switch'
numid=12,iface=MIXER,name='Master Mono Playback Volume'
numid=1,iface=MIXER,name='Master Surround Playback Switch'
numid=2,iface=MIXER,name='Master Surround Playback Volume'
numid=9,iface=MIXER,name='Master Playback Switch'
numid=10,iface=MIXER,name='Master Playback Volume'
numid=44,iface=MIXER,name='Headphone Jack Sense'
numid=26,iface=MIXER,name='PCM Playback Switch'
numid=27,iface=MIXER,name='PCM Playback Volume'
numid=42,iface=MIXER,name='Surround Jack Mode'
numid=7,iface=MIXER,name='Surround Playback Switch'
numid=8,iface=MIXER,name='Surround Playback Volume'
numid=3,iface=MIXER,name='Center Playback Switch'
numid=4,iface=MIXER,name='Center Playback Volume'
numid=5,iface=MIXER,name='LFE Playback Switch'
numid=6,iface=MIXER,name='LFE Playback Volume'
numid=45,iface=MIXER,name='Line Jack Sense'
numid=20,iface=MIXER,name='Line Playback Switch'
numid=21,iface=MIXER,name='Line Playback Volume'
numid=22,iface=MIXER,name='CD Playback Switch'
numid=23,iface=MIXER,name='CD Playback Volume'
numid=19,iface=MIXER,name='Mic Boost (+20dB)'
numid=32,iface=MIXER,name='Mic Select'
numid=17,iface=MIXER,name='Mic Playback Switch'
numid=18,iface=MIXER,name='Mic Playback Volume'
numid=15,iface=MIXER,name='Phone Playback Switch'
numid=16,iface=MIXER,name='Phone Playback Volume'
numid=13,iface=MIXER,name='PC Speaker Playback Switch'
numid=14,iface=MIXER,name='PC Speaker Playback Volume'
numid=24,iface=MIXER,name='Aux Playback Switch'
numid=25,iface=MIXER,name='Aux Playback Volume'
numid=31,iface=MIXER,name='Mono Output Select'
numid=28,iface=MIXER,name='Capture Source'
numid=29,iface=MIXER,name='Capture Switch'
numid=30,iface=MIXER,name='Capture Volume'
numid=33,iface=MIXER,name='IEC958 Playback Con Mask'
numid=34,iface=MIXER,name='IEC958 Playback Pro Mask'
numid=37,iface=MIXER,name='IEC958 Playback AC97-SPSA'
numid=35,iface=MIXER,name='IEC958 Playback Default'
numid=38,iface=MIXER,name='IEC958 Playback Source'
numid=36,iface=MIXER,name='IEC958 Playback Switch'
numid=43,iface=MIXER,name='Channel Mode'
numid=41,iface=MIXER,name='Downmix'
numid=47,iface=MIXER,name='Exchange Center/LFE'
numid=39,iface=MIXER,name='Exchange Front/Surround'
numid=48,iface=MIXER,name='External Amplifier'
numid=40,iface=MIXER,name='Spread Front to Surround and Center/LFE'
numid=46,iface=MIXER,name='Stereo Mic'
======================================================================================================
///DEVICES///
======================================================================================================
jolie /proc # ls /dev/dsp -l
lrwxrwxrwx 1 root root 9 Feb 27 20:38 /dev/dsp -> sound/dsp
======================================================================================================
jolie /proc # ll /dev/sound/
total 0
crw-rw---- 1 root audio 14, 12 Feb 27 20:38 adsp
crw-rw---- 1 root audio 14, 28 Feb 27 20:38 adsp1
crw-rw---- 1 root audio 14, 4 Feb 27 20:38 audio
crw-rw---- 1 root audio 14, 20 Feb 27 20:38 audio1
crw-rw---- 1 root audio 14, 36 Feb 27 20:38 audio2
crw-rw---- 1 root audio 14, 3 Feb 27 20:38 dsp
crw-rw---- 1 root audio 14, 19 Feb 27 20:38 dsp1
crw-rw---- 1 root audio 14, 35 Feb 27 20:38 dsp2
crw-rw---- 1 root audio 14, 0 Feb 27 20:38 mixer
crw-rw---- 1 root audio 14, 16 Feb 27 20:38 mixer1
crw-rw---- 1 root audio 14, 32 Feb 27 20:38 mixer2
crw-rw---- 1 root audio 14, 1 Feb 27 20:38 sequencer
crw-rw---- 1 root audio 14, 8 Feb 27 20:38 sequencer2
======================================================================================================
///WHAT-I-DID///
/usr/bin/mencoder tv://E9 -o /LINKS/tv-recordings/REC_sat1_7663.avi -ovc lavc
-lavcopts vcodec=mpeg4:vbitrate=1800 -vf pp=lb -oac mp3lame -lameopts
cbr:br=64:mode=0 -tv
driver=v4l2:device=/dev/v4l/video1:width=640:height=480:input=0:amode=1:volume=100:alsa
( this worx ! )
( why: mencoder uses /dev/dsp to record from, but this belongs to my soundcard.
Ok the cinergy-tv-card (/dev/video1) has the audio-out-cable in the line-in of
my sound-card! AND it only worx, if I set the "record"-source/capture-source to
"Line" (e.g. via aumix) - nicely I don't hear the sound even if it recors, if I
put the sound-level to 0 within aumix for "line" even though the sound gets
recorded!)
and so the same way worx:
streamer -c /dev/video1 -p 4 -t 1:00 -r 24 -q -o /tmp/test.avi -j 90 -f mjpeg
-F mono16
but something like:
/usr/bin/mencoder tv://E9 -o /LINKS/tv-recordings/REC_sat1_7663.avi -ovc lavc
-lavcopts vcodec=mpeg4:vbitrate=1800 -vf pp=lb -oac mp3lame -lameopts
cbr:br=64:mode=0 -tv
driver=v4l2:device=/dev/v4l/video0:width=640:height=480:input=0:amode=1:volume=100:alsa:adevice=cinergy
>>> Writing AVI-Header...
>>> ODML: Aspect information not (yet?) available or unspecified, not writing
>>> vprp header.
>>> Erzwinge Audio-Preload von 0, maximale pts-Korrektur von 0
>>> ODML: Aspect information not (yet?) available or unspecified, not writing
>>> vprp header.
>>> Pos: 0.3s 7f ( 0%) 0fps Trem: 0min 0mb A-V:0.000 [0:0]
>>> Frame dropped!
>>> Pos: 0.3s 9f ( 0%) 0fps Trem: 0min 0mb A-V:0.000 [0:0]
>>> Frame dropped!
>>> Pos: 0.4s 11f ( 0%) 0fps Trem: 0min 0mb A-V:0.000 [0:0]
>>> Frame dropped!
>>> Pos: 0.5s 16f ( 0%) 0fps Trem: 0min 0mb A-V:0.000 [0:0]
>>> Frame dropped!
or:
/usr/bin/mencoder tv://E9 -o /LINKS/tv-recordings/REC_sat1_7663.avi -ovc lavc
-lavcopts vcodec=mpeg4:vbitrate=1800 -vf pp=lb -oac mp3lame -lameopts
cbr:br=64:mode=0 -tv
driver=v4l2:device=/dev/v4l/video0:width=640:height=480:input=0:amode=1:volume=100:alsa:adevice=dsnooper_cinergy
>>> ALSA lib pcm_mmap.c:363:(snd_pcm_mmap) mmap failed: Invalid argument
>>> ALSA lib pcm_direct.c:900:(snd_pcm_direct_initialize_slave) unable to
>>> install hw params
>>> ALSA lib pcm_dsnoop.c:570:(snd_pcm_dsnoop_open) unable to initialize slave
or:
/usr/bin/mencoder tv://E9 -o /LINKS/tv-recordings/REC_sat1_7663.avi -ovc lavc
-lavcopts vcodec=mpeg4:vbitrate=1800 -vf pp=lb -oac mp3lame -lameopts
cbr:br=64:mode=0 -tv
driver=v4l2:device=/dev/v4l/video0:width=640:height=480:input=0:amode=1:volume=100:alsa:adevice=klaus
>>> ALSA lib pcm_plug.c:1109:(_snd_pcm_plug_open) Unknown field bindings
DOES NOT WORK! ( with above /etc/asound.conf ! )
///QUESTIONS///
Q.1. What kernel-module parameter do I need?
Q.1.a How should be the output via dmesg?
Q.1.b I don't know if it normal, but I got NO dmesg-output for loading
snd_bt87x (as I was used to with btaudio)?!
Q.2. What do I have to put in the /etc/asound.conf?
Q.2.a. Do I need "dnsoop" or "plug" or "hw" as type???
Q.2.b. What parameters do I need?
Q.3. How can I record (maybe first just with arecord) something via ALSA from
one of my two tv-cards?
(((Q.4. Can I record with streamer using the ALSA sound-card-representation of
my tv-capture-device?)))
...
???
Thank you very much in advance for any hint/help!
Greetings,
tormen
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid0944&bid$1720&dat1642
_______________________________________________
Alsa-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/alsa-user