The info is in the man pages for avconv. In my version (probably the same as yours) I found it in the chapter on "Input Devices", in the section "pulse", on line 1854.
Type in:
$ pactl list sources | less
You'll see info on "Source #0", "Source #1" etc. depending how how many sound cards and whatnot you have.
Get the string under "Name:", it will be something like:
alsa_output.pci-[some number].analog-stereo.monitor
where "some number" is dependent on your hardware.
Instead of demuxing using alsa directly (avconv ... -f alsa ...) as you've tried to do above, use pulse instead:
avconv ... -f pulse -i alsa_output.pci-....analog-stereo.monitor ...
This will record the audio being monitored and passed to the speakers or headphones or whereever. If you wish to use pulse to demux and record the microphone, use the other "Name:" (or one of the other names) which doesn't include the word "monitor".
I hope it helps.
To force FFmpeg/Libav to copy all input streams to the output, use the -map 0
option.
ffmpeg -i in.mkv \
-map 0 -c copy \
-c:v mpeg2video -qscale:v 2 \
out.mkv
FFmpeg and Libav should behave the same way here. See How to use -map option on the FFmpeg wiki. Try the suggested '-qscale:v 2' option in this commandline, it should give excellent results, or simply keep the bitrate options as specified in your own post.
Best Answer
Looks like the option -an should do the trick. Just ran a file, confirmed, new file had no sound.
from http://manpages.ubuntu.com/manpages/precise/man1/avconv.1.html