Convert Video to Grayscale
I'm a JavaScript fanatic but I've always been fascinated with media manipulation. Maybe it's because I've secretly always wanted to be a designer, but I'm fine with being able to manipulate art with software instead of create the art myself. One type of art I've always enjoyed was black and white (/grayscale) video.
To convert a video to black and white, you can utilize ffmpeg with a few simple arguments:
ffmpeg -i input.mp4 -vf hue=s=0 output.mp4
The preceding command turns this color video:
... to the following grayscale video:
If you were to search ffmpeg on this blog, you'd find dozens of tutorials about how amazing the tool is. Play around with ffmpeg and let me know what awesomeness you come up with!
![JavaScript Promise API]()
While synchronous code is easier to follow and debug, async is generally better for performance and flexibility. Why "hold up the show" when you can trigger numerous requests at once and then handle them when each is ready? Promises are becoming a big part of the JavaScript world...
![CSS Filters]()
CSS filter support recently landed within WebKit nightlies. CSS filters provide a method for modifying the rendering of a basic DOM element, image, or video. CSS filters allow for blurring, warping, and modifying the color intensity of elements. Let's have...
![Drag & Drop Elements to the Trash with MooTools 1.2]()
Everyone loves dragging garbage files from their desktop into their trash can. There's a certain amount of irony in doing something on your computer that you also do in real life. It's also a quick way to get rid of things. That's...
![Fancy FAQs with MooTools Sliders: Version 2]()
A little over a year ago I authored a post titled Fancy FAQs with MooTools Sliders. My post detailed a method of taking boring FAQs and making them more robust using the world's best JavaScript framework: MooTools. I've taken some time to...
Nice, ffmpeg seems to be quite handy!
Btw the same effect may be achieved on the client using CSS grayscale-filter, which is nowadays supported by any major browser (but IE). E.g. https://codepen.io/MattDiMu/pen/pBqQqR
Doing this on the client-side, however, will probably result in much larger file sizes than necessary, as grayscale videos offer much better compression. In your example the difference is 399kB vs 270kB.
I noticed the file size difference as well.
David, could you confirm that just adding
-vf hue=s=0reduced the file size by 129KB, there were no other transformations?Thanks
In my case, the file size dropped to 1/3 of original file.
Hey David! Since there is difference between BLACK AND WHITE filter and GRAYSCALE filter.
A truly black and white image would simply consist of two colors—black and white. Grayscale images are created from black, white, and the entire scale of shades of gray.
Is method you mentioned rather grayscale? Or rather black and white filter?