compress video
fmpeg -i input.mp4 -vcodec libx265 -crf 30 output.mp4
compress all *.mp4 | *.MP4 in a directory
mkdir -p compressed && for i in ./*.{mp4,MP4}; do [ -f "$i" ] && ffmpeg -i "$i" -vcodec libx265 -crf 30 "./compressed/$(basename "${i%.*}").mp4"; done
compress image
ffmpeg -i input.jpg -compression_level 50 output.jpg
compress all *.jpg | *.JPG in a directory
for i in ./*.jpg; do ffmpeg -i "$i" -compression_level 50 "./compressed/$i"; done
mkdir -p compressed && for i in ./*.{jpg,JPG}; do [ -f "$i" ] && ffmpeg -i "$i" -q:v 5 "./compressed/$(basename "$i")"; done
Creating a video screenshot: The -ss 5 argument tells FFmpeg to jump to the 5-second mark. Next, it extracts a single image with the -frames 1 argument.
ffmpeg -ss 5 -i input.mp4 -frames 1 screenshot.png
Removing the metadata information in multimedia files:
ffmpeg -i /path/to/input.mp4 -map 0 -map_metadata -1 -c copy /path/to/output.mp4