ffmpeg

list decoders/formats

ffmpeg -codecs
ffmpeg -formats

Basic conversions

# Convert sounds
ffmpeg -i filename.mp4 filename.mp3
ffmpeg -i filename.mp4 -b:a 192K -vn filename.mp3

Capture/Stream desktop

# Capture x11 desktop:
ffmpeg -video_size 1024x768 -framerate 25 -f x11grab -i :0.0+100,200 output.mp4
# Capture x11 desktop  and store in x264
ffmpeg -video_size 1920x1080 -framerate 25 -f x11grab -i :0.0+0,0 -f h264 out.h2

# Stream desktop over tcp using h264 and receiving with mplayer (it has high delay)
ffmpeg -video_size 1920x1080 -framerate 25 -f x11grab -i :0.0+0,0   -f h264 -preset veryfast - | nc -l -p 6000
nc 127.0.0.1 6000 | mplayer -cache 512 -


# Stream desktop over tcp: more responsive method
ffmpeg -video_size 1920x1080 -framerate 25 -f x11grab -i :0.0+0,0  -preset ultrafast -vcodec libx264 -tune zerolatency -b 900k -f mpegts - | nc -l -p 6000
nc 127.0.0.1 6000 | mplayer -

# Same on udp
ffmpeg -video_size 1920x1080 -framerate 25 -f x11grab -i :0.0+0,0  -preset ultrafast -vcodec libx264 -tune zerolatency -b 900k -f mpegts - |  socat - UDP-DATAGRAM:127.0.0.1:24000,broadcast
nc -u -l -p 24000 | mplayer -


# Stream desktop, directly on tcp
ffmpeg -video_size 1920x1080 -framerate 25 -f x11grab -i :0.0+0,0  -preset ultrafast -vcodec libx264 -tune zerolatency -b 900k -f mpegts tcp://127.0.0.1:6000\?listen
ffplay tcp://127.0.0.1:6000