We're calling on all EU-based Mozillians with iOS or iPadOS devices to help us monitor Apple’s new browser choice screens. Join the effort to hold Big Tech to account!

This site will have limited functionality while we undergo maintenance to improve your experience. If an article doesn't solve your issue and you want to ask a question, we have our support community waiting to help you at @FirefoxSupport on Twitter and/r/firefox on Reddit.

Search Support

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

Learn More

CORS bug in video objet with base64 encoded source ?

more options

Hello all,

I have a strange bug using base64 encoded video, maybe could you help me to explain it.

I have a web service that returns an mp4 video as Base64 data (note: I suppose there is no reference to the web server address in the base64-encoded video data ;) )

In my javascript, I set

myVideoPlayer.src = myBase64VideoData

The video plays well, image and sound.

Now, I want to take a snapshot of my video and I do

… mySnapshotCanvas.getContext(’2d’).drawImage(myVideoPlayer, …) …

I also have to generate sprites from that snapshot.

I do

… mysprite.getContext(’2d’).drawImage(mySnapshotCanvas, x0, y0, width, height) …

But now, if I try to analyze my sprite with

… mysprite.getContext(’2d’).getImageData(x0, y0, width, height) …

=> it works in Chrome and IE, but it fails in Firefox with error message: “this operation is insecure”. It looks like a CORS problem.

It works in Firefox when I replace the base64 data with the url of the original video but I can't use a direct file url.

It seems the video.src = base64data may generate CORS problems with Firefox.

Any idea ?

Thanks for all.

Dan

Hello all, I have a strange bug using base64 encoded video, maybe could you help me to explain it. I have a web service that returns an mp4 video as Base64 data (note: I suppose there is no reference to the web server address in the base64-encoded video data ;) ) In my javascript, I set myVideoPlayer.src = myBase64VideoData The video plays well, image and sound. Now, I want to take a snapshot of my video and I do … mySnapshotCanvas.getContext(’2d’).drawImage(myVideoPlayer, …) … I also have to generate sprites from that snapshot. I do … mysprite.getContext(’2d’).drawImage(mySnapshotCanvas, x0, y0, width, height) … But now, if I try to analyze my sprite with … mysprite.getContext(’2d’).getImageData(x0, y0, width, height) … => it works in Chrome and IE, but it fails in Firefox with error message: “this operation is insecure”. It looks like a CORS problem. It works in Firefox when I replace the base64 data with the url of the original video but I can't use a direct file url. It seems the video.src = base64data may generate CORS problems with Firefox. Any idea ? Thanks for all. Dan

All Replies (1)

more options

Try posting at the Web Development / Standards Evangelism forum at MozillaZine. The helpers over there are more knowledgeable about web page development issues with Firefox.
http://forums.mozillazine.org/viewforum.php?f=25
You'll need to register and login to be able to post in that forum.