首页 > 其他分享 >从视频文件提取画面帧

从视频文件提取画面帧

时间:2024-05-01 21:46:15浏览次数:14  
标签:提取 img url cvs 画面 视频文件 const document vdo

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        img{
            width: 50px;
            height: 50px;
        }
    </style>
</head>
<body>
    <input type="file" name="" id="">
    <script>
        function captureFrame(videoFile,time=0){
    return new Promise(resolve=>{
        const vdo=document.createElement('video')
        vdo.currentTime=time;
        vdo.muted=true;
        vdo.autoplay=true;
        vdo.src=URL.createObjectURL(videoFile)
        // console.log(vdo.src);
    vdo.oncanplay=()=>{
    const cvs=document.createElement('canvas')
    cvs.width=vdo.videoWidth;
    cvs.height=vdo.videoHeight;
    const ctx=cvs.getContext('2d')
    ctx.drawImage(vdo,0,0,cvs.width,cvs.height)
    cvs.toBlob((blob)=>{
       const url=URL.createObjectURL(blob)
       resolve({
        blob,url
       })
    })

    }
        // return {
        //     url:,
        //     blob:''
        // }
    })

}
const inp=document.querySelector('input[type=file]')
inp.onchange=async (e)=>{
    const file=e.target.files[0]
   for (let index = 0; index < 10; index++) {
     captureFrame(file,index*5).then(result=>{
        previewImage(result.url);
    })


   }
}

function previewImage(url){
          const img=document.createElement('img')
        img.src=url
        document.body.appendChild(img)
    // const reader=new FileReader()
    // reader.readAsDataURL(file)
    // reader.onloadend=()=>{
    //     const img=document.createElement('img')
    //     img.src=reader.result
    //     document.body.appendChild(img)
    // }

}
    </script>

</body>
</html>

标签:提取,img,url,cvs,画面,视频文件,const,document,vdo
From: https://www.cnblogs.com/7c89/p/18169676

相关文章

  • 基于DCT变换的彩色图像双重水印嵌入和提取算法matlab仿真
    1.算法运行效果图预览灰度图   彩色图   2.算法运行软件版本matlab2022a  3.算法理论概述      双重水印嵌入算法涉及两个独立的水印:主水印和辅水印,它们可以是灰度图像、二进制序列或其他形式的数据。以下简述嵌入过程: 图像预处理:将彩色图像从R......
  • 提取数字部分
    问题:数字在左其他字符在右,如何提取数字部分函数公式解决: 传统套路 =-LOOKUP(1,-LEFT(A2,SEQUENCE(256)))新套路 =--REGEXP(A2,"[0-9]+")0-9表示所有数字,方括号是正则表达式专用符号,加号表示连续的内容在一个单元格内。Regexp函数只适用WPS  ......
  • 只提取汉字部分
     问题:汉字在左字母等在右,如何提取汉字部分函数公式解决:传统套路 =LEFT(A2,LENB(A2)-LEN(A2))新套路 =REGEXP(A2,"[一-龟]+")一-龟表示包括所有汉字,方括号是正则表达式专用符号,加号表示连续的内容在一个单元格内。Regexp函数只适用WPS ......
  • 一款非常强大的从电影中提取人声、提取音乐、提取特效声的AI工具
    NovaVSS是以VSS领域最顶级的人工智能算法为基础,搭载了经大量电影电视数据训练、调优后的AI模型的新一代音视频音轨分离工具。是行业内专门分离电影、电视音轨的新一代最强音视频音轨分离工具,是非常好用的从电影中提取人声、提取背景音乐、提取特效声工具NovaVSS用途从电影电......
  • 小白PDF阅读器重排版时的自动提取背景色功能介绍及实现
    小白PDF阅读器在1.35之前的版本对于有深色背景的页面重拍版时并不太完美。对于深色背景区域主要表现在不能分割排版和重排后页面元素割裂感明显。小白PDF阅读器在1.35版本主要针对这两个问题进行了优化!最终效果对比图如下自动重排版彩色部分内容,并提取彩色背景自动提取背景......
  • 爬虫2(页面解析和数据提取)
    爬虫2(页面解析和数据提取)处理HTML文件,常用Xpath,先将HTML文件转换成XML文档,然后用Xpath查找HTML节点或元素。一、HTML与XML二、XPath1、XPath路径表达式三、Lxml库html=etree.HTML(text)#将字符串转换成HTML格式#print(etree.tostring(html))#补全HTMLres......
  • 自定义视频神器,《小星星去重播放器》助您轻松解决视频画面重复问题,让您的无人直播更稳
    你是否还在靠剪辑来去重视频?是否还在通过手动点击来进行循环播放?是否还在通过拼接来增加视频时长?快来看看这款只需要简单的设置就能对视频进行全面去重,专为企业展播和无人直播设计的工具——《小星星去重播放器》!视频播放打开已保存的第一个视频/视频管理里添加需要修改的视频......
  • 投屏成功后,手机横屏切竖屏小窗画面向右偏移
    投屏成功后,手机横屏切竖屏小窗画面向右偏移一、问题描述手机投平板成功后,将手机横屏,平板横屏点击手机GoogleFile,选择一个视频进行观看,点击File的横屏锁定按钮功能,然后解锁,将手机竖屏观察投屏小窗画面小窗画面向右偏移二、问题分析2.1、日志分析对比正常和异常的log,手......
  • C# 解密m3u8 ts视频文件为mp4
    代码:try{//读取的加密视频ts文件路径byte[]encodeBuffer=File.ReadAllBytes("C:\\Users\\admin\\Downloads\\322251.ts");///A216DF0DA0082028163781ECC258BA5B代表winhex看到的字符串32734893fb097a767c9ea903936a6d8b代表m3u8文件中的iv偏移......
  • 【高级RAG技巧】在大模型知识库问答中增强文档分割与表格提取
    前言文档分割是一项具有挑战性的任务,它是任何知识库问答系统的基础。高质量的文档分割结果对于显著提升问答效果至关重要,但是目前大多数开源库的处理能力有限。这些开源的库或者方法缺点大致可以罗列如下:只能处理文本,无法提取表格中的内容缺乏有效的分割策略,要么是一整个文档......