ffmpeg
Comprehensive media conversion, video/audio encoding, filtering, and streaming command reference.
Basic Usage & Inspection
Simple commands for format conversion, stream inspection, and metadata management.
Convert Media File
Converts a media file from one format to another.
ffmpeg -i <input_file> <output_file>ffmpeg -i input.mov output.mp4Display Media Metadata
Displays stream details and metadata of a media file.
ffmpeg -i <input_file>ffmpeg -i input.mp4Set Title Metadata
Sets the title metadata field in the media container.
ffmpeg -i <input_file> -metadata title="<title>" <output_file>ffmpeg -i input.mp4 -metadata title="My Title" output.mp4Set Creation Timestamp
Adds or overrides the creation timestamp in metadata.
ffmpeg -i <input_file> -metadata creation_time="<timestamp>" <output_file>ffmpeg -i input.mp4 -metadata creation_time="2024-01-01T12:00:00" output.mp4Trimming and Cutting
Cut or trim sections of media based on time with or without re-encoding.
Lossless Clip Cutting
Cuts a portion of the video losslessly without re-encoding.
ffmpeg -ss <start_time> -to <end_time> -i <input_file> -c copy <output_file>ffmpeg -ss 00:00:10 -to 00:00:20 -i input.mp4 -c copy output.mp4Trim and Re-encode Media
Trims part of a video and re-encodes it.
ffmpeg -ss <start_time> -t <duration> -i <input_file> <output_file>ffmpeg -ss 10 -t 10 -i input.mp4 output.mp4Video Encoding, Codecs & Compression
Modern video codecs (AV1, HEVC, H.264), bitrate optimization, and size reduction.
Encode Video AV1
Encodes video using the modern, high-efficiency AV1 codec via libsvtav1.
ffmpeg -i <input_file> -c:v libsvtav1 -crf <crf_value> <output_file>ffmpeg -i input.mp4 -c:v libsvtav1 -crf 30 output.mp4Encode Video H265 HEVC
Encodes video using H.265 (HEVC) with constant rate factor.
ffmpeg -i <input_file> -c:v libx265 -crf <crf_value> <output_file>ffmpeg -i input.mp4 -c:v libx265 -crf 28 output.mp4Encode Video H264
Encodes video using standard H.264 codec with constant rate factor.
ffmpeg -i <input_file> -c:v libx264 -crf <crf_value> <output_file>ffmpeg -i input.mp4 -c:v libx264 -crf 23 output.mp4Lower Video Bitrate
Compresses video by setting a specific target bitrate.
ffmpeg -i <input_file> -b:v <bitrate> <output_file>ffmpeg -i input.mp4 -b:v 1000k output.mp4Copy All Streams
Copies all media streams directly to a new container without re-encoding.
ffmpeg -i <input_file> -c copy <output_file>ffmpeg -i input.mkv -c copy output.mp4Audio Processing & Compression
Comprehensive audio filtering, extraction, track management, and compression commands.
Compress Audio AAC
Compresses audio using AAC codec at a specific bitrate.
ffmpeg -i <input_file> -c:a aac -b:a <bitrate> <output_file>ffmpeg -i input.wav -c:a aac -b:a 192k output.m4aExtract Audio Track
Extracts the audio track and saves it as MP3 or high-quality audio.
ffmpeg -i <input_file> -q:a 0 -map a <output_file>ffmpeg -i input.mp4 -q:a 0 -map a output.mp3Remove Audio Track
Outputs the video stream without any audio.
ffmpeg -i <input_file> -an <output_file>ffmpeg -i input.mp4 -an output.mp4Adjust Audio Volume
Increases or decreases the audio volume level.
ffmpeg -i <input_file> -af "volume=<factor>" <output_file>ffmpeg -i input.mp4 -af "volume=1.5" output.mp4Set Stream Language
Specifies the language tag for a particular audio stream.
ffmpeg -i <input_file> -metadata:s:a:0 language=<lang_code> <output_file>ffmpeg -i input.mp4 -metadata:s:a:0 language=eng output.mp4Video Filters & Transformations
Apply visual transformations, cropping, rotation, and flipping to video content.
Rotate Clockwise
Rotates the video frame clockwise.
ffmpeg -i <input_file> -vf "transpose=<value>" <output_file>ffmpeg -i input.mp4 -vf "transpose=1" output.mp4Flip Vertically
Flips the video upside down vertically.
ffmpeg -vf "vflip" -i <input_file> <output_file>ffmpeg -vf "vflip" -i input.mp4 output.mp4Crop Video Frame
Crops a portion of the video with specified dimensions.
ffmpeg -vf "crop=<width>:<height>:<x>:<y>" -i <input_file> <output_file>ffmpeg -vf "crop=640:360:0:0" -i input.mp4 output.mp4Images and Thumbnails
Extract frames, generate thumbnails, or convert between image sequences and video.
Extract Single Frame
Captures a single image frame at a specific timestamp.
ffmpeg -ss <time> -i <input_file> -frames:v 1 <output_file>ffmpeg -ss 00:00:01 -i input.mp4 -frames:v 1 output.jpgGenerate Timed Thumbnails
Creates thumbnail images at regular time intervals.
ffmpeg -i <input_file> -vf fps=<fps_expression> <output_pattern>ffmpeg -i input.mp4 -vf fps=1/10 thumb_%03d.jpgImage Sequence to Video
Converts sequentially numbered images into a video file.
ffmpeg -framerate <rate> -i <input_pattern> <output_file>ffmpeg -framerate 24 -i img_%03d.png output.mp4Subtitles
Extract, embed, or burn subtitles into video files.
Extract Subtitle Stream
Saves a subtitle stream from an MKV file to an external file.
ffmpeg -i <input_file> -map 0:s:0 <output_subs>ffmpeg -i input.mkv -map 0:s:0 subs.srtBurn Subtitles in Video
Renders external subtitles directly into the video frames.
ffmpeg -i <input_file> -vf subtitles=<subs_file> <output_file>ffmpeg -i input.mp4 -vf subtitles=subs.srt output.mp4Embed Subtitles Softly
Adds subtitles to a container without burning or rendering them.
ffmpeg -i <input_file> -i <subs_file> -c copy -c:s mov_text <output_file>ffmpeg -i input.mp4 -i subs.srt -c copy -c:s mov_text output.mp4Network Streaming & Protocols
Stream, broadcast, or receive media over network endpoints and live protocols.
Stream to RTMP Endpoint
Sends a media stream to a live RTMP broadcast server.
ffmpeg -re -i <input_file> -f flv <rtmp_url>ffmpeg -re -i input.mp4 -f flv rtmp://server/live/streamkeyDownload HLS Stream
Saves a live or recorded HLS stream URL into a local file.
ffmpeg -i <stream_url> -c copy <output_file>ffmpeg -i https://example.com/playlist.m3u8 -c copy output.ts