If you like this, I suggest checking out PixiVisor. It's an experimental tool by NightRadio (Alexander Zolotov), who also made the amazing modular synth + tracker "SunVox".
PixiVisor takes a short video loop (~animated-GIF or sequence of images), modulates the frames (progressive-scan) into audio. A 2nd instance of the app (usually on another device) demodulates the audio back into similar video frames automagically.
"Similar"? Well... after picking up the multi-path room echoes and the "colorful" transfer functions of the DAC, amp, speaker, mic, ADC, etc, there is substantial distortion. This is intentional, as you can vary the signal considerably and the receiver app still reliably demodulates it back into video.
This hit the "wait, isn't that impossible?!" stage for me in this demo video:
https://www.youtube.com/watch?v=HkdLAWPsONQ
Using two mono channels of an audio mixer to mix video live is already insane. Then the effect insert is turned up, and various types of reverb get added to the video frames in a way that perfectly matches what you hear.
Also, this video, of live room echoes and hand waves that clearly result in changing reflections/blocking across many frequencies. Multi-path is also very visible.
https://www.youtube.com/watch?v=mF5C93cDocA
It's even multi-platform! (Windows, Linux, OSX, Android, iOS)
/* sigh, now I'm going to be goofing off with SunVox instead of writing RSpec */