DevTools

FFmpeg CLI

FFmpeg commands for audio and video processing.

33 commands
Windows MacOS Linux
#media #video-processing

Format Conversion

Convert AVI to MP4
ffmpeg -i input.avi output.mp4
Convert MP4 to WebM
ffmpeg -i input.mp4 output.webm
Convert MP4 to animated GIF
ffmpeg -i input.mp4 output.gif
Remux MKV to MP4 without re-encoding
ffmpeg -i input.mkv -c copy output.mp4
ffmpeg -i input.mov -c:v libx264 -c:a aac output.mp4 # Convert with specific codecs

Video Encoding

ffmpeg -i input.mp4 -c:v libx264 -crf 23 output.mp4 # Encode with H.264 quality 23
ffmpeg -i input.mp4 -c:v libx265 -crf 28 output.mp4 # Encode with H.265 HEVC
ffmpeg -i input.mp4 -c:v libvpx-vp9 -b:v 2M output.webm # Encode VP9 at 2Mbps
ffmpeg -i input.mp4 -vf scale=1280:720 output.mp4 # Resize video to 720p
Change framerate to 30fps
ffmpeg -i input.mp4 -r 30 output.mp4
ffmpeg -i input.mp4 -b:v 1M -maxrate 1.5M -bufsize 2M output.mp4 # Set bitrate with buffer

Audio Processing

ffmpeg -i input.mp4 -vn -acodec mp3 output.mp3 # Extract audio as MP3
ffmpeg -i input.mp4 -vn -c:a libopus output.opus # Extract audio as Opus
ffmpeg -i input.wav -ar 44100 -ac 2 output.wav # Resample to 44.1kHz stereo
ffmpeg -i input.mp4 -af "volume=1.5" output.mp4 # Increase audio volume by 50%
Remove audio from video
ffmpeg -i input.mp4 -an output.mp4

Trimming & Cutting

ffmpeg -i input.mp4 -ss 00:01:00 -to 00:02:00 -c copy output.mp4 # Cut from 1min to 2min
ffmpeg -i input.mp4 -ss 00:00:30 -t 10 -c copy output.mp4 # Cut 10 seconds starting at 30s
ffmpeg -i input.mp4 -ss 00:05:00 -c copy output.mp4 # Trim from 5 minutes to end
ffmpeg -f concat -i filelist.txt -c copy output.mp4 # Concatenate multiple files

Streaming

ffmpeg -i input.mp4 -f hls -hls_time 10 -hls_list_size 0 stream.m3u8 # Create HLS stream
ffmpeg -i rtmp://source/live -c copy output.mp4 # Record RTMP stream to file
ffmpeg -re -i input.mp4 -f flv rtmp://server/live/key # Stream file to RTMP server
ffmpeg -i input.mp4 -f dash -min_seg_duration 10000000 output.mpd # Create DASH stream

Filters

ffmpeg -i input.mp4 -vf "crop=640:480:100:50" output.mp4 # Crop video region
ffmpeg -i input.mp4 -vf "transpose=1" output.mp4 # Rotate video 90 degrees clockwise
ffmpeg -i input.mp4 -vf "drawtext=text='Hello':fontsize=24:x=10:y=10" output.mp4 # Add text overlay
ffmpeg -i input.mp4 -vf "fps=10,scale=320:-1" output.gif # Create GIF with 10fps
ffmpeg -i input.mp4 -vf "eq=brightness=0.06:contrast=1.5" output.mp4 # Adjust brightness and contrast
ffmpeg -i input.mp4 -vf "deinterlace" output.mp4 # Deinterlace video

Quick Commands

Convert video from AVI to MP4 format
ffmpeg -i input.avi output.mp4
Cut video segment without re-encoding
ffmpeg -i input.mp4 -ss 00:01:00 -to 00:02:00 -c copy output.mp4
Create HLS stream from video file
ffmpeg -i input.mp4 -f hls -hls_time 10 -hls_list_size 0 stream.m3u8