我正在尝试捕获 html5 视频的帧以创建它的缩略图,但是当图像渲染到画布时我看到了一些奇怪的结果。
我看到的是画布中显示的图像只是放大了很多的视频的一部分!如下图所示:
代码也非常简单:
$(document).ready(function(){
var $Body = $("body");
var $Video = $("<video>").appendTo($Body);
var cVideo = $Video.get(0);
cVideo.addEventListener("loadedmetadata", function(){
cVideo.addEventListener("seeked", function(){
var $Canvas = $("<canvas>").width(cVideo.videoWidth).height(cVideo.videoHeight);
$Canvas.appendTo($Body);
var cCtx = $Canvas.get(0).getContext("2d");
cCtx.drawImage(cVideo, 0, 0);
}, false);
cVideo.currentTime = 500;
}, false);
cVideo.src = "movie.mkv";
});
我尝试了许多宽度/高度/剪切区域等的组合,但我所能实现的只是查看原始视频右上角的不同版本。
编辑:我会宣传原始视频大小为 1920 x 800,并且在提供的图像中是视频和画布标签的大小。我也试过不同尺寸的,结果还是一样
Edit2:我尝试了多种格式/视频和操作系统,但仍然有同样的问题,所以我不认为该问题与任何编解码器问题有关