Gstreamer + Icecast2
Stream a Xwindow into an Icecast server:
gst-launch ximagesrc ! videoscale ! video/x-raw-rgb,width=720,height=576 ! \ ffmpegcolorspace ! theoraenc quality=16 ! oggmux ! \ shout2send ip=localhost port=8000 password=hackme mount=test.ogg
Theoraenc quality goes from 0 (bad) to 63 (excellent).
Stream a Fluxus window to icecast:
gst-launch ximagesrc xname="fluxus scratchpad 0.18" ! \ ffmpegcolorspace ! theoraenc quality=16 ! oggmux ! \ shout2send ip=localhost port=8000 password=hackme mount=test.ogg
Stream from a video capture card to icecast:
gst-launch v4l2src ! videoscale ! video/x-raw-yuv,width=768,height=576 ! \ ffmpegcolorspace ! theoraenc quality=16 ! oggmux ! \ shout2send ip=localhost port=8000 password=hackme mount=test.ogg
Launch VLC with no interface, fullscreen, without OnScreenDisplay and cropped (left+top+right+bottom)
cvlc -f --no-osd --crop 0+2+400+300 http://localhost:8000/test.ogg
Especially with multiple sessions of Xwindow and Xinerama disabled.
BUG: https://bugs.launchpad.net/ubuntu/+source/nautilus/+bug/885989
Nautilus is buggy. Replaced with Thunar.
Removing Nautilus from a clean Ubuntu will remove gnome-session and break the desktop. You don't want that. To keep a working gnome-session, I added the gnome3 ppa before removing nautilus. Which actually updated gnome-session in the process.
sudo add-apt-repository ppa:gnome3-team/gnome3
And to get something like DISPLAY:=0.1 in the command line, you need to bee in Unity2D. Geez.
Since Noemie has done some editing to the videos. She has brought letterboxed videos to display. And since we wanted the image to be fullscreen. I cropped the video using FFMpeg:
ffmpeg -i input.dvd -vf "cropdetect=24:16:0" dummy.mpeg
detects where the cropping should happend. I could make calculations myself, but it was more fun to have it done by FFMpeg.
ffmpeg -i input.dvd -vf "crop=720:432:0:72" -sameq -an cropped.dvd
Crops the video while keeping the quality the same, though removing the unecessary audio.