ffmpeg

Translate a media file to a new type

1ffmpeg -formats
2ffmpeg -i ${input} ${output}

Reduce video quality

1quality=20
2ffmpeg -i ${input}.mp4 -vcodec libx264 -crf ${quality} ${output}.mp4

A crf quality of 18 is high, while 24 is low quality.

Convert from mkv to mp4 with a codec

1ffmpeg -i ${input}.mkv -codec copy ${output}.mp4

Both mp4 and mkv are wrappers around other formats, so this conversion loses less quality than other conversion types.

Convert video to audio

1ffmpeg -i ${input}.mp4 -vn ${output}.mp3

Convert all mkv files to mp4

1for i in *.mkv; do
2ffmpeg -i "$i" -codec copy "${i%.*}.mp4"
3done

Change resolution

1ffmpeg -i ${input}.mp4 -filter:v scale=1280:720 -c:a copy ${output}.mp4

Change video aspect ratio

1ffmpeg -i input.mp4 -aspect 16:9 output.mp4

Trim video to start and stop times

1start=00:00:50
2stop=50
3ffmpeg -i ${input}.mp4 -ss ${start} -codec copy -t ${stop} ${output}.mp4

The $stop time shows how many seconds after the start you want.

Compress a video file

1quality=21
2ffmpeg -i ${input}.mp4 -vf scale=1280:-1 -c:v libx264 -preset veryslow -crf ${quality} ${output}.mp4

A crf quality of 18 is high, while 24 is low quality.

Convert video to a series of images

1framerate=1
2format=image2
3ffmpeg -i input.mp4 -r ${framerate} -f ${format} image-%2d.png

Add subtitles to a video file

1fmpeg -i ${input}.mp4 -i subtitle.srt -map 0 -map 1 -c copy -c:v libx264 -crf 23 -preset veryfast ${output}.mp4