का उपयोग कर कैनवास के माध्यम से एचटीएमएल 5 वीडियो स्क्रीनशॉट मुझे क्रोम में वीडियो के स्क्रीनशॉट प्राप्त करने में कोई समस्या है, और मैंने सभी internets और सभी Stackoverflow उत्तरों को समाप्त कर दिया है; कोई भाग्य नहीं।सीओआरएस
कोई फर्क नहीं पड़ता कि मैं कोशिश करता हूं, जब मैं canvas
तत्व का उपयोग किसी अन्य डोमेन पर एक वीडियो का स्क्रीनशॉट लेने के लिए या यहां तक कि केवल एक अलग पोर्ट पर लेने का प्रयास करता हूं, तो मैं Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported.
त्रुटि के साथ समाप्त होता हूं।
यहाँ मेरी सेटअप है:
वेब ऐप्लिकेशन URL
http://client.myapp.com/home.html
CDN यूआरएल (मैं दोनों की कोशिश की है)
http://client.myapp.com:8181/somevideo.mp4
http://cdn.myapp.com/somevideo.mp4
हेडर के साथ वापस भेज दिया सीडीएन से एमपी 4:
Accept-Ranges:bytes
Access-Control-Allow-Origin:*
Access-Control-Expose-Headers:x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,Accept-Ranges,Content-Length,Date,Transfer-Encoding
Content-Length:5253832
Content-Range:bytes 48-5253879/5253880
Content-Type:video/mp4
Date:Sat, 06 Feb 2016 17:24:05 GMT
ETag:"0x8D32E3EDB17EC00"
Last-Modified:Fri, 05 Feb 2016 15:13:08 GMT
Server:Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-blob-type:BlockBlob
x-ms-lease-state:available
x-ms-lease-status:unlocked
x-ms-request-id:88d3aaef-0629-4316-995f-021aa0153c32
x-ms-version:2015-04-05
मेरे पास है:
- जोड़ा गया
crossOrigin="anonymous"
वीडियो तत्व पर है, लेकिन यह सिर्फ वीडियो लोड करने के लिए पूरी तरह - एक अलग बंदरगाह पर भी एक ही डोमेन की कोशिश की (ऊपर के रूप में) असफल बनाता है
- सुनिश्चित किया गया है कि
Access-Control-Allow-Origin
*
(ऊपर के रूप में) - मुझे विश्वास नहीं है कि यह डीआरएम है क्योंकि स्क्रीनशॉट ठीक काम करता है अगर मैं वेब पर सटीक वही वीडियो फ़ाइल कॉपी करता हूं एप्लिकेशन और this question के सभी प्रश्नों के उत्तर के माध्यम से स्थानीय स्तर पर यह
- भागो लोड है, लेकिन इस छवियों के लिए नहीं वीडियो वैसे भी है और जवाब केवल सभी पिछले अंक
फिर भी, अभी भी विस्फोट त्रुटि का वर्णन।
संपादित
जोड़ा गया कोड:
var getScreenshotDataUrl = function(video, canvas, type) {
type = type || "image/jpeg";
var context = canvas.getContext("2d");
var w = video.videoWidth;
var h = video.videoHeight;
canvas.width = w;
canvas.height = h;
context.fillRect(0, 0, w, h);
context.drawImage(video, 0, 0, w, h);
video.crossorigin = "anonymous";// makes no difference
return canvas.toDataURL(type);
}
कृपया मदद करते हैं।
क्या आप यहां अपना कोड पोस्ट कर सकते हैं यहां एक लिंक नहीं। – Binvention
इस संसाधन को देखने का प्रयास करें https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image – Binvention
@Binvention मैंने कोड जोड़ा है। यह गैर-कोर काम करता है। – joshcomley