Mac Os X Command Line Tools to Edit Media
Sometimes it is quite convenient and quick to edit media files (for eg. resize images) via command line. Below are such helpful tools for Mac OS X.
Table of contents
Mac has an inbuild CLI tool called sips. It modifies the images in-place. To save the updated image in a separate copy, use
--out [outfilename] in the command.
sips -z [height] [width] file.png: Re-sizes image to specified dimensions, which may alter the actual aspect ratio.
sips -Z [heightwidth] file.png: This maintains the aspect ratio and [heightwidht] value will be the maximum value that can be for the height and width of the image (the other dimension will get set acc to its aspect ratio).
sips -z 640 480 file1.png sips -Z 640 file2.png
You can view the current dimension details of an image by looking at the image's info.
sips -r [degrees] file.png
sips -r 90 file.jpg --out rotatedfile.jpg
-f [horizontal or vertical]: Flips the image
-c [pixelsH pixelsV]: Crops the image to height and width
Check out all the options available by doing
For video editing via command line, you'll have to install a tool called
ffmpeg which will make your life easier.
You can install using Homebrew:
$ brew install ffmpeg
Eg. convert mp4 to mov
ffmpeg -i input.mp4 output.mov
Tip: You can also make gifs from video using this command
Change resolution / dimension
Eg. Change video resolution to 1280x720. Can be used to reduce the resolution and therefore the size
ffmpeg -i input.mp4 -c:a copy -s 1280x720 output.mp4
Eg. 1) Trim from 00:00:10 to 00:00:20 (hh:mm:ss)
ffmpeg -i input.mp4 -ss 00:00:10 -to 00:00:20 -c copy output.mp4
Eg. 2) Trim ten seconds starting from 00:01:00
ffmpeg -i input.mp4 -c:av copy -ss 00:01:00 -t 10 output.mp4
Extract audio from video
ffmpeg -i clip.mp4 -vn audio_only.mp3
We are going to use the same command line tool ffmpeg to edit audio files too. If you don't have it, install it via Homebrew.
$ brew install ffmpeg
The commands are same as the commands for editing the videos actually.
Eg. Trim from 00:00:20 to 00:00:40 (hh:mm:ss)
ffmpeg -ss -i input.mp3 00:00:20 -to 00:00:40 -c copy output.mp3
Eg. convert mp3 to wav
ffmpeg -i input.mp3 output.wav
That's all for now. Hope you find these useful and get comfortable and quick with editing media files via Command Line.