ffmpeg -i input.mov -c:v libx264 -preset fast -crf 23 -c:a aac -b:a 192k output.mp4
ffmpeg -i input.mov -c:v libx264 -preset fast -crf 23 -c:a aac -b:a 192k output.mp4
ffmpeg -i input.mov -c:v libx264 -preset fast -crf 23 -c:a aac -b:a 192k output.mp4
ffmpeg -i input_4k.mp4 -vf scale=1920:1080 -c:v libx264 -preset medium -crf 21 -c:a aac -b:a 192k output_1080p.mp4
ffmpeg -i input_4k.mp4 -vf scale=1920:1080 -c:v libx264 -preset medium -crf 21 -c:a aac -b:a 192k output_1080p.mp4
ffmpeg -i input_4k.mp4 -vf scale=1920:1080 -c:v libx264 -preset medium -crf 21 -c:a aac -b:a 192k output_1080p.mp4
ffmpeg -i input.mp4 -c:v libx264 -preset fast -crf 28 -s 1280x720 -c:a aac -b:a 128k output_mobile.mp4
ffmpeg -i input.mp4 -c:v libx264 -preset fast -crf 28 -s 1280x720 -c:a aac -b:a 128k output_mobile.mp4
ffmpeg -i input.mp4 -c:v libx264 -preset fast -crf 28 -s 1280x720 -c:a aac -b:a 128k output_mobile.mp4
ffmpeg -i input.mp4 -c:v libvpx-vp9 -b:v 1000k -c:a libopus -b:a 128k output.webm
ffmpeg -i input.mp4 -c:v libvpx-vp9 -b:v 1000k -c:a libopus -b:a 128k output.webm
ffmpeg -i input.mp4 -c:v libvpx-vp9 -b:v 1000k -c:a libopus -b:a 128k output.webm
ffmpeg -i input.mp4 -q:a 0 -map a output.mp3
ffmpeg -i input.mp4 -q:a 0 -map a output.mp3
ffmpeg -i input.mp4 -q:a 0 -map a output.mp3
ffmpeg -i input.mp4 -c:a pcm_s16le output.wav
ffmpeg -i input.mp4 -c:a pcm_s16le output.wav
ffmpeg -i input.mp4 -c:a pcm_s16le output.wav
ffmpeg -i input.mp4 -c:v copy -c:a libmp3lame -b:a 128k output.mp4
ffmpeg -i input.mp4 -c:v copy -c:a libmp3lame -b:a 128k output.mp4
ffmpeg -i input.mp4 -c:v copy -c:a libmp3lame -b:a 128k output.mp4
ffmpeg -i video_silent.mp4 -i audio.mp3 -c:v copy -c:a aac -map 0:v:0 -map 1:a:0 output.mp4
ffmpeg -i video_silent.mp4 -i audio.mp3 -c:v copy -c:a aac -map 0:v:0 -map 1:a:0 output.mp4
ffmpeg -i video_silent.mp4 -i audio.mp3 -c:v copy -c:a aac -map 0:v:0 -map 1:a:0 output.mp4
ffmpeg -i input.mp4 -af loudnorm=I=-16:TP=-1.5:LRA=11 -c:v copy output.mp4
ffmpeg -i input.mp4 -af loudnorm=I=-16:TP=-1.5:LRA=11 -c:v copy output.mp4
ffmpeg -i input.mp4 -af loudnorm=I=-16:TP=-1.5:LRA=11 -c:v copy output.mp4
#!/bin/bash
for file in *.mov; do output="${file%.mov}.mp4" ffmpeg -i "$file" -c:v libx264 -preset fast -crf 23 -c:a aac -b:a 192k "$output"
done
#!/bin/bash
for file in *.mov; do output="${file%.mov}.mp4" ffmpeg -i "$file" -c:v libx264 -preset fast -crf 23 -c:a aac -b:a 192k "$output"
done
#!/bin/bash
for file in *.mov; do output="${file%.mov}.mp4" ffmpeg -i "$file" -c:v libx264 -preset fast -crf 23 -c:a aac -b:a 192k "$output"
done
@echo off
for %%f in (*.mov) do ( ffmpeg -i "%%f" -c:v libx264 -preset fast -crf 23 -c:a aac -b:a 192k "%%~nf.mp4"
)
pause
@echo off
for %%f in (*.mov) do ( ffmpeg -i "%%f" -c:v libx264 -preset fast -crf 23 -c:a aac -b:a 192k "%%~nf.mp4"
)
pause
@echo off
for %%f in (*.mov) do ( ffmpeg -i "%%f" -c:v libx264 -preset fast -crf 23 -c:a aac -b:a 192k "%%~nf.mp4"
)
pause
find . -name "*.mov" | parallel ffmpeg -i {} -c:v libx264 -preset fast -crf 23 -c:a aac -b:a 192k {.}.mp4
find . -name "*.mov" | parallel ffmpeg -i {} -c:v libx264 -preset fast -crf 23 -c:a aac -b:a 192k {.}.mp4
find . -name "*.mov" | parallel ffmpeg -i {} -c:v libx264 -preset fast -crf 23 -c:a aac -b:a 192k {.}.mp4
ffmpeg -i input.mp4 -vf "fps=10,scale=320:-1:flags=lanczos" -c:v gif output.gif
ffmpeg -i input.mp4 -vf "fps=10,scale=320:-1:flags=lanczos" -c:v gif output.gif
ffmpeg -i input.mp4 -vf "fps=10,scale=320:-1:flags=lanczos" -c:v gif output.gif
ffmpeg -ss 00:00:15 -i input.mp4 -vf scale=1280:720 -q:v 2 thumbnail.jpg
ffmpeg -ss 00:00:15 -i input.mp4 -vf scale=1280:720 -q:v 2 thumbnail.jpg
ffmpeg -ss 00:00:15 -i input.mp4 -vf scale=1280:720 -q:v 2 thumbnail.jpg
ffmpeg -i input.mp4 -vf "fps=1/10,scale=320:240" -q:v 2 frame_%04d.jpg
ffmpeg -i input.mp4 -vf "fps=1/10,scale=320:240" -q:v 2 frame_%04d.jpg
ffmpeg -i input.mp4 -vf "fps=1/10,scale=320:240" -q:v 2 frame_%04d.jpg
ffmpeg -ss 00:00:30 -i input.mp4 -vf scale=1280:720 -q:v 1 -frames:v 1 thumbnail_hq.jpg
ffmpeg -ss 00:00:30 -i input.mp4 -vf scale=1280:720 -q:v 1 -frames:v 1 thumbnail_hq.jpg
ffmpeg -ss 00:00:30 -i input.mp4 -vf scale=1280:720 -q:v 1 -frames:v 1 thumbnail_hq.jpg
ffmpeg -i input.mp4 -vf "drawtext=text='YourName':fontfile=/path/to/font.ttf:fontsize=24:fontcolor=white:x=10:y=10" -c:v libx264 -preset fast output.mp4
ffmpeg -i input.mp4 -vf "drawtext=text='YourName':fontfile=/path/to/font.ttf:fontsize=24:fontcolor=white:x=10:y=10" -c:v libx264 -preset fast output.mp4
ffmpeg -i input.mp4 -vf "drawtext=text='YourName':fontfile=/path/to/font.ttf:fontsize=24:fontcolor=white:x=10:y=10" -c:v libx264 -preset fast output.mp4
ffmpeg -i input.mp4 -i logo.png -filter_complex "[0:v][1:v] overlay=W-w-10:H-h-10:enable='between(t,0,duration)'" -c:v libx264 -preset fast output.mp4
ffmpeg -i input.mp4 -i logo.png -filter_complex "[0:v][1:v] overlay=W-w-10:H-h-10:enable='between(t,0,duration)'" -c:v libx264 -preset fast output.mp4
ffmpeg -i input.mp4 -i logo.png -filter_complex "[0:v][1:v] overlay=W-w-10:H-h-10:enable='between(t,0,duration)'" -c:v libx264 -preset fast output.mp4
ffmpeg -i input.mp4 -c:v libx264 -s 1920x1080 -b:v 5000k -c:a aac -b:a 192k stream_1080p.mp4 -c:v libx264 -s 1280x720 -b:v 2500k -c:a aac -b:a 128k stream_720p.mp4 -c:v libx264 -s 854x480 -b:v 1000k -c:a aac -b:a 96k stream_480p.mp4
ffmpeg -i input.mp4 -c:v libx264 -s 1920x1080 -b:v 5000k -c:a aac -b:a 192k stream_1080p.mp4 -c:v libx264 -s 1280x720 -b:v 2500k -c:a aac -b:a 128k stream_720p.mp4 -c:v libx264 -s 854x480 -b:v 1000k -c:a aac -b:a 96k stream_480p.mp4
ffmpeg -i input.mp4 -c:v libx264 -s 1920x1080 -b:v 5000k -c:a aac -b:a 192k stream_1080p.mp4 -c:v libx264 -s 1280x720 -b:v 2500k -c:a aac -b:a 128k stream_720p.mp4 -c:v libx264 -s 854x480 -b:v 1000k -c:a aac -b:a 96k stream_480p.mp4
ffmpeg -i input.mp4 -c copy -segment_time 00:05:00 -f segment segment_%03d.mp4
ffmpeg -i input.mp4 -c copy -segment_time 00:05:00 -f segment segment_%03d.mp4
ffmpeg -i input.mp4 -c copy -segment_time 00:05:00 -f segment segment_%03d.mp4 - A computer with FFmpeg installed (Windows, Mac, or Linux)
- Hetzner VPS or Contabo VPS if you're encoding videos at scale
- DigitalOcean as an alternative cloud option
- Basic command-line comfort
- Sample media files (video or audio) to practice with - Why FFmpeg Matters for Content Creators
- Video Conversion & Compression
- Audio Extraction & Processing
- Batch Processing Multiple Files
- Creating Animated GIFs & Thumbnails
- Advanced Streaming & Watermarking
- Getting Started - -i input.mov — your input file
- -c:v libx264 — use H.264 video codec (compatible everywhere)
- -preset fast — encoding speed (fast, medium, slow; slower = better quality/bigger file)
- -crf 23 — quality (0-51; lower is better, 18-28 is typical)
- -c:a aac — audio codec
- -b:a 192k — audio bitrate
- output.mp4 — destination - fps=10 — 10 frames per second (lower = smaller file)
- scale=320:-1 — scale to 320px wide, maintain aspect ratio
- flags=lanczos — high-quality scaling algorithm - Mac: brew install ffmpeg
- Linux (Ubuntu/Debian): sudo apt-get install ffmpeg
- Windows: Download from ffmpeg.org or use choco install ffmpeg if you have Chocolatey