In a recent post I showed a way to stream video and audio data to Icecast2 through VLC. Being curious if there is no better way (especially getting rid of the dependency on Qt) I discoverd, that the GStreamer framework serves such purposes very well. It was relatively easy to come up with a processing chain which at its end streams it's content to an Icecast2 instance:

gst-launch-0.10 v4l2src ! videorate ! video/x-raw-yuv,width=640,height=480,framerate=25/2 ! ffmpegcolorspace ! theoraenc quality=50 ! oggmux name=mux pulsesrc ! audio/x-raw-int,rate=8000,channels=1,depth=8 ! audioconvert ! vorbisenc ! mux. mux. ! shout2send port=8000 password=<secret> mount=stream.ogg