webrtc 给视频加特效 就是给视频加上指定的css 样式filter(在谷歌浏览器里使用-webkit-filter,IE里使用filter)

下面列出一些支持的特效种类

1.grayscale 灰度

2.drop-shadow 阴影

3.blur 模糊

4.invert 反色

5.hue-rotate 色相旋转

6.contrast 对比度

7.saturate 饱和度

8.brightness 亮度

9.sepia 褐色

10.opacity 透明度

示例

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>WebRTC capture video and audio</title><style>.none{-webkit-filter: none;} .blur{-webkit-filter: blur(3px);}.grayscale{-webkit-filter: grayscale(1);}.invert{-webkit-filter: invert(1);}.sepia{-webkit-filter: sepia(1);}.drop-shadow{-webkit-filter: drop-shadow(30px 10px 4px);}</style></head><body><div><label>audio input device</label><select id="audioinput"></select></div><div><label>audio output device</label><select id="audiooutput"></select></div><div><label>video input device</label><select id="videoinput"></select></div><div><label>filter</label><select id="filter"><option value="none">None</option><option value="blur">Blur</option><option value="grayscale">Grayscale</option><option value="invert">Invert</option><option value="sepia">Sepia</option><option value="drop-shadow">DropShadow</option></select></div><video autoplay playsinline id="player"></video><!-- autoplay:拿到视频源的时候直接播放playsinline:表示在浏览器中播放,而不是调用第三方工具--><script>var audioSource = document.querySelector("select#audioinput");var audiooutput = document.querySelector("select#audiooutput");var videoinput = document.querySelector("select#videoinput");var filterSelect = document.querySelector("select#filter");function gotDevices(deviceInfos){deviceInfos.forEach(item => {console.log(item);var option = document.createElement('option');option.text = item.label;option.value = item.deviceId;if(item.kind === "audioinput"){audioSource.appendChild(option);}else if(item.kind === "audiooutput"){audiooutput.appendChild(option);}else if(item.kind === "videoinput"){videoinput.appendChild(option);}})}function gotMediaStream(stream){var videoplay = document.getElementById('player');videoplay.srcObject = stream;return navigator.mediaDevices.enumerateDevices();}function handleError(err){console.log("error:"+err);}function start(){if(!navigator.mediaDevices || !navigator.mediaDevices.getUserMedia){console.log('getUserMedia is not support');return;}else{var deviceId = videoinput.value;console.log(deviceId);var constrains = {video : {width:640,height:480, frameRate:30,//宽高帧率可以设置成对象 {max:XX,min:XX} 这样系统会在你设置的范围内自动选择一个较好的facingMode:'enviroment',deviceId : deviceId ? deviceId : undefined},audio : {echoCancellation : true,noiseSuppression : true}}navigator.mediaDevices.getUserMedia(constrains).then(gotMediaStream).then(gotDevices).catch(handleError);}}start();videoinput.onchange = start;filterSelect.onchange = function(){document.getElementById('player').className = filterSelect.value;}</script></body>
</html>

WebRtc视频特效相关推荐

  1. 【webrtc】视频特效的添加(15)

    文档gitbook地址 文档github地址 invert none gray sepia //html <!DOCTYPE html> <html> <head> ...

  2. 手把手实现火爆全网的视频特效 “蚂蚁呀嘿”,太魔性了

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 导读 Hi,大家好,今天是周末,今天给各位读者分享最近很火的视频特效. 将会依据现有的demo,一步步 ...

  3. 那么多短视频特效,凭什么抖音出的这么火

    萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI 说到短视频特效,你或许第一时间会想到"抖音特效". 没错,抖音的特效似乎总是火到出圈,像用一段视频让你"重返三 ...

  4. 5分钟快速打造WebRTC视频聊天转

    原文地址: 5分钟快速打造WebRTC视频聊天 百度一下WebRTC,我想也是一堆.本以为用这位朋友( 搭建WebRtc环境 )的SkyRTC-demo 就可以一马平川的实现聊天,结果折腾了半天,文本 ...

  5. 机器学习帮助WebRTC视频质量评价

    本文来自CosMos Software创始人Alex. Gouaillard的博客,他同时为WebRTC.QUIC等标准组织工作.LiveVideoStack对原文进行了摘译. 文 / Alex. G ...

  6. 短视频APP开发:短视频特效SDK功能火爆来袭!

    为什么短视频这么火呢?因为它符合了用户碎片化时间的需求,既娱乐了大众,又不会浪费用户太多时间. 短视频APP开发以互联网技术为核心,在原有的基础上不断进行创新,进而拥有多种强大的拍摄功能,让用户可以快 ...

  7. webrtc 视频 demo

    webrtc 视频 demo webrtc网上封装的很多,demo很多都是一个页面里实现的,今天实现了个完整的 , A 发视频给 B A webrtc.html作为offer <!DOCTYPE ...

  8. 编辑视频贴纸软件_视频特效编辑软件下载-视频特效编辑器下载V10.9.93-西西软件下载...

    视频特效编辑器是一款非常不错的图片视频特效编辑应用.软件使用是完全免费的.视频特效编辑器app为您带来无与伦比的特效编辑.软件为用户提供了:配乐修改, 动感贴图,视频滤镜和特效,视频剪辑等功能.通过视 ...

  9. 怎么做视频特效?不妨试试抖音特效创作平台

    在这个信息满天飞的时代,如何吸引用户主动的去接收信息对于内容生产来说至关重要,从相关资料了解到,视频是目前大家最喜欢的信息呈现方式,一个有趣的视频可能会吸引成千上万用户的注意力.引爆整个网络场,为信息 ...

最新文章

  1. 安利7款珍藏已久的windows软件,每一个都非常强大
  2. 拆数,给定两个正整数m,n(m = n),将m拆成n个数相加...(游戏)
  3. 陆奇首批YC中国门徒:包鱼塘、画动漫、搞汽配…都用AI
  4. 搭建nginx服务、nginx的升级安装、Nginx配置文件的解析、web页面用户认证
  5. FreeRTOS 之 在Cortex-M中应用时的中断优先级设置
  6. java中集合的结构(list和map)
  7. 堆排序算法的实现 (冒泡排序)
  8. linux generic什么意思_Linux下ps aux中进程状态为Ss,S+, Rs,Ds是什么意思?
  9. VMware15.5安装Linux虚拟机(Centos7)图文教程
  10. JAVA开发一个合并单元格报表_9、docx4j实现动态表格(编程式)单元格合并
  11. 和秋叶一起学PPT之线条(课时六)
  12. 【复习笔记】画法几何与土木水利工程制图知识点总结
  13. imagenet ILSVRC2012下载及其matlab处理方法
  14. 虚幻引擎4总是遇到崩溃卡顿情况,这8个方法一定要试试
  15. 入侵检测系统 FAQ
  16. 2549. 【NOIP2011模拟9.4】家庭作业 (Standard IO)
  17. 清明祭扫html5,精选清明节扫墓随笔作文500字5篇
  18. 如何用PS制作电子邮票
  19. 参考文献中英文人名_参考文献英文名字应该怎么写?
  20. android 简单的贪吃蛇小游戏

热门文章

  1. Unity游戏开发:粒子系统
  2. L1-040 最佳情侣身高差 (10分)
  3. 完整版一元稀疏多项式计算器
  4. Java-----投票系统
  5. 论文阅读_Hawkeye: Towards a Desired Directed Grey-box Fuzzer
  6. Python爬虫网站图片并下载到本地
  7. 软件创新实验室:MySQL数据库与简单SQL语句使用
  8. 谷歌地图kml能透明吗_如何使用谷歌地图的KML文件快速计算面积
  9. poi导出excel详解
  10. 人工智能里你不知道的那些事!所有人都感兴趣的文章