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>

效果

相关推荐
蜗牛快跑21310 分钟前
面向对象编程 vs 函数式编程
前端·函数式编程·面向对象编程
Dread_lxy11 分钟前
vue 依赖注入(Provide、Inject )和混入(mixins)
前端·javascript·vue.js
涔溪1 小时前
Ecmascript(ES)标准
前端·elasticsearch·ecmascript
榴莲千丞1 小时前
第8章利用CSS制作导航菜单
前端·css
奔跑草-1 小时前
【前端】深入浅出 - TypeScript 的详细讲解
前端·javascript·react.js·typescript
羡与1 小时前
echarts-gl 3D柱状图配置
前端·javascript·echarts
guokanglun1 小时前
CSS样式实现3D效果
前端·css·3d
咔咔库奇1 小时前
ES6进阶知识一
前端·ecmascript·es6
渗透测试老鸟-九青2 小时前
通过投毒Bingbot索引挖掘必应中的存储型XSS
服务器·前端·javascript·安全·web安全·缓存·xss
龙猫蓝图2 小时前
vue el-date-picker 日期选择器禁用失效问题
前端·javascript·vue.js