我正在实施一个视频标记系统。我们使用Zencoder将用户上传的视频和VideoJS转换为播放视频。用户应该能够在观看视频时标记和添加评论。除了我想在用户标记时拍摄视频的小快照(54像素高)以外,所有内容都可以工作。我有这个Javascript:如何截取Amazon S3上托管的视频?
function getSnapshot(htmlPlayerId){
var video = document.getElementById(htmlPlayerId);
var canvas = document.createElement('canvas');
var ratio = 54/video.videoHeight;
canvas.width = ratio * video.videoWidth;
canvas.height = 54;
var ctx = canvas.getContext('2d');
ctx.drawImage(video, 0, 0, video.videoWidth, video.videoHeight, 0, 0, canvas.width, canvas.height);
return canvas.toDataURL('image/jpeg');
}
不幸的是,我收到一个安全错误,因为该文件托管在Amazon S3上。我知道这是一个Access-Control-Allow-Origin问题。 我已经看到这些Why does canvas.toDataURL() throw a security exception?和https://forums.aws.amazon.com/thread.jspa?messageID=329118和相关的线程。
我不知道是否有工作可以拍摄快照。
不幸的是,亚马逊并未计划添加对Access-Control-Allow-Origin标头的支持。 – bodi0 2012-03-28 13:10:11