mcu实现屏幕共享

前言:mcu是因特尔公司一款开源视频代码,随着直播新起,安卓早已实现屏幕共享,以及录屏功能,在此,iOS已然落后一大步,目前iOS mcu中没有想关方法补足这个功能(或者本人没有查询到相关功能),这篇文章使用系统RPScreenRecorder应用内录屏,rtmp推流,最后mcu合成的方式间接实现屏幕共享功能。该功能可做私有化部署。

一.系统RPScreenRecorder应用内录屏

RPScreenRecorder开始录屏

1.CMSampleBufferRef 返回的参数可以分别处理音视频,写入文件就是录屏功能(后面会写相关文章)

2. [[RPScreenRecorder sharedRecorder] setMicrophoneEnabled:YES]; 这句话是打开录屏的音频流,注意⚠️代码添加的位置,需要在startCaptureWithHandler方法内部调用


RPScreenRecorder结束录屏

二.rtmp推流(参考链接:

https://www.jianshu.com/p/998d4495eb0b  

https://www.jianshu.com/p/4bc26a0a9bb0)

1.设置视频,音频参数


视频(分辨率,码率,帧数,H264压缩等级,关键帧间隔)


音频(声道数,码率,采样率)

2.连接服务器和socket


域名,端口(默认1935),输入流,输出流
发送包请求,连接rtmp服务器

3.获取视频流

录屏获取的CMSampleBufferRef参数

4.视频流编解码


video 图1
video 图2(接图1)
audio

5.打包推流(代码太多,结合demo查看吧)


三.rtmp流合入mcu

这部分工作由后台完成,mcu有相应方法,我不了解了。

结论:文章论述该功能还是多少不全面,一些用语也许词不达意,本人专业方面只是泛泛,如有不当之处,欢迎讨论指教,详细demo后续奉上,功能还在完善。

如需转载,请支持原创哦。

打完,手工

你可能感兴趣的:(mcu实现屏幕共享)