webrtc原有视频捕获原理
1.使用webrtcvideocapturer作为videocapture
2.webrtcvideocapturer内部使用VideoCaptureDS作为source
3.VideoCaptureDS捕获到的数据在DeliverCapturedFrame函数中回调给webrtcvideocapturer的OnIncomingCapturedFrame处理

备注:webrtcvideocapturer仅用于开启捕获和处理结果并发送,VideoCaptureDS才是真正的视频捕获模块

桌面共享实现
1.原理
1.在addstream的时候使用自定义的capture,暂且命名为testvideocapture
2.testvideocapture启动截屏线程,截屏数据丢给父类的onframe处理
3.循环截屏

2.实现
1.继承videocapture,修改视频捕获start等方法为桌面抓屏相关操作
2.在线程中实现抓屏操作,将结果转为I420格式,提交给videocapture处理,并循环开启线程,达到桌面共享的目的

3.关键点
替换videotrack、循环抓屏实现桌面共享

4.遗留问题
1.尺寸为自定义尺寸
2.画面模糊

webrtc---桌面共享原理相关推荐

  1. WebRTC 桌面共享:

    webrtc  m74  desktop capture 代码分析: \webrtc\modules\desktop_capture\window_capturer_win.cc /** Copyri ...

  2. # Ubuntu 配置自带vnc桌面共享

    Ubuntu 配置自带桌面共享 1.在setting>>shareing>>remote 选择on 如果用ubunutu直接远程连接的话已经可以了, 2.在ubuntu下使用系 ...

  3. linux系统远程工具,分享|Remmina:一个 Linux 下功能丰富的远程桌面共享工具

    Remmina 是一款在 Linux 和其他类 Unix 系统下的自由开源.功能丰富.强大的远程桌面客户端,它用 GTK+ 3 编写而成.它适用于那些需要远程访问及使用许多计算机的系统管理员和在外出行 ...

  4. centos连接xrdp桌面黑屏_小鹅通|视频直播桌面共享模式|视频直播OBS使用教程

    点击蓝字关注我们 视频直播-OBS使用教程 应用场景 OBS直播主要用于与学员共享桌面的教学直播场景 配合网页工具完成完整课堂直播(网页端用于评论互动,OBS用于视频推流) 一.网页端使用教程 网页端 ...

  5. 计算机关闭远程桌面 共享功能,win7旗舰版系统优化禁止用远程桌面共享的解决方法...

    ‍ ‍windows7系统优化的时候,禁用远程桌面共享功能,一旦被禁用了用户就不能设置它或使用它来远程控制其计算机,遇上这种问题要怎么处理,那么接下来就一起看看win7旗舰版系统优化禁止用远程桌面共享 ...

  6. vnc远程linux命令,用VNC实现远程桌面共享(支持Windows, Linux, …) | 易水博客

    用VNC实现远程桌面共享(支持Windows, Linux, -) VNC,全称为Virtual Network Computing,它是一个桌面共享系统.它的功能,类似于windows中的远程桌面功 ...

  7. php qq远程桌面共享,新手学堂:用VNC实现远程桌面共享的方法

    VNC,全称为Virtual Network Computing,它是一个桌面共享系统.它的功能,类似于windows中的远程桌面功能.VNC使用了RFB(Remote FrameBuffer,远程帧 ...

  8. Android WebRtc 桌面投屏、视频源码

    Android WebRtc 桌面投屏.视频源码 Android/iOS/PC/Web 四大平台,可以说Android/Web得天独厚,几乎被Google给完全封装,C端只需建立好信令,架设好webs ...

  9. 视频会议turbomeeting支持高度灵活桌面共享

    美国RHUB通信作为全球领先的实时协作服务器供应商,推出的六合一网络会议加远程支持服务器turbomeeting可以支持高度灵活互动的桌面共 享,屏幕共享,程序共享和文件资料共享.也就是说,所以与会方 ...

  10. WebRtC视频jitterbuffer原理机制

    WebRTC视频JitterBuffer详解_一朵喇叭花压海棠的博客-CSDN博客_jitterbuffer本文从代码层面详细描述了WebRTC的视频JitterBuffer模块的主要功能模块,可以作 ...

最新文章

  1. linux账号管理命令,linux账号管理及相关命令和操作
  2. 商汤62篇论文入选CVPR 2019,一览五大方向最新研究进展
  3. python查数据库写入excel_【Python】将数据库中的数据查询出来自动写入excel文档...
  4. goland 设置project gopath
  5. zookeeper 密码_「附源码」Dubbo+Zookeeper 的 RPC 远程调用框架
  6. 调用iframe中的函数
  7. liniux备忘录-磁盘配额与进阶文件系统管理
  8. boolan 设计模式笔记
  9. 多时隙编码aloha(MuSCA)与编码时隙aloha(CSA)协议分析
  10. atitit.编程语言的未来趋势与进化结果
  11. keil 之Vscode编辑器插件、格式化代码插件和最新注册机分享
  12. 106572050018总是发彩信?实用办法关闭彩信提醒
  13. Shell中的括号、方括号、花括号、双括号和双方括号使用场景总结
  14. asp.net小区物业管理系统
  15. wps本地模板文件夹的位置
  16. Flutter系列之设置Dialog的宽度
  17. 要想学好平面设计,需要掌握一定的基本功和使用技巧
  18. 当阿里云服务器 ECS 访问不了公网 ip可能存在的原因以及如何解决的办法
  19. echarts基准线
  20. java pv uv_前端数据收集(pv/uv)

热门文章

  1. js设置禁止浏览器刷新,右键和F5键
  2. 2011 北邮计算机研究生各组分数线
  3. 摄影基础知识——焦点
  4. 石墨烯的晶格和能带结构
  5. 流量卡之家:物联网系统解决交通拥堵 全面开启未来绿色出行
  6. Vbox安装增强功能
  7. VMware-Esxi6.7各个版本镜像文件iso下载链接
  8. 什么是宝塔面板,跟服务器之间有什么特别联系?
  9. 用计算机绘制函数图像ppt,ppt怎么制作函数图
  10. Python初学者:输入若干整数,输出最大值及其索引