WebRTC[28]-一款非常简单的基于WebRTC的视频预览播放器(具有贴图、视频特效)

目录

前言

正文

1. 开启摄像头和麦克风

2. 增加播控按钮

3. 本地预览拍照

4. 保存预览照片

5. 显示贴图效果(封面)

6. 视频预览特效(多种效果)

6.1 曝光效果

6.2 悬浮立体效果

6.3 磨皮效果

6.4 反色效果

结论


前言

今天这篇文章给大家介绍一款非常简单的基于WebRTC采集端的视频预览播放器。

《WebRTC工作原理精讲》系列-总览

正文

我们需要做的是本地预览的视频播放器,那么首先肯定是要打开摄像头,然后显示播放器控制按钮,最后再增加一些辅助功能,比如拍照、保存照片、贴图、视频特效等。接下来,我们就具体看看某个环节的操作。为了保证演示效果,建议尝试的小伙伴使用chrome浏览器。

1. 开启摄像头和麦克风

打开摄像头可以使用WebRTC三大接口之一的getUserMedia方法来实现,具体可以参考如下代码:

let getUserMedia=(navigator.getUserMedia ||navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia);
    getUserMedia.call(navigator,{ video:true },function(localMediaStream){ let video =document.getElementById('video1');
        video.srcObject = localMediaStream;
    },function(e) { console.log("error: ",e);
    });

正常情况下,chrome浏览器会在左上角弹出授权提示框,让我们选择,此时,我们选择“允许”。

授权后,浏览器就打开了我们的摄像头,此时,我们会看到本地的视频预览画面,如下图所示:

当然,我们也可以在调用getUserMedia方法的时候,设置“audio=true”请求打开我们本地的麦克风。

2. 增加播控按钮

打开摄像头后,我们可以预览自己的本地视频,但是我们如何操作自己的摄像头和扬声器?如果我们想要控制自己的摄像头和扬声器,就需要设置一下 video 标签的另外一个属性设置:controls参数。具体使用情况可以参考如下代码:

<video id="video1" style="width: 400px; height: 300px" autoplay controls playsinline></video>

设置好后,我们再次启动播放器,我们就会发现视频预览画面多

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

WebRTC工作原理精讲 文章被收录于专栏

WebRTC 作为当下最热门的实时音视频通讯框架,涉及非常多的过程,比如采集、编码、组包、发包、传输、收包、丢包重传、解封装、解码、音视频同步、渲染等,同时还包括很多功能特性,比如ANS、AGC、AEC,REMB、GCC、CNG、FEC、PLI、SVC等,需要一点点深入理解其中的奥秘。

全部评论

相关推荐

05-03 12:45
西南大学 Java
nsnzkv:你这项目写的内容太多了,说实话都是在给自己挖坑,就算简历过了,后面面试也难受
点赞 评论 收藏
分享
头顶尖尖的程序员:我也是面了三四次才放平心态的。准备好自我介绍,不一定要背熟,可以记事本写下来读。全程控制语速,所有问题都先思考几秒,不要急着答,不要打断面试官说话。
点赞 评论 收藏
分享
24分钟1.自我介绍2.黑盒测试用例设计方法3.运用刚才的测试方法对手机端淘宝购物车结算页面进行测试4.测试流程5.需求文档没有标明边界值,怎么确定边界值,确定边界值后怎么测6.你们公司自动化测试是测业务主流程还是新需求反问:不足之处答:问答问题前思考3s再答,针对提问再答
一笑而过2222:边:边界值分析法(处理输入边界) 类:等价类划分法(划分有效 / 无效输入) 定:判定表法(多条件组合的逻辑判定) 因:因果图法(分析输入输出的因果关系) 迁:状态迁移法(覆盖系统状态转换路径) 场:场景法(模拟端到端业务流程) 正:正交试验法(多因素组合的测试优化) 错:错误推测法(基于经验推测潜在漏洞) 记忆逻辑链(按测试场景优先级排序) 先处理明确输入:边界值 + 等价类(边类) 再处理条件组合:判定表 + 因果图(定因) 接着处理状态与流程:状态迁移 + 场景法(迁场) 最后优化多因素与补漏:正交试验 + 错误推测(正错)
查看6道真题和解析
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务