I was inspired by this video to make a similar effect in Processing:
timeRemapExportHD from Adrien M / Claire B on Vimeo.
The trick is to maintain a time delay between each row of pixels in the frame. The way I did this was by making a list with a length equal to the number of rows of pixels in a frame. The list is filled with consecutive frames with the newest frame at the beginning. Every time the camera produces a new frame, I add it to the front of the list and remove the frame at the end of the list. Once the list is updated, I just have to write the appropriate rows to the screen. Each row corresponds to its own image in the list (i.e. the 5th row of pixels on screen would come from the 5th row of pixels from the 5th image in the list).
This is the result:
Wobblypants from sambot on Vimeo.
Besides the fact that it's a video of me awkwardly walking around my messy dorm room, the effect is quite creepy. The background seems normal while you see a paper-mario-esque version of me float through the room.