gpt4 book ai didi

PHP - 在视频上传期间提取帧

转载 作者:可可西里 更新时间:2023-11-01 00:49:04 26 4
gpt4 key购买 nike

我在寻找这是否可能时遇到问题(找不到任何信息)。是否可以在视频上传过程中提取帧(缩略图)?如果可以提取用户端,使用 jscript 提取也是一种选择。

感谢您的帮助!

最佳答案

这个问题发布后快进了将近五年,现在答案是!

Live demo

如何使用 JavaScript 在视频上传过程中提取帧

在显示代码之前,这是我们要做的:

  1. 在将上传视频的输入元素上设置事件处理程序
  2. 从文件系统中选择文件后,使用 URL 对象创建本地视频文件的 url。
  3. 将该 URL 加载到 video 元素中。
  4. 当视频加载到内存中时,在 canvas 对象上绘制一个框架。
  5. 现在将在 Canvas 上呈现的帧导出到 image 元素中(或者选择将该图像作为数据 url 发送到您的服务器)。

<input type="file" id="upload"/>
<img id="thumbnail"/>

<script>
var input = document.getElementById('upload');
var img = document.getElementById('thumbnail');

input.addEventListener('change', function(event){
var file = this.files[0];
var url = URL.createObjectURL(file);

var video = document.createElement('video');
video.src = url;

var snapshot = function(){
var canvas = document.createElement('canvas');
var ctx = canvas.getContext('2d');

ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
img.src = canvas.toDataURL('image/png');

video.removeEventListener('canplay', snapshot);
};

video.addEventListener('canplay', snapshot);
});
</script>

关于PHP - 在视频上传期间提取帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11261448/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com