FFmpeg Usage Examples

By Ercan - 13/04/2025

FFmpeg is a versatile open-source tool for handling multimedia data, including video, audio, and images.
It provides command-line utilities for converting formats, extracting metadata, resizing, cropping, merging, and automating repetitive tasks.
Whether you need to process a single file or manage large collections of media, FFmpeg offers fast and flexible solutions.

You can download FFmpeg by using link below.

https://ffmpeg.org/download.html

⚡ Basic Video Operations

Convert video format:

ffmpeg -i input.mp4 output.avi

Display video information:

ffmpeg -i input.mp4

Extract audio from video:

ffmpeg -i input.mp4 -q:a 0 -map a output.mp3

Extract video duration:

ffmpeg -i input.mp4 2>&1 | grep "Duration"

Capture a single frame:

ffmpeg -i input.mp4 -ss 00:00:10 -vframes 1 frame.png

 

🎞️ Video Editing Examples

Resize video to 720p:

ffmpeg -i input.mp4 -vf scale=1280:720 output_720p.mp4

Crop video (x=100, y=50, width=640, height=480):

ffmpeg -i input.mp4 -vf "crop=640:480:100:50" output_cropped.mp4

Rotate video 90 degrees clockwise:

ffmpeg -i input.mp4 -vf "transpose=1" output_rotated.mp4

Trim video segment:

ffmpeg -i input.mp4 -ss 00:01:00 -to 00:02:30 -c copy output_trim.mp4

Merge multiple videos (same codec/resolution):

ffmpeg -f concat -safe 0 -i file_list.txt -c copy output.mp4

Overlay text on video:

ffmpeg -i input.mp4 -vf "drawtext=text='Sample Text':fontcolor=white:fontsize=24:x=10:y=10" output_text.mp4

Add watermark/logo:

ffmpeg -i input.mp4 -i logo.png -filter_complex "overlay=10:10" output_logo.mp4

 

🔊 Audio Operations

Convert audio format:

ffmpeg -i input.wav output.mp3

Normalize audio volume:

ffmpeg -i input.mp3 -filter:a "volume=1.5" output_louder.mp3

Extract audio segment:

ffmpeg -i input.mp3 -ss 00:01:00 -to 00:02:30 -c copy output_segment.mp3

Merge multiple audio files:

ffmpeg -i "concat:audio1.mp3|audio2.mp3|audio3.mp3" -acodec copy output.mp3

Change audio speed (tempo):

ffmpeg -i input.mp3 -filter:a "atempo=1.25" output_faster.mp3

Convert stereo to mono:

ffmpeg -i input.mp3 -ac 1 output_mono.mp3

 

🗂️ Batch Processing Examples

Convert all .mov files in a directory to .mp4:

for f in *.mov; do ffmpeg -i "$f" "${f%.mov}.mp4"; done

Extract thumbnails from all videos:

for f in *.mp4; do ffmpeg -i "$f" -ss 00:00:05 -vframes 1 "${f%.mp4}.png"; done

Compress all videos to lower bitrate:

for f in *.mp4; do ffmpeg -i "$f" -b:v 1000k -bufsize 1000k "compressed_$f"; done

Batch convert audio files:

for f in *.wav; do ffmpeg -i "$f" "${f%.wav}.mp3"; done

 

🧪 Advanced Examples

Extract frames at 1 frame per second:

ffmpeg -i input.mp4 -vf fps=1 frames/output_%04d.png

Split video into 5-minute segments:

ffmpeg -i input.mp4 -c copy -map 0 -segment_time 00:05:00 -f segment segment_%03d.mp4

Replace video audio with another track:

ffmpeg -i input_video.mp4 -i new_audio.mp3 -c:v copy -map 0:v:0 -map 1:a:0 output.mp4

Overlay two videos (picture-in-picture):

ffmpeg -i main.mp4 -i overlay.mp4 -filter_complex "[1:v]scale=320:240[ov];[0:v][ov]overlay=10:10" output_pip.mp4

Adjust video playback speed:

ffmpeg -i input.mp4 -filter:v "setpts=0.5*PTS" output_fast.mp4

Extract subtitles from video:

ffmpeg -i input.mkv -map 0:s:0 subs.srt

Add subtitles to video:

ffmpeg -i input.mp4 -vf "subtitles=subs.srt" output_subtitled.mp4

 

🚀 Final Notes

FFmpeg provides comprehensive control over multimedia files, from simple conversions to complex transformations.
Its command-line interface makes it ideal for automation, scripting, and batch processing.

💡 Pro tip: Always test commands on single files before running batch operations, and keep backups of original media.

Tags: ffmpeg