grabar sonido del pc con ffmpeg y alsa [Solucionado]

bueno, llevo varios idas dándole vueltas y no encuentro una solución a este problema. mi intención es grabar el escritorio, tanto vídeo como audio interno (lo que sale por los altavoces).
mi S.O es debian estable 64 bts y el servidor de sonido es alsa. e instalado: ffmpeg, winff y mencoder


e probado varios comandos con diferentes resultados:

- ffmpeg -f x11grab -s 1680x1050 -r 25 -i :0.0 -sameq /home/pablo/mi-video.mkv
me graba el vídeo pero claro, no el audio.

después este:
- ffmpeg -f alsa -ac 2 -i /dev/dsp -f x11grab -s 1680x1050 -r 25 -i :0.0 -sameq /home/pablo/mi-video.mkv
me lanza este error:
ALSA lib pcm.c:2190:(snd_pcm_open_noupdate) Unknown PCM /dev/dsp
[alsa @ 0x20837a0] cannot open audio device /dev/dsp (No such file or directory)
/dev/dsp: Input/output error

el siguiente:
- ffmpeg -f alsa -ac 2 -i hw:0,0 -f x11grab -s 1680x1050 -r 25 -i :0.0 -sameq /home/pablo/mi-video.mkv
me graba el vídeo y no me lanza error, pero no graba el audio.

así que según creo el problema esta en lo que viene después de -f alsa -ac 2 -i que supongo es donde mi debian coge el audio.
¿como saber que poner ahí?

una solución que e visto es instalar pulseaudio, pero no me gusta ya que e tenido problemas con ese driver en el pasado.
e encontrado documentación en la red, pero no doy con la solución:

http://verb3k.wordpress.com/2010/01/26/how-to-do-proper-screencasts-on-l...
http://www.vagos.es/showthread.php?t=953236
perdon por el rollo y un saludo.

hall9000 escribió:

[...] error:

[...]
ALSA lib pcm.c:2190:(snd_pcm_open_noupdate) Unknown PCM /dev/dsp
[alsa @ 0x20837a0] cannot open audio device /dev/dsp (No such file or directory)
/dev/dsp: Input/output error
[...]

[...]

¿Qué devuelve:

$ ls /dev/dsp -lh

?

En mi caso devuelve esto:

crw-rw----+ 1 root audio 14, 3 Aug  6 11:03 /dev/dsp

nada:
pablo@debian:~$ ls /dev/dsp -lh
ls: no se puede acceder a /dev/dsp: No existe el fichero o el directorio
pablo@debian:~$

no se si sera porque me e cargado algo sad estuve probando con pulseaudio y me e cargado algunas cosas que estoy intentando recuperar, aqui lo tengo expuesto:
http://foro-ubuntu-guia.963965.n3.nabble.com/recuperar-control-de-volume...

¿Tienes instalado oss-compat o alsa-oss?.

rioport escribió:

¿Tienes instalado oss-compat o alsa-oss?.

alsa-oss supongo, para poder recuperar el sonido e reinstalado con:

aptitude install alsa-base alsa-utils

Resulta que tampoco me funcionaba el grabar el audio, solo grababa el vídeo. Bien seguí estos pasos que encontré acá:
Instalar pulseaudio y pavucontrol (ya los tenia instalados)
crear el archivo /etc/asound.conf:

# nano /etc/asound.conf

y añadir estas lineas:

pcm.pulse {
type pulse
}

ctl.pulse {
type pulse
}

pcm.!default {
type pulse
}

ctl.!default {
type pulse
}

crear el archivo .asoundrc en mi home,

$ nano ~/.asoundrc

y añadir las mismas lineas que a asound.conf.

Eliminar el icono de volumen que está arriba a la derecha (uso Gnome).
Reiniciar.
Ahora con este comando:

ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 30 -s 1280x800 -i :0.0 -acodec pcm_s16le -vcodec libx264 -vpre lossless_ultrafast -threads 0 -y prueba.mkv

Se graba el vídeo y el audio que se está reproduciendo en el PC.

Pero inevitablemente se usa pulseaudio.

Resulta fantástico y me pienso que bien vendría la elaboración de un script con variables o posible interfaz ¿python? que quedase como aportación para la comunidad.

Es mucho pedir, sobre todo sin aportar nada por mi parte pero ya me gustaría tener la capacidad para elaborarlo.

Saludos.

bueno, lo logré, finalmente pude grabar vídeo y audio (audio interno y micrófono) instalando pulseaudio. me a costado tantas horas de búsqueda, de dar palos de ciego que creo que e vez de poner los pasos que e hecho para solucionarlo, se merece un articulo para la wiki.
haber si recopilo todos los pasos hechos y tengo un rato typeo
un saludo.

hall9000 escribió:

aquí la solución paso a paso:
http://www.esdebian.org/wiki/solucion-problemas-sonido-grabando-escritor...
un saludo.

No me funciono tuve que quitar asoundrc, pero si funcionó con:
ffmpeg -async 1 -f alsa -i plughw:0,0 -f x11grab -s 1024x600 -r 25 -i :0.0 -b 128 Desktop.avi

en mi caso linea de entrada, si usan microfono probar:
plughw:1,0

Y para grabar audio de linea o microfono:
ffmpeg -f alsa -ac 2 -i hw:0,0 -acodec limp3lame -ab 96k sac.mp3

o con sox:
sox -t alsa "hw:0,0" -t ogg -A -2 c1 sal-ogg rate 44100
ó
sox -t alsa "hw:0,0" -t mp3 sal.mp3 rate 22050

No olviden en seleccionar el la entrada de captura, con alsamixer y F4.

pero no se pudo con rec del paquete sox, ademas en ambos métodos se escucha ruido, pese a que la entrada de linea tiene un radio que se escucha clarito, pero en cualquier grabación aparece ruido, aun no veo como quitarle ese ruido, pero da gusto poder grabar (con ruido) es lo unico que extraño de xp el mp3recorder, en menos de 1 mb, graba mejor que audacity y muchos otros que probe, lamentablemente no funciona en wine. Intentare grabar raw o pasarle filtros para solucionar el ruido.

cioran escribió:
hall9000 escribió:

aquí la solución paso a paso:
http://www.esdebian.org/wiki/solucion-problemas-sonido-grabando-escritor...
un saludo.

....

Pues ya esta:

  1. Instalar pulseaudio y pavucontrol
  2. Darle el control del audio a pulse
  3. sudo vim /etc/asound.conf
    pcm.pulse {
    type pulse
    }

    ctl.pulse {
    type pulse
    }

    pcm.!default {
    type pulse
    }

    ctl.!default {
    type pulse
    }
    Y copiar el mismo contenido pero a:
    vim ~/.asoundrc

  4. Reiniciar y "ejecutar" pavucontrol.
  5. Grabar audio con:
  6. ffmpeg -f alsa -i pulse -acodec libmp3lame -ar 22050 -ab 24k -ac 1 audio.mp3

  7. En pavucontrol ir a la pestaña dispositivos de entrada, seleccionar la adecuada micrófono rear-el de atrás, microfono front - el otro, entrada de linea-el que usare cuando comience la grabacion parecera en la pestaña grabación una barrra de actividad con la intensidad de volumen de lo grabado, pueden configurar el volumen.

Ahora a grabar con claridad.