【NodeJS】html通过video和canvas同时播放视频

这篇具有很好参考价值的文章主要介绍了【NodeJS】html通过video和canvas同时播放视频。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景:

在某些特殊情况下,会使用Canvas作为容器展示视频,但是不是简单的为了播放视频,而是使用Canvas传递鼠标、键盘事件,发生了一个事件,事件则是传递到NodeJS服务器上,而做出相应的回复。本文只是做了一个例子,通过Canvas播放视频。

正文:

1、html页面:index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Video to Canvas Render</title>
</head>
<body>
    <video id="video" width="640" height="360" controls>
        <source src="video1.mp4" type="video/mp4">
        Your browser does not support the video tag.
    </video>
    <canvas id="canvas" width="640" height="360"></canvas>
    <script src="script.js"></script>
</body>
</html>

2、javascript:script.js

document.addEventListener('DOMContentLoaded', function() {
    var video = document.getElementById('video');
    var canvas = document.getElementById('canvas');
    var ctx = canvas.getContext('2d');

    // 视频加载完成后,绑定事件监听器到视频的'playing'和'timeupdate'事件
    video.addEventListener('playing', function() {
        // 当视频开始播放时,绑定事件监听器到视频的'timeupdate'事件
        video.addEventListener('timeupdate', function() {
            // 在视频的每个帧可用时绘制到画布
            if (video.paused) return; // 如果视频暂停,则不绘制

            // 清除画布上的旧内容
            ctx.clearRect(0, 0, canvas.width, canvas.height);

            // 绘制视频帧
            ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
        });
    });
});

3、播放:

打开index.html的时候,会自动播放出来.文章来源地址https://www.toymoban.com/news/detail-805450.html

到了这里,关于【NodeJS】html通过video和canvas同时播放视频的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前端实现视频播放功能----vue-video-player --save

    步骤一: npm安装插件 : npm install vue-video-player --save 如果报错 安装具体版本 如下所示: npm install --save vue-video-player@4.0.6  如果package.json文件内显示则为安装成功 步骤二: 局部引入---这里因为只有一个页面需要所有采用的局部引入 在需要的页面引入(这里注意路径不要写错

    2024年02月10日
    浏览(31)
  • 前端Vue自定义轮播图视频播放组件 仿京东商品详情轮播图视频Video播放效果 可图片预览

    随着技术的发展,开发的复杂度也越来越高,传统开发方式将一个系统做成了整块应用,经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改,造成牵一发而动全身。通过组件化开发,可以有效实现单独开发,单独维护,而且他们之间可以随

    2024年02月15日
    浏览(37)
  • video层级过高,以及界面使用多个video时,在安卓APP上同时播放的问题(uniapp)

    问题一 : 我的界面由于是自定义导航栏,所以使用video时,上滑界面video会直在最上层,盖着  头部导航栏 解决方法 :使用cover-view,自定义头部使用cover-view替换view 问题二 :自定义导航栏上面有menu,点击会出现一个弹出层,但是弹出层会被video压到 解决方法 :使用原生窗体

    2024年02月06日
    浏览(30)
  • 视频列表:点击某个视频进行播放,其余视频全部暂停(同时只播放一个视频)

    视频列表:点击某个视频进行播放,其余视频全部暂停( 同时只播放一个视频 ) 在 video 标签添加 自定义属性 id (必须唯一) 给每个 video 标签 添加 play 视频播放事件 播放视频时,触发 play 事件,通过添加的自定义属性 id 判断,将 非当前播放视频都暂停

    2024年02月06日
    浏览(29)
  • vue 项目中使用video实现视频播放效果暂停播放(多个视频)

    根据ref判断是否暂停状态返回 true false vue 控制video视频的播放暂停(多个视频) 安装video.js 在main.js中引用 页面

    2024年02月11日
    浏览(39)
  • video 自定义视频播放控件

    ui设计的界面总是极具个性化的,要去修改插件中的视频控件的样式和布局太困难了,那就自己参照video原生事件,重写一个吧。 (效果图预览)  html video标签 | 菜鸟教程 参数说明:(更多属性参照上述菜鸟教程中的video标签) controls:默认为true,即向用户展示视频控件(如

    2024年02月02日
    浏览(37)
  • 苹果手机video标签播放视频问题(播放mp4视频遇到的坑)

    1.场景描述 服务端上传MP4视频文件,iOS客户端通过URL播放该视频文件。提供视频接口,可以进行视频下载或者直接播放,但是iOS手机无法播放,且PC端safari浏览器也无法播放。 2.问题描述 安卓手机可以正常播放视频,iOS手机无法播放,且PC段safari浏览器也无法播放。 3.问题分

    2024年02月22日
    浏览(34)
  • Vue2视频播放(Video)

    Vue3视频播放(Video) 可自定义设置以下属性:   视频文件url(src),必传,默认 \\\'\\\',支持网络地址https和相对地址require(\\\'...\\\') 视频封面url(poster),默认 \\\'\\\',支持网络地址https和相对地址require(\\\'...\\\') 在未设置封面时,自动截取视频第 second 秒对应帧作为视频封面(second),默

    2024年02月06日
    浏览(32)
  • jq video视频播放相关函数

    2024年01月18日
    浏览(28)
  • HTML5中video元素事件详解(实时监测当前播放时间)

    video后边几个元素,可处理ios 系统的兼容性 事件 描述 loadstart 浏览器开始在网上寻找媒体数据 progress 浏览器正在获取媒体数据 suspend 浏览器暂停获取媒体数据,但是下载过程并滑正常结束 abort 浏览器在下载完全部媒体数据之前中止获取媒体数据,但是并不是由错误引起的

    2024年02月08日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包