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 Alsa-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/alsa-user