# Media : ffmpeg : CLI ``` ffmpeg -codecs List supported codecs. ffmpeg -formats List supported formats. ffmpeg -i <input> <output> -crop[bottom|left|right|top] <px> -pad[bottom|left|right|top] <px> Even numbers only. -padcolor <hex> -qscale <value> Quality scale for variable bitrate and coding. Lower number = higher quality. Range: ?-9.5-? -sameq Keep same quality as input. -ss <time> ? -t <time> Only use <time> slice of input. -target <target> [ dvd | ? ] ──── Audio Transcoding ──── -ab <bitrate> Set bitrate. Common: 128k -ac <channels> Set num audio channels. -an Strip out an audio stream from a media file. "no audio recording" -ar <freq> Set audio frequency. Common: 22050, 44100, 48000 -acodec <codec> Audio codec. Common: libmp3lame, vorbis ──── Video Transcoding ──── -aspect <ratio> Set aspect ratio. Common: 4:3 -b <bitrate> Set bitrate. Common: 200k -r <frames> Set frame rate. -s <value> Set resolution. Common: 1024x768 (or 'xga'), 1280x720 (or 'hd720') -vn Strip out a video stream from a media file. -vcodec <codec> Video codec. Common: flv, libtheora, mpeg4 ──── Time ──── <time> := [ <seconds> | <hh.mm.ss> ] ``` #### Explode Video (convert to sequence of images) ``` ffmpeg -i <input> -r 1 # frame rate (one image per second) -f image2 # force output format (optional) image-%06d.png # filename pattern ``` ``` ── Constant Rate Factor ── (-crf) (lower = higher) This method allows the encoder to attempt to achieve a certain output quality for the whole file when output file size is of less importance. This provides maximum compression efficiency with a single pass. Each frame gets the bitrate it needs to keep the requested quality level. The downside is that you can't tell it to get a specific filesize or not go over a specific size or bitrate. ```