webrtc---桌面共享原理

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.画面模糊

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值