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>

效果

相关推荐
白总Server12 分钟前
Golang dig框架与GraphQL的完美结合
java·大数据·前端·javascript·后端·go·graphql
m0_6799272019 分钟前
练习小项目11:鼠标跟随小圆点
前端·javascript·css·html
只可远观42 分钟前
Flutter Android打包和发布Build APK
前端·flutter·dart
BillKu1 小时前
Vue3 + TypeScript 操作第三方库(Element Plus 的 ElTable)的内部属性
前端·javascript·typescript
嘉小华1 小时前
深入浅出Android SurfaceView:高性能绘制
前端
古夕1 小时前
webpack 之 Tree-shaking
前端·面试·webpack
沐森1 小时前
websockt vs sse
前端·ai编程
朕么办1 小时前
微信原生开发的程序员有福了,推荐两款插件让你VScode支持WXML Emmet
前端
风铃喵游1 小时前
Axion: 一次搞定axios请求库的各种能力封装
前端
受之以蒙1 小时前
Rust+Wasm利器:用wasm-pack引爆前端性能!
前端·rust·webassembly