PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Auf einer Karte aufnehmen, auf anderer Wiedergeben



Hook
29.03.09, 15:15
Hallo!
Zuerst einige Informationen zu meinem System:
Distribution: Debian squeeze (z.Z. testing)
Kernel: 2.6.26-1-amd64
Soundkarten: Wiedergabe: Plantronics DSP 550 (Treiber snd_usb_audio), Aufnahme: Brooktree Bt878 (Treiber snd_bt87x)
Oberfläche: Gnome 2.22.3
Ausgabe von lsmod |grep snd:
hook@debian:~$ lsmod |grep snd
snd_usb_audio 91296 2
snd_mpu401 12072 0
snd_usb_lib 20224 1 snd_usb_audio
snd_mpu401_uart 11776 1 snd_mpu401
snd_seq_midi 11072 0
snd_seq_midi_event 11904 1 snd_seq_midi
snd_bt87x 17796 0
snd_rawmidi 26784 3 snd_usb_lib,snd_mpu401_uart,snd_seq_midi
snd_pcm 81672 3 snd_usb_audio,snd_bt87x
snd_hwdep 12040 1 snd_usb_audio
snd_seq 54304 2 snd_seq_midi,snd_seq_midi_event
snd_timer 25744 3 snd_pcm,snd_seq
snd_seq_device 11668 3 snd_seq_midi,snd_rawmidi,snd_seq
snd_page_alloc 13072 2 snd_bt87x,snd_pcm
snd 63688 12 snd_usb_audio,snd_mpu401,snd_mpu401_uart,snd_bt87x ,snd_rawmidi,snd_pcm,snd_hwdep,snd_seq,snd_timer,s nd_seq_device
soundcore 12064 1 snd

Ich besitze die TV-Karte Hauppauge WinTV express PAL-B/G 44804 auf welcher der oben genannte Soundchip Brooktree Bt878 verbaut ist. An dieser TV-Karte ist ein Digitalreceiver angeschlossen, über den ich Bild und Ton in die TV-Karte einspeise.
Auf das Video-Device (video0) kann ich mit vlc problemlos zugreifen(video4linux), allerdings scheint es kein Device zu geben, das für Audio dieser Karte zuständig ist (oss ist deaktiviert).
Der Soundchip Brooktree Bt878 besitzt nur ein Capture-Device, Playback wird aber auch nicht benötigt.
Nun möchte ich den Sound, der über den Soundchip Brooktree Bt878 aufgenommen werden kann, über mein USB-Headset ausgeben. In den Gnome-Sound-Einstellungen (System -> Einstellungen -> Audio) kann der Sound umgeleitet werden, wenn unter Audiokonferenz -> Audioaufnahme das Device Bt87x Analog ausgewählt wird und auf Test geklickt wird. Allerdings bricht der Sound nach einigen Sekunden ab. Eine Umleitung ist also offensichtlich schon möglich.

Ich benötige nun eine Möglichkeit, den Sound permanent auf dem Device Brooktree Bt878 (snd_bt87x) aufzunehmen und es direkt (mit einer möglichst geringen Verzögerung) auf meinem USB-Headset wiederzugeben.

Ich habe bereits probiert, den Sound mit dem Programm ecasound umzuleiten, aber ich bekomme keinen Sound und folgende Ausgabe im Debug-Modus:

hook@debian:~$ ecasound -i alsa,hw:1,1 -o alsa -D
************************************************** ******************************
* ecasound v2.5.2 (C) 1997-2008 Kai Vehmanen and others
************************************************** ******************************
[* Session created *]
[* Chainsetup created (cmdline) *]
[* Connecting chainsetup *]
(eca-chainsetup) 'rt' buffering mode selected.
(audioio_alsa) Warning! Period-size differs from current client buffersize.
(eca-chainsetup) Opening input "alsa", mode "read". Format: s16_le, channels 2, srate 44100, interleaved.
(audioio_alsa) Warning! Period-size differs from current client buffersize.
(eca-chainsetup) Opening output "alsa", mode "write". Format: s16_le, channels 2, srate 44100, interleaved.
[* Chainsetup connected *]
(eca-control-objects) Connected chainsetup: "command-line-setup".
[* Controller/Starting batch processing *]
[* Engine init - Driver start *]
WARNING: ALSA playback underrun, glitches in audio playback possible! Break was at least 10003.38 ms long.
ALSA: Unknown device state '3'
...

Für eure Bemühungen schonmal im Vorruas Vielen Dank!

suamor
02.04.09, 22:44
Das sollte mit der asoundrc (Alsa Konfiguration) http://alsa.opensrc.org/index.php/Asoundrc möglich sein. Ich habe es allerdings nie ausprobiert. Interessant wäre auch, ob Jack mit mehreren Soundkarten gleichzeitig umgehen kann (vielleicht erst in Version 2).
Bei mir ist es so, daß ich eine externe USB-Soundkarte habe, die nicht immer am Notebook hängt und ich zur Not auch mal nur den eingebauten Speaker verwenden möchte bzw. beide an einem Lautsprecher.
Die Hardware-Variante (Kabel :-) ginge zur Not natürlich auch noch.

Gruß

Hook
04.04.09, 16:30
Nachdem ich einige Versuche mit der .asoundrc vorgenommen habe und eigentlich nicht mehr erreicht habe als den Sound kaputt zu machen, habe ich die VLC-Version 0.9.8a installiert und mithilfe von video2linux2 den Soundinput eines Alsa-Devices wie folgt abgegriffen:

vlc v4l2:// :v4l2-dev=/dev/video0 :v4l2-adev= :v4l2-standard=2 :v4l2-dev="/dev/video0" :v4l2-standard=255 :v4l2-chroma="" :v4l2-input=1 :v4l2-audio-input=0 :v4l2-io=1 :v4l2-width=0 :v4l2-height=0 :v4l2-fps=-1 :v4l2-adev="hw:1,1" :v4l2-audio-method=2 :v4l2-stereo :v4l2-samplerate=44100 :v4l2-caching=300 :v4l2-tuner=0 :v4l2-tuner-frequency=-1 :v4l2-tuner-audio-mode=1 :no-v4l2-controls-reset :v4l2-brightness=-1 :v4l2-contrast=-1 :v4l2-saturation=-1 :v4l2-hue=-1 :v4l2-black-level=-1 :v4l2-auto-white-balance=-1 :v4l2-do-white-balance=-1 :v4l2-red-balance=-1 :v4l2-blue-balance=-1 :v4l2-gamma=-1 :v4l2-exposure=-1 :v4l2-autogain=-1 :v4l2-gain=-1 :v4l2-hflip=-1 :v4l2-vflip=-1 :v4l2-hcenter=-1 :v4l2-vcenter=-1 :v4l2-audio-volume=-1 :v4l2-audio-balance=-1 :no-v4l2-audio-mute :v4l2-audio-bass=-1 :v4l2-audio-treble=-1 :v4l2-audio-loudness=-1 :v4l2-set-ctrls="" --aspect-ratio 16:9 --width 1280 --height 720
Somit bekomme ich nun Bild und Ton direkt von VLC wiedergegeben.
Sicherlich kann man mit dieser Möglichkeit auch ohne eine Video-Karte nur den Sound von einer Alsa-Karte auf eine andere umleiten. (Startparameter müssen wahrscheinlich nur ein wenig modifiziert werden)
Trotzdem Danke für die Antwort :)

El-Biero
05.04.09, 14:13
hallo
sollte normal mit den alsatools zu machen sein.
Kenne jetzt deine pcms nicht genau, aber ein

cat /proc/asound/pcm
bzw.
ls /dev/snd
sollte alles ausgeben.
Zb nur mal aufs blaue Auge gedrückt laut deinen Eingaben von ecasound.

arecord -D plughw:1,1 -f cd | aplay -D plughw;0,0sollte den Sound von der 2Karte vom 2dev also pcmC1D1c od pcmC1D1p aufnehmen und an aplay durchschleifen der gibt dann auf die 1 Karte aufs 1Dev sound aus also auf pcmC0D0p (das sollte die Standardausgabe sein). Eventuell must noch alsamixer -c1 aufrufen um auf der 2Karte das capture zu aktivieren. Das ist leider bei den Karten meistens ein anderes. Guter Anlauf ist capture bzw pcm od wav hier musst halt probieren. Klappt zumindest hier wenn ich über die TV Karte nur sound mitschneiden will.

Tschau El-Biero