I wrote this webRTC app which takes photos with different filters added onto it. When I click on the click button, the frame from the webRTC video feed is loaded onto the canvas
You might also consider using Concrete.js, which is a lightweight HTML5 Canvas Framework that does peripheral stuff like this, including downloads. You would just do: