HTML5动态缩略图视频
HTML5 Video with Dynamic Thumbnails
创建缩略图时遇到问题。我在html2canvas PHP代理的帮助下解决了跨域问题。
控制台中没有错误消息。但不幸的是,Thumnbnail是不可见的、透明的或白色的。
源代码中的输出剪切:
<img src="data:image/png;base64,iVBORw0KGgoAAAA.......Output cut in the source code:NSUhEUgAABN8AAAS4=" width="120">
脚本:
<script>
var video = document.getElementById("thumb");
video.addEventListener("loadedmetadata", initScreenshot);
video.addEventListener("playing", startScreenshot);
video.addEventListener("pause", stopScreenshot);
video.addEventListener("ended", stopScreenshot);
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
var ssContainer = document.getElementById("screenShots");
var videoHeight, videoWidth;
var drawTimer = null;
function initScreenshot() {
videoHeight = video.videoHeight;
videoWidth = video.videoWidth;
}
function startScreenshot() {
if (drawTimer == null) {
drawTimer = setInterval(grabScreenshot, 1000);
}
}
function stopScreenshot() {
if (drawTimer) {
clearInterval(drawTimer);
drawTimer = null;
}
}
function grabScreenshot() {
ctx.drawImage(video, 0, 0, videoWidth, videoHeight);
convert(document.getElementById("thumb-parent"));
}
function convert(target) {
html2canvas(target, {
"proxy": "../html2canvasproxy.php",
"logging": true, //Enable log (use Web Console for get Errors and Warnings)
"onrendered": function(canvas) {
var img = new Image();
img.onload = function () {
img.onload = null;
img.width = 120;
document.getElementById("screenShots").appendChild(img);
};
img.src = canvas.toDataURL("image/png");
}
});
}
从外观上看,这是因为浏览器认为你的画布"被污染了"-使用上面提供的例子,我让视频运行了一点,然后尝试记录toDataURL输出:
console.log(canvas.toDataURL());VM1344:2未捕获的DOMException:未能在"HTMLCanvasElement"上执行"toDataURL":可能无法导出损坏的画布。
我怀疑这是因为视频是从第三方URL加载的。
尝试从与HTML代码相同的域加载视频,看看这是否有效
相关文章:
- 如何解析Brightcove视频中的视频缩略图
- 如何删除视频's缩略图时's加载在JW Player's闪光模式
- 如何获取youtube视频的缩略图
- 如何将缩略图链接到新页面上的视频
- 尝试制作youtube视频的缩略图,并在单击时将其放大
- 生成由文件输入在特定时间选择的视频文件的缩略图/快照
- 鼠标悬停时播放视频/鼠标悬停时显示缩略图
- 如何使用jqueryjplayer的视频url创建缩略图
- Javascript-我如何获得YouTube视频的缩略图(当你悬停到滑块时显示的缩略图)
- 创建可点击的视频缩略图,在上面的同一页面上加载视频
- 带有缩略图的AngularJS视频上传
- 将缩略图添加到 jssor 视频库
- 检索特定播放列表缩略图时,它不会获取视频的视图和描述
- 自动从其他站点检索视频缩略图
- HTML5动态缩略图视频
- 单击缩略图时播放视频
- 点击缩略图播放youtube视频
- 如何从嵌入视频中获得缩略图
- HTML5显示视频的缩略图预览
- 无法自动播放隐藏在自定义缩略图后面的Youtube视频