如何使用javascript获取html5视频的缩略图
How can I use javascript to get the thumbnail of an html5 video?
我找到了JavaScript代码来获取视频的缩略图,给定其URL。 但是,我只在YouTube和Vimeo上找到了这个。 似乎没有人列出如何使用打算嵌入html5视频标签的视频的示例。能做到吗?谢谢。
是的,您可以使用视频作为画布的图像源。只需将代码包装为以视频和大小作为参数的函数,并返回一个 canvas 元素。
视频必须加载到要快照的帧。
示例方法
function createThumb(video, w, h) {
var c = document.createElement("canvas"), // create a canvas
ctx = c.getContext("2d"); // get context
c.width = w; // set size = thumb
c.height = h;
ctx.drawImage(video, 0, 0, w, h); // draw in frame
return c; // return canvas
}
画布可以插入到 DOM 中并用作图像持有人。如果你更喜欢图像元素,你必须做更多的步骤,以及使用回调(或承诺)处理图像加载的异步性质:
function createThumb(video, w, h, callback) {
var c = document.createElement("canvas"), // create a canvas
ctx = c.getContext("2d"), // get context
img = new Image(); // final image
c.width = w; // set size = thumb
c.height = h;
ctx.drawImage(video, 0, 0, w, h); // draw in frame
img.onload = function() { // handle async loading
callback(this); // provide image to callback
};
img.src = c.toDataURL(); // convert canvas to URL
}
如果视频帧的大小有问题,可以将 drawImage() 参数替换为以下内容:
ctx.drawImage(video, 0, 0, video.videoWidth, video.videoHeight, 0, 0, w, h);
相关文章:
- 如何解析Brightcove视频中的视频缩略图
- 如何删除视频's缩略图时's加载在JW Player's闪光模式
- 如何获取youtube视频的缩略图
- 如何将缩略图链接到新页面上的视频
- 尝试制作youtube视频的缩略图,并在单击时将其放大
- 生成由文件输入在特定时间选择的视频文件的缩略图/快照
- 鼠标悬停时播放视频/鼠标悬停时显示缩略图
- 如何使用jqueryjplayer的视频url创建缩略图
- Javascript-我如何获得YouTube视频的缩略图(当你悬停到滑块时显示的缩略图)
- 创建可点击的视频缩略图,在上面的同一页面上加载视频
- 带有缩略图的AngularJS视频上传
- 将缩略图添加到 jssor 视频库
- 检索特定播放列表缩略图时,它不会获取视频的视图和描述
- 自动从其他站点检索视频缩略图
- HTML5动态缩略图视频
- 单击缩略图时播放视频
- 点击缩略图播放youtube视频
- 如何从嵌入视频中获得缩略图
- HTML5显示视频的缩略图预览
- 无法自动播放隐藏在自定义缩略图后面的Youtube视频