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

Reply via email to