开发webrtc第一步

简介: 这篇文章介绍了如何使用WebRTC技术在网页上实现摄像头和麦克风的调用,并将实时视频流显示在HTML的video标签中。

WebRTC是一项实时通讯技术,它允许网络应用或者站点,在不借助中间媒介的情况下,建立浏览器之间点对点的连接,实现视频流和音频流或者其他任意数据的传输。WebRTC是浏览器支持,不需要引入任何其他的相关js组件,就可以直接使用。 今天这节讲解在浏览器中做webrtc的第一步,通过;浏览器的API调用摄像头和麦克风将内容显示在div中。将下面的代码复制到html文件中,双击打开,浏览器可能会提示是否允许开启摄像头和麦克风,点击允许,就OK了。下面直接上代码:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset ="utf-8" />
        <title>WebRTC</title>
        <style>
            video,canvas{
                border:1px solid gray;
                width:480px;
                height:320px
            }
        </style>
    </head>
    <body>
        <video autoplay></video>
        <script>
            //判断当前浏览器是否支持webrtc
            function hasUserMedia() {
                return !!(navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia);
            }
            if (hasUserMedia()) {
                //如果支持webrtc的话就获取到视频语音,并把流数据放到标签video中
                navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;
                navigator.getUserMedia({
                    video: true,//是否开启视频
                    audio: true //是否开启语音
                }, function (stream) {
                    //将流数据添加到video标签中
                    var video = document.querySelector('video');
                    video.srcObject = stream;
                }, function (err) {

                });    
            }else{
                alert("抱歉,你的浏览器不支持webrtc")
            }
        </script>
    </body>

</html>

效果图 1691739748650.jpg 相关注释代码里有,可以参考,如有问题可以在评论区留言。

相关文章
geojson格式筛选及处理的解决方案
geojson格式筛选及处理的解决方案
523 0
|
Linux 网络安全 数据安全/隐私保护
如何在 CentOS 上安装和配置 Samba?
如何在 CentOS 上安装和配置 Samba?
2031 0
如何在 CentOS 上安装和配置 Samba?
|
Linux Shell 数据安全/隐私保护
Linux修改密码是提示“passwd: 鉴定令牌操作错误”问题的处理办法
今早忽然想修改一下一个普通用户的密码,root登录进去之后键入修改密码命令之后发现提示“passwd: 鉴定令牌操作错误”。
8016 0
|
1月前
|
Web App开发 Rust 前端开发
基于Rust开发的m3u8下载器:支持断点续传、边下边播
M3U8 Quicker是一款轻量(仅2MB)跨平台M3U8下载播放器,基于Tauri+Rust+React开发。支持断点续传、AES解密、边下边播、自动转MP4及Chrome一键抓取地址,让课程保存与媒体管理更高效稳定。
240 4
|
Linux 网络安全 数据安全/隐私保护
centos开启samba服务
通过以上步骤,您已成功在CentOS系统上安装、配置并启动了Samba服务,并且可以通过Windows或Linux客户端访问共享目录。Samba为跨平台文件共享提供了强大的支持,配置灵活且易于管理。无论是简单的家庭网络共享还是企业级文件服务器,Samba都能胜任。通过合理的配置和访问控制,您可以确保文件共享的安全性和便利性。
1474 74
|
存储 文件存储 Android开发
仿第八区APP分发下载打包封装系统源码
该系统为仿第八区APP分发下载打包封装系统源码,支持安卓、iOS及EXE程序分发,自动判断并稳定安装。智能提取应用信息,自动生成PLIST文件和图标,提供合理的点数扣除机制。支持企业签名在线提交、专属下载页面生成、云端存储(阿里云、七牛云),并优化签名流程,支持中文包及合并分发,确保高效稳定的下载体验。 [点击查看源码](https://download.csdn.net/download/huayula/90463452)
812 22
|
Web App开发 编解码 API
WebRTC简介及使用
WebRTC简介及使用
1163 0
nrm 安装后报错 Error [ERR_REQUIRE_ESM]: require() of ES Module
nrm 安装后报错 Error [ERR_REQUIRE_ESM]: require() of ES Module
1336 0
|
关系型数据库 MySQL PHP
忘记Wordpress密码不要慌
忘记Wordpress密码不要慌
658 2
|
存储 监控 安全
Elasticsearch 8.X 集群 SSL 证书到期了,怎么更换?
Elasticsearch 8.X 集群 SSL 证书到期了,怎么更换?