Datamoshing with FFmpeg

Drag and drop video onto mosh.bat to create a datamoshed video.

To datamosh an image, please ensure the file is in a bitmap (.bmp) format.

Then simply run

py -3 mosh.py -i input.bmp -f filter -o output.bmp


For filters, you must use FFmpeg’s filters using the -f or --filter command.

For example:

py -3 mosh.py -i input.bmp -f volume=volume=3,bass=g=3:f=110:w=0.6 -o output.bmp


Currently this is just a proof of concept. In future I will allow for customizable filters.

At the moment any outputted video is mute.

The idea for this project came from here

How does this work?

As was demonstrated in the Reddit post, you can use audio filters to distort images. I thought about automating that process using FFmpeg instead of Audacity however.

Currently if you want to change the default filter, you will have to manually edit the mosh.py. I will be adding customizable filters sometime in the future.


10 second clip of Big Buck Bunny (Note: Gif compression reduces some of the detail.)