wq:之前看了网上很多教程,有点模糊,但是最后还是搞了出来

1  不要将视频放到canvas上面!  之前一直将video重新画到canvas上面,然后再次将第一个canvas放到第二个canvas上面,其实这样做的是冗余的一步,直接放video标签就可以了

2   和图片相似的,video标签也需要

                      <video
                       controls = "controls"
                       crossorigin = "anonymous"
                       width='200'
                       height='300'
                       src = {detail.video}/>
 crossorigin = "anonymous" 的属性,让画布不再被污染,可以使用toDataURL转变为base64
部分代码如下:
js:
jietu = () => {
  var video = document.getElementsByTagName('video')[0];
  video.crossorigin = 'anonymous'
 var canvas = document.getElementById('canvas');
 var cobj = canvas.getContext('2d'); //获取绘图环境
 cobj.drawImage(video, 0, 0, 200, 300);
let base64 = canvas.toDataURL('image/jpeg', 0.5)
   console.log(base64)
}
 
div;
<div className={styles.canvasContent}>
                    <Button onClick = {this.jietu}>点击截图</Button>
                    <div className={styles.videoCopy}>
                       <video
                       controls = "controls"
                       crossorigin = "anonymous"
                       width='200'
                       height='300'
                       src = {detail.video}/>
                       <canvas id="canvas" width = "200" height = "300" backgroundColor='#ccc' onClick={this.clickCanvas} ></canvas>
                    </div>
                </div>
 
 
这样的话就可以直接将视频里面的截图到canvas里面
ps:此为react框架

react在视频中截图,保存为base64位的更多相关文章

  1. java 视频中截图

    package com.sun.test; import java.io.File; import java.util.List; public class CreatePh { //public s ...

  2. IOS从视频中获取截图

    从视频中获取截图: NSString *movpath =[[NSBundle mainBundle] pathForResource:@”iosxcode4″ ofType:@”mov”]; mpv ...

  3. python 从视频中提取图片,并保存在硬盘上

    使用python的moviepy库来提取视频中的图片,按照视频每帧一个图片的方式来保存. extract images from video, than save them to disk from ...

  4. javacpp-FFmpeg系列补充:FFmpeg拉流截图实现在线演示demo(视频截图并返回base64图像,支持jpg/png/gif/bmp等多种格式)

    javacpp-ffmpeg系列: javacpp-FFmpeg系列之1:视频拉流解码成YUVJ420P,并保存为jpg图片 javacpp-FFmpeg系列之2:通用拉流解码器,支持视频拉流解码并转 ...

  5. java使用ffmpeg实现上传视频的转码,提取视频的截图等功能

    ffmpeg视频采集功能非常强大,不仅可以采集视频采集卡或USB摄像头的图像,还可以进行屏幕录制,同时还支持以RTP方式将视频流传送给支持RTSP的流媒体服务器,支持直播应用. 1.能支持的格式 ff ...

  6. android将应用中图片保存到系统相册并显示

    我应用到的场景是程序中在视频通讯时截图,将截图保存到本地相册中 /*** @param bmp 获取的bitmap数据 * @param picName 自定义的图片名*/ public static ...

  7. React Native工程中TSLint静态检查工具的探索之路

    建立的代码规范没人遵守,项目中遍地风格迥异的代码,你会不会抓狂? 通过测试用例的程序还会出现Bug,而原因仅仅是自己犯下的低级错误,你会不会抓狂? 某种代码写法存在问题导致崩溃时,只能全工程检查代码, ...

  8. 通过jcrop和canvas的画布功能完成对图片的截图功能与视频的截图功能实现

    最近因为工作需要,做了视频截图和图截图的功能.大概需求是,用户点击某个按钮,可以对图片区域进行部分截取,然后进行进一步的业务操作. 首先说图片截图功能的思路, (1)下载Jcrop插件,添加css和j ...

  9. js实现视频截图,视频批量截图,canvas实现

    截取视频的某一时间的图像并保存 利用canvas的绘画能力画出视频某一帧的视频画面, 获得到图像之后转换成base64图像, 再利用a标签的实现自动保存到本地 html代码 <!DOCTYPE ...

随机推荐

  1. PHP LDA off 解决

    搭建完zabbix初始登录zabbix显示 PHP LDAP off 解决 不需要重新编译php 就可以增加 LDAP 模块 .首先进入自己的 PHP 安装目录中找到 ldap 文件夹 [root@b ...

  2. React-Native中props用法详解

    props就是属性,是为了描述一个组件的特征而存在的.它是父组件传递给子组件的. 使用props 通过上一个页面传递 新建一个 PropsTest.js 文件 1 2 3 4 5 exprot def ...

  3. vue父子组件相互传值的实例

    当子组件需要向父组件传递数据时,就要用到自定义事件 子组件用 $emit()来触发事件,父组件用$on()来监昕子组件的事件 父组件也可以直接在子组件的自定义标签上使用 v-on 来监昕子组件触发的自 ...

  4. eclipse sts 断点不起作用,把这行 勾上 就行

  5. ideal项目启动及问题

    Error running 'xxx项目' Command line is too long(idea版) 错误] Error running ‘xxx项目’: Command line is too ...

  6. 【转帖】UDIMM、RDIMM、SODIMM以及LRDIMM的区别

    转载自http://www.sohu.com/a/165343889_781333. DIMM简介 DIMM(Dual Inline Memory Module,双列直插内存模块)与SIMM(sing ...

  7. Ubantu问题记录

    2019.4.21Ubantu问题:常用命令:sudo是一种权限管理机制,依赖于/etc/sudoers,定义了授权给哪个用户可以以管理员的身份执行管理命令格式:sudo -u USERNAME CO ...

  8. 使用Tomcat、JNDI与ActiveMQ实现JMS消息通信服务

    前言 之所以使用JNDI 是出于通用性考虑,该例子使用JMS规范提供的通用接口,没有使用具体JMS提供者的接口,这样可以保证我们编写的程序适用于任何一种JMS实现(ActiveMQ.HornetQ等) ...

  9. linux:RAID(磁盘阵列)笔记

    RAID磁盘阵列简述:     RAID0(条带): 把多个同样大小的磁盘串联起来当做一个磁盘来用.         优点:读写速度快.         缺点:数据容易丢失(没有容错能力).     ...

  10. a页面通过url传值,b页面如何接收(jquery.params.js实现)

    用于两个html页面之间的传值 我的应用场景是:用echarts在a页面做完中国地图后,点击某个省份在b页面显示某个省份的地图.(在b页面显示点击了的那个省份的地图,等于说b页面是个“容器”页) 假设 ...