js实现视频镜面反转

添加下一个样式即可

css 复制代码
        #left {
            transform: rotateY(180deg);
        }
html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>js通过浏览器调用摄像头</title>
    <style>
        #left {
            transform: rotateY(180deg);
        }
    </style>

</head>
<body>

<div class="banner">
    <video id="left" width="500px" height="500px" autoPlay="autoplay" controls="controls"></video>
    <video id="right" width="500px" height="500px" autoPlay="autoplay" controls="controls"></video>
</div>

</body>

<script>
    let leftVideo = document.getElementById('left');
    let rightVideo = document.getElementById('right');
    function getMedia() {
        let constraints = {
            video: { width: 400, height: 500 },
            audio: false
        };
        navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;
        navigator.mediaDevices.getUserMedia(
            constraints,
            function(stream) {
                leftVideo.src = stream;
                leftVideo.play();
            },
            function(error) {
                console.log(error);
            }
        ).then(function(MediaStream) {
            leftVideo.srcObject = MediaStream;
            leftVideo.play();
        });
    }

    getMedia();

    // 当开始播放的时候哦从一个video标签中获取流并将流传给其他的video标签
    leftVideo.onplay = function () {
        rightVideo.srcObject = leftVideo.captureStream()
    }
</script>
</html>

效果

相关推荐
名字还没想好☜3 分钟前
React 用 IntersectionObserver 实现图片懒加载与无限滚动:封装一个 useInView Hook
前端·javascript·vue.js·react.js·react
带娃的IT创业者32 分钟前
Puppeteer 深度解析:超越自动化测试的现代 Web 交互范式
前端·交互·puppeteer·可观测性·浏览器自动化·无头浏览器·web工程化
程序员爱钓鱼34 分钟前
Rust 所有权 Ownership 详解:理解内存安全的核心机制
前端·后端·rust
Mh9 小时前
别再只会 `find` 了:Map 在前端业务里的真实用法
前端·javascript
陈随易9 小时前
FFmpeg 9.0 发布,代号 Lei,音视频处理再升级
前端·后端·程序员
爱丶狸10 小时前
Grafana_Zabbix_ImageRenderer_部署与前端操作手册
linux·前端·zabbix·grafana·kylin
用户0595401744613 小时前
把AI对话记忆存储测试从手工改成Playwright+pytest,覆盖率从20%提到96%,回归时间缩短90%
前端·css
kyriewen13 小时前
别再这样写TypeScript了——Code Review中最常见的8个反模式
前端·javascript·typescript
名字还没想好☜13 小时前
Next.js ‘use client‘ 到底加在哪:Server/Client Components 边界与常见报错
开发语言·前端·javascript·react·next.js
午安~婉13 小时前
GitHub Token/ GitHub Stats统计显示图异常
前端·github·vercel·github token