meta

what's the meta about say it ditto dot net?

User Tools

Site Tools


Action unknown: siteexport_addpage
cheatsheet:ffmpeg

ffmpeg cheatsheet

not linking that man page good lord

ffmpeg TLDR, ffmpeg cheat.sh

audio

FLAC to MP3

one-off:

ffmpeg -i "$FILE.flac" -ab 320k -map_metadata 0 -id3v2_version 3 "$FILE.mp3"

bash loop:

for f in *.flac; do ffmpeg -i "$f" -ab 320k -map_metadata 0 -id3v2_version 3 "${f%.*}.mp3"; done

video to frames

see ~/.local/bin/vidtools (dotfiles) for the default/most used option (every frame including duplicates).

1/1 frames

ffmpeg -i "$FILE" -filter:v fps=fps=1/1 %04d.jpg

1/2 frames

ffmpeg -i "$FILE" -filter:v fps=fps=1/2 %04d.jpg

re-encode

now mostly consolidated in vidtools (linked above), but copied here just in case.

x264 (AVC), no GPU

ffmpeg -i "$FILE.mp4" -c:v libx264 -crf 18 -c:a copy -c:s copy "$FILE.mkv"

x265 (HEVC), no GPU

ffmpeg -i "$FILE.mp4" -c:v libx265 -vtag hvc1 -crf 18 -c:a copy -c:s copy "$FILE.mkv"

x265 (HEVC), GPU, bash loop

for f in *.mkv; do ffmpeg -hwaccel cuda -hwaccel_output_format cuda -i "$f" -c:v hevc_nvenc -vtag hvc1 -profile main -preset slow -rc vbr_hq -c:a copy -c:s copy -map 0 "${f%.*} HEVC.mkv"; done

AVI/DivX/XviD to MKV, bash loop

for f in *.avi; do ffmpeg -fflags +genpts -i "$f" -c:v copy -c:a copy -c:s copy "${f%.*} AVI2MKV.mkv"; done

copy video, remove audio, bash loop

for f in *.mp4; do ffmpeg -i "$f" -vcodec copy -an "${f%.mp4}_noaudio.mp4"; done

camcorder sources

GPU accelerated camcorder source MPEG+AC3+VOBSUB to x264+AC3+VOBSUB (little to no file size reduction, for web uploads)

ffmpeg -y -vsync 0 -hwaccel cuda -hwaccel_output_format cuda -extra_hw_frames 10 -i "input.mkv" -c:a copy -c:v h264_nvenc -c:s copy -b:v 5M "output.mkv"
cheatsheet/ffmpeg.txt ยท Last modified: by melo