FFmpeg Open Source CLI
FFmpeg is a powerful command line interface (CLI) that handles audio and video processing tasks. I like to think of FFmpeg as a "Swiss army knife" for media processing, due to its wide range of capabilities.
FFmpeg Use Cases
- Record your desktop
- Convert between different file formats (eg
- Capture Real-Time Streaming Protocol (RTSP) streams from security cameras and record to disk
- Resize video resolution and bitrate
Resize Video Resolution
To change the resolution of a video, using FFmpeg, use the
scale video filter.
There are several different scale filters, in fact, but the most basic one is simply called
-vf parameter is used to apply a filter to an input video stream.
-y parameter simply allows overwriting of the destination file, if it already exists.
ffmpeg -y -i source.mp4 -vf scale=width=1280:height=720 output.mp4
Sometimes you only care about a certain section of video, from a camera stream.
This is especially true for security cameras, where the wide lens angle can capture a wider area than is necessary to monitor specific items.
You can use the
crop video filter to crop the contents of a video.
If you specify the
y parameters, without specifying the
w (width) and
h (height) parameters, the filter will fail to operate.
FFmpeg will ignore the filter but continue to process other valid filters.
ffmpeg -y -i source.mp4 -vf crop=x=1500:y=800:w=500:h=300 -t 5 output.mkv
|w||The width of the video to capture|
|h||The height of the video to capture|
|x||The left starting edge to capture from|
|y||The top starting edge to capture from|