ffmpeg
ffmpeg -codecs
ffmpeg -formats
Basic conversions
# Convert sound
ffmpeg -i filename.mp4 filename.mp3
ffmpeg -i filename.mp4 -b:a 192K -vn filename.mp3
Speed up sound/voice with frequency compensation (example 40% speedup)
ffmpeg -i input.ogg -filter:a "atempo=1.4" output.ogg
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 (X11) over tcp using h264 and receive 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 (X11) 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 (X11), 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