I am using fabric.js that provides interactive object model on top of the canvas element. I faced two major issues that are common if you are using Image or Video files with canvas.
Here I am sharing the workaround/solution.
Cross-origin Image object
Solution: https://itnext.io/cross-origin-resource-sharing-cors-fabric-js-95d44b727373
Serialize Deserialize Video object
Workaround/Solution: https://itnext.io/video-element-serialization-and-deserialization-of-canvas-fc5dbf47666d