开发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 相关注释代码里有,可以参考,如有问题可以在评论区留言。

相关文章
|
7月前
|
Web App开发 编解码 安全
【WebRTC 入门教程】全面解析WebRTC:从底层原理到Qt和FFmpeg的集成应用
【WebRTC 入门教程】全面解析WebRTC:从底层原理到Qt和FFmpeg的集成应用
3163 1
|
6月前
|
资源调度 JavaScript 前端开发
IM跨平台技术学习(十一):环信基于Electron打包Web IM桌面端的技术实践
这次借着论证 Web IM端 SDK 是否可以在 Electron 生成的桌面端正常稳定使用,我决定把官方新推出的 webim-vue3-demo,打包到桌面端,并记录了这次验证的过程以及所遇到的问题和解决方法。
105 2
|
4月前
|
Web App开发 Android开发
FFmpeg开发笔记(四十六)利用SRT协议构建手机APP的直播Demo
实时数据传输在互联网中至关重要,不仅支持即时通讯如QQ、微信的文字与图片传输,还包括音视频通信。一对一通信常采用WebRTC技术,如《Android Studio开发实战》中的App集成示例;而一对多的在线直播则需部署独立的流媒体服务器,使用如SRT等协议。SRT因其优越的直播质量正逐渐成为主流。本文档概述了SRT协议的使用,包括通过OBS Studio和SRT Streamer进行SRT直播推流的方法,并展示了推流与拉流的成功实例。更多细节参见《FFmpeg开发实战》一书。
78 1
FFmpeg开发笔记(四十六)利用SRT协议构建手机APP的直播Demo
|
7月前
|
网络协议 Linux 测试技术
音视频学习之rtsp推流学习1(rtspserver开源库example运行及流程梳理)
音视频学习之rtsp推流学习1(rtspserver开源库example运行及流程梳理)
428 0
|
7月前
|
缓存 Android开发 数据安全/隐私保护
【终极教程】Cocos2dx服务端重构(优化cocos2dx服务端)
Cocos2dx是一个非常流行的跨平台游戏引擎,开发者可以使用这个引擎来开发iOS、Android和Web游戏。同时,Cocos2dx还提供了一些服务器端工具,用于开发游戏的后端。然而,这些工具存在一些缺陷,需要进行优化和重构。本文将重点讨论如何优化和重构Cocos2dx服务器端的问题。
|
Java 定位技术 图形学
Unity客户端开发优化要点
Unity客户端开发优化要点
|
数据安全/隐私保护 iOS开发 开发者
iOS 逆向编程(三)实操 Jailbreak 详细流程
iOS 逆向编程(三)实操 Jailbreak 详细流程
253 1
|
缓存 Android开发
【开发一个简单的音乐播放器+服务端】【二】
【开发一个简单的音乐播放器+服务端】【二】
104 0
|
JSON Java 数据库连接
【开发一个简单的音乐播放器+服务端】【一】
【开发一个简单的音乐播放器+服务端】【一】
158 0
下一篇
DataWorks